2012-05-27 1 views
2

Я пытаюсь выяснить правильный способ написать описание EBNF для C float literal.C float literals - определить в EBNF

Это единственная проблема, за которую я застрял. Я не уверен, как писать, потому что не плавает только тип? До сих пор я имею в виду, это может быть просто

float <literal>

Но это кажется слишком просто.

+1

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf См. §6.4.4 –

+2

Более конкретно, §6.4.4.2. (6.4.4 - константы в целом, 6.4.4.2 описывает плавающие константы) – icktoofay

+0

Спасибо, это намного сложнее, чем я изначально думал. – Meowbits

ответ

1

Да, с точки зрения анализатора, литиевый элемент с плавающей запятой, как правило, просто будет другим токеном.

Полагая, что конкретная последовательность входных символов была литералом с плавающей запятой, обычно выполнялась лексером. Это не так тривиально, как хотелось бы, но все же в значительной степени однострочный, используя регулярное выражение.

+0

Спасибо, некоторые из комментариев были лучше для поиска ответа, но у вас был единственный фактический «ответ», и он дает интересную информацию. – Meowbits