Разработка компиляторов



         

Пример (продолжение)


Секция правил грамматики содержит правила для двух нетерминалов lines и expression. Правила для нетерминала lines порождают последовательность строчек входного потока, каждая из которых содержит одну формулу (нетерминал expression):

lines: lines expression '\n' { printf ("%I \n", &2); } | lines '\n' | /* empty */ ;

expression: NUMBER_LC { && = &1; } | '(' expression ')' {&& = &2; } | expression '+' expression {&& = &1+&2; } | expression '-' expression {&& = &1-&2; } | expression '*' expression {&& = &1*&2; } | expression '/' expression {&& = &1/&2; }

%%




Содержание  Назад  Вперед