oleksii-pervusiak / IDEA-LangSupport

0 stars 0 forks source link

Edit Simple.bnf #2

Closed oleksii-pervusiak closed 9 years ago

oleksii-pervusiak commented 9 years ago

Описать грамматику, чтобы она понимала символ=число;

oleksii-pervusiak commented 9 years ago

Вроде получается. У меня большая проблема с пониманием любого символа @MichaelShumenko

oleksii-pervusiak commented 9 years ago

Вроде разобрался и теперь распознает WhiteSpace. Не хватало мне лексера для полного понимания) @MichaelShumenko

MikhailShumenko commented 9 years ago

@oleksii-pervusiak А что там было?

oleksii-pervusiak commented 9 years ago

Смотри какая фишка получается. Simple.bnf я не менял. И если запускать LivePreview на bnf. WhiteSpace так и не распознается... Для моего плагина проблема решается в _SimpleLexer.flex. Где есть такие строки: WHITE_SPACE=({LINE_WS}|{EOL})+

{ {WHITE_SPACE} { return com.intellij.psi.TokenType.WHITE_SPACE; }. Если смотреть Grammar.bnf, то там тоже ничего нет про WhiteSpace. Возможно ничего и не должно быть. Ведь в bnf мы определяем нетерминальные символы... А насколько я понимаю WHITESPACE - терминальный символ. Тем более эти строчки в лексере генерируются автоматом после Run JFlex Generator @MichaelShumenko
MikhailShumenko commented 9 years ago

@oleksii-pervusiak То есть с проблемой ты все таки не разобрался :)

1) В БНФ мы определяем и терминалы (точка с запятой, знак равно)