В настоящее время работаю с ANTLR и обнаружил что-то интересное, что не работает, как я планировал.
Я пытаюсь выполнить что-то вроде «test 10 cm» через мою грамматику, и это не удается, однако «test 10 c m» работает так же, как и предыдущий. Часть кода «cm» - это то, что я называю «целым блоком» в моей грамматике, и оно выглядит следующим образом:
wholeunit :
siunit
| unitmod siunit
| wholeunit NUM
| wholeunit '/' wholeunit
| wholeunit '.' wholeunit
;
То, что он делает сейчас, это часть правила unitmod siunit, где unitmod = c и siunit = m.
Что я хотел бы знать, так это как сделать так, чтобы грамматика по-прежнему следовала правилу «unitmod siunit» без необходимости пробела посередине, и я мог бы упустить что-то огромное. (Да, у меня есть пробелы и вкладки, помеченные для пропуска)