Я не могу на всю жизнь понять, почему альтернатива оставлена рекурсивной. Это действительно бросает ключ в мой парсер.Почему альтернативный символ грамматики ECMAScript RegExp остался рекурсивным?
Alternative :: [empty] Alternative Term
Здесь примечание в семантической части спецификации, которая не совсем ясна. Может быть, рассуждения будут раскрыты, как только я это пойму?
Примечания Последовательные Условия пытаются одновременно соответствовать последовательным частям входной строки. Если левой альтернативы, правильный срок, и Продолжение регулярного выражения у всех есть выбор точек, все варианты сиквел перебираются перед переходом на к следующему выбору в правом Term, и все варианты правый Термин попытался, прежде чем перейти к следующему в левой части альтернативы.
Какой парсер может правильно обработать левую рекурсивную грамматику?
Я считаю, что мой парсер известен как рекурсивный парсер спуска, и мне интересно, какой тип парсера будет использоваться без замены символов. * PS: В случае, если вы не заметили, я новичок в этом. * – ChaosPandion
Парсер, о котором я упоминал в своем ответе, yacc, является парсером LALR (1) (см. Http://en.wikipedia.org/wiki/LALR_parser). – psmears
Я собираюсь принять этот ответ, поскольку раньше я переключал символы вокруг и сталкивался с проблемами. Я просто не был уверен, может ли это привести к непредвиденным последствиям в моей окончательной реализации. – ChaosPandion