Итак, я пишу тело CFG для генерации компилятора через Sable CC, и в приведенных примерах есть " Start " и " End " в начале его программа и конец соответственно.
Пример кода
Start
Print 10;
int a,b;
End
Я полагаю, что они также являются токенами, потому что не будут появляться в Productions. Поэтому я написал их в грамматике следующим образом:
Tokens
number = ['0'...'9']+;
identifier = letter(letter|number)*;
opaddsub = '+' | '-';
opmuldiv = '*' | '/';
opsemicolon = ';';
opequal = '=';
parleft = '(';
parright = ')';
comma = ',';
blank = (' ' | 13 | 10 | 9 )+;
start = 'Start'
end = 'End'
Хотя я не уверен, и то, как я должен писать постановки, все еще меня озадачивает, я хочу получить помощь.