Неоднозначная грамматика в фазе разбора

Я хочу построить компилятор на своем родном языке, я написал грамматику и закончил фазу лексера. Мой вопрос в фазе синтаксического анализа - эта часть моего грамматика EBNF

       Statement      →     Block | Assignment | CallStatement | Declaration | 
                            inputStatement |outputStatement | IFStatement | WhileStatement

       CallStatement  →     Identifier { /[Expression/] }  {. Identifier } /( Arguments /)

       lefthand       →     Identifier { /[Expression/] }  {. Identifier { /[Expression/] } }

Я использую метод парсера рекурсивного спуска, моя проблема заключается в том, чтобы различать CallStatement и левый, как это решить, извиняюсь, если не могу объяснить идею:(

0 ответов

Другие вопросы по тегам