Это, наверное, один из тех известных примеров, которые где-то есть в интернете, но я не могу его найти.
Я пытаюсь изучить XText, и я подумал, что анализатор выражений калькулятора будет хорошим началом Но я получаю синтаксические ошибки в моей грамматике:
Expression:
Term (('+'|'-') Term)*;
Term:
Factor (('*'|'/') Factor)*;
Factor:
number=Number | variable=ID | ('(' expression=Expression ')');
Я получаю эту ошибку в строках Expression и Term:
Multiple markers at this line
- Cannot change type twice within a rule
- An unassigned rule call is not allowed, when the 'current'
was already created.
Что дает? Как я могу это исправить? И когда у меня есть instanceName=Rule
против Rule
записей в грамматике?