Мне нужно исправить программу, написанную на yacc (генератор синтаксического анализатора), чтобы она работала вместе с предоставленным файлом "lexer.l", чтобы создать небольшой интерпретатор (я не могу внести никаких изменений в lexer.l).И я нашел эту строку в файле lexer.l, которую я не знаю, как интерпретировать
вот неизвестные правила ...
%%
"::" { yycolumn + = yyleng; return (TYPESEPnumber); }
%%
Может ли кто-нибудь помочь мне понятькак "::"
работает в этом случае?Итак, следующая тестовая программа должна работать: программа xx имеет вид {
a :: int;
a = 5;
print "My job is to test the print function. Here is an int: " , 55 , " and the
value of var a: " , a;
}
Я мог бы заставить мой интерпретатор yacc работать с файлом, если бы тестовый файл был простым, как этот:
int a;
a = 5;
etc etc..
но не в этом взятии строк " a :: int; "
в моем тестовом файле.Помогите .. Спасибо!