Язык Си в примерах/Калькулятор выражений в обратной польской нотации на Bison: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 5:
 
=== Файл с правилами <tt>bison</tt> ===
Примечание:
Пример реально удалось запустить...
НО... при выполнении этого примера в VM-Linux под SuSe-11.1 относительно оригинала статьи пришлось сделать следующие изменения:
1. В данный файл описания грамматики(после "#include <stdio.h>")
пришлось добавить прототипы ф-ий «yylex», «yyerror»(определенных в «main»).
2. Вместо команды «cpp» - трансляцию-сборку надо было выполнять при помощи «c++».
 
<code>
<!-- <source lang="bison"> -->
Строка 51 ⟶ 44 :
<!-- </source> -->
</code>
 
<tt>Примечание:</tt>
Пример реально удалось запустить...
НО... при выполнении этого примера в VM-Linux под SuSe-11.1 относительно оригинала статьи пришлось сделать следующие изменения:
 
1. В данный файл описания грамматики(после "#include <stdio.h>")
пришлось добавить прототипы ф-ий «"yylex»", «"yyerror»"(определенных в «main»).:
int yylex (void);
int yyerror (const char *s);
 
2. Вместо команды «cpp» - трансляцию-сборку надовсего былопримера пришлось выполнять при помощи команды «c++».
 
=== Файл на языке Си с функциями <tt>main</tt> и <tt>yylex</tt> ===