Я искал реализацию контекстных бесплатных грамматик в java для выполнения некоторых операций над ними, связанных с курсом проектирования компиляторов, например, LL (1), разглашением SLR и тому подобным, и я нашел это implementation. Основной метод грамматики - это чтение грамматики из файла, где я пишу грамматику и код для ее анализа, проблема в том, что я не могу правильно писать грамматику для понимания кода, например, я не могу написать переход на epsilon всякий раз, когда я пишу epsilon
или ε
, он считается терминалом. Может кто-нибудь, пожалуйста, помогите мне написать грамматику в правильном направлении для кода, чтобы понять, например, эту грамматику:понимание реализации грамматики в java
E -> T E'
E' -> + T E' | epsilon
T -> F T'
T' -> * F T' | epsilon
F -> (E) | id
Похоже, что эта программа принимает только символы 'char' как имена (я забыл, что они должны быть вызваны), вы пытались изменить 'E'' на' e' и 'T'' на' T'? –