Я нахожусь в процессе разработки небольшого предметно-ориентированного языка.
В качестве генераторов сканера / парсера я использую Flex / Bisonc ++.
Теперь сгенерированный интерфейс DSL-компилятора способен анализировать восьмеричные, десятичные и шестнадцатеричные числа.
Единственное, что осталось, - это поддержка чисел с плавающей запятой (FPN), как указано в C / C ++.
Существует RegExp для синтаксиса числа с плавающей запятой в
http://rosettacode.org/wiki/Literals/Floating_point#C
а) Я знаю, что синтаксический анализ может быть выполнен в сканере и / или в анализаторе,
но я не знаю, что лучше - с точки зрения производительности и эффективности.
б) Одно дополнительное ограничение заключается в том, что я хочу избегать касания каждого символа ввода более одного раза, то есть я хочу избегать использования STL или других функций преобразования строк в плавающие
осуществляя преобразование на лету во время процесса синтаксического анализа.
Это возможно?