cmm语言的bnf表示.txt
来自「参照清华大学《编译原理》写的cmm语言词法分析程序」· 文本 代码 · 共 44 行
TXT
44 行
<DIGIT> ::= 0|1|2|3|4|6|6|7|8|9<LETTER> ::= a|b|c…|X|Y|Z<AddOp> ::= +|-<MulOp> ::= *|/<AssignOp> ::= =<RelationOp> ::= ==|!=|<|<=|>|>=<Underline> ::= _<Type> ::= int|real<Identifier> ::= {<LETTER>(<DIGIT>|<LETTER>|<UNDERLINE>}<IntNumber> ::= <DIGIT>{<DIGIT>}<RealNumber> ::= {<DIGIT>}<DOT><DIGIT>{<DIGIT>}|<DIGIT>{<DIGIT>}<DOT>{<DIGIT>}<Factor> ::= Identifier() | Number() | <MINUS>Factor() | <LPAREN>Expression()<RPAREN> <Item> ::= <Factor>{<MultOp> <Factor>}<Expression> ::= <Item>{<AddOp><Item>}<VarDeclaration> ::= <Type> <VarDeclarationId> [ <AssignOp> <VarInitializer>]<VarDeclarationId> ::= <Identifier> {‘[‘’]’}<VarInitializer> ::= <ArrayInitializer>|<Expression><ArrayInitializer> ::= ‘{‘[<VarInitializer> {‘,’<VarInitializer>}]’}’<AssignStatement> ::= <Identifier>{‘[‘<Expression>’]’} <AssignOp> <Expression><Condition> ::= <Expression> <RelationOp> <Expression><ConditionStatement> ::= ‘if’’(‘ <Condition>’)’<Statement> { ‘else’’if’’(‘<Condition>’)’ <Statement>} [‘else’<Statement>]<WhileStatement> ::= ‘while’’(‘<Condition>’)’<Statement><ReadStatement> ::= ‘read’’(‘<Identifier>{‘,’<Identifier>}’)’<WriteStatement> ::= ‘write’’(‘<Expression>{‘,’<Expression>}’)’<CompoundStatement> ::= ‘{‘<Statement>{<Statement>}’}’<Statement> ::= <AssignStatement> | <ConditionStatement> | <WhileStatement> | <ReadStatement> | <WriteStatement> | <CompoundStatement><Program> ::= {ConstDeclaration}{VarDeclaration}{Statement}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?