4
以下代碼片段位於:http://zaach.github.io/jison/demos/calc/以及jison文檔頁面。在閱讀jison,lex和flex文檔之後 - 我仍然不完全瞭解%lex和/ lex語法。是否特定於jison掃描儀發生器?含義是它提供稍後在文檔中顯示的json輸出的唯一函數?我只問,因爲jison文檔沒有明確解釋它的用途,而flex/lex規則似乎不允許這樣的語法。jison中的%lex和/ lex行是什麼?
/* description: Parses end executes mathematical expressions. */
/* lexical grammar */
%lex
%%
\s+ /* skip whitespace */
[0-9]+("."[0-9]+)?\b return 'NUMBER';
"*" return '*';
"/" return '/';
"-" return '-';
"+" return '+';
"^" return '^';
"(" return '(';
")" return ')';
"PI" return 'PI';
"E" return 'E';
<<EOF>> return 'EOF';
/lex