сегодня я начал создавать свой первый язык программирования (скажем, это язык сценариев).Я создал различные функции:
- begin : Начало программы
- let (идентификатор): Назначает идентификатор целочисленной переменной
- be (целое число): Назначает целое число присвоенной переменной
- add (integer | identifier): Добавляет валюту к уже объявленной переменной
- в (идентификатор): Addsуказанная валюта с использованием add
- print (идентификатор): Печатает значение указанной переменной
- end : Конец программы
Вот пример структуры кода:
Program.om
start
let a be 2
let b be 3
add b to a
add 4 to a
print a
end
Теперь я хотел бы создать способ использования печати следующим образом:
print "This is some text"
, я хочу использовать print также для вывода текста.
Файл грамматики имеет следующую структуру:
Grammar.g4
grammar Grammar;
program : 'begin' statement+ 'end' ;
statement : assign | add | print ;
assign : 'let' ID 'be' (NUMBER | ID) ;
print : 'print' (NUMBER | ID) ;
add : 'add' (NUMBER | ID) 'to' ID ;
ID : [a-z]+ ;
NUMBER : [0-9]+ ;
WS : [ \r\n\t]+ -> skip;
Может ли кто-нибудь помочь мне в работе с текстом?Заранее спасибо.
PS: Как я могу делать операторы if / else, используя ANTLR4?