Linux Bison聲明和文法
作者:佚名
這段文法與Bison手冊非常類似,不同之處在于它使用了名字作為終端符號和標識符的簡寫形式。標識符是在賦值語句中進行定義和初始化的,并且可以在任何允許使用的地方使用。
這段文法與Linux Bison手冊非常類似,不同之處在于它使用了名字作為終端符號和標識符的簡寫形式。標識符是在賦值語句中進行定義和初始化的,并且可以在任何允許使用的地方使用。下面給出了一個示例聲明和文法。
Linux Bison聲明
- /*terminalsymbols*/
- %token<string>IDENTIFIER
- %token<value>VALUE
- %type<value>expression
- /*operator-precedence
- *top-0:-
- *1:*/
- *2:+-
- */
- %leftADDSUB
- %leftMULTDIV
- %leftNEG
- %startprogram
示例Linux Bison文法
- program
- :statementSEMICOLONprogram
- |statementSEMICOLON
- |statementerrorSEMICOLONprogram
- ;
- statement
- :IDENTIFIERASSIGNexpression
- |expression
- ;
- expression
- :LBRACEexpressionRBRACE
- |SUBexpression%precNEG
- |expressionADDexpression
- |expressionSUBexpression
- |expressionMULTexpression
- |expressionDIVexpression
- |VALUE
- |IDENTIFIER
- ;
【編輯推薦】
責任編輯:chenqingxiang
來源:
中國IT實驗室