Scala: Используя StandardTokenParser для парсинга шестнадцатеричных чисел

Я использую Scala комбинаторный синтаксический анализатор путем расширения scala.util.parsing.combinator.syntactical.StandardTokenParser. Этот класс предоставляет следующие методы

def ident : Parser[String] для парсинга идентификаторов и

def numericLit : Parser[String] для парсинга числа (десятичное число я предполагаю),

Я использую scala.util.parsing.combinator.lexical.Scannersот scala.util.parsing.combinator.lexical.StdLexicalдля lexing.

Мое требование состоит в том, чтобы проанализировать шестнадцатеричное число (без 0x префикс), который может иметь любую длину. В основном грамматика как: ([0-9]|[a-f])+

Я пытался интегрировать синтаксический анализатор Regex, но там существуют проблемы типа. Другие способы расширить определение разделителя лексического анализатора и грамматических правил приводят к маркеру, не найденному!

6
задан thequark 13 August 2010 в 16:50
поделиться