编译原理:TINY语言的语法、词法单元与文法的最全总结 |
您所在的位置:网站首页 › r语言repeat改写成while › 编译原理:TINY语言的语法、词法单元与文法的最全总结 |
下面是一段YINY语言源代码: { Sample program in TINY language - computes factorial } read x; { input an integer } if 0 < x then { don't compute if x 和=。TINY的词法单元为: 词法单元类型 词法单元 词素(例) 关键字 (预定义符) IF if THEN then ELSE else END end REPEAT repeat UNTIL until READ read WRITE write 自定义符 ID myName NUM 123 运算符 ASSIGN := EQ = LT =TINY的文法为: 非终结符 含义 展开 program 程序 stmt_seq stmt_seq 若干条语句 stmt_seq SEMI stmt | stmt stmt 单条语句 if_stmt | repeat_stmt | assign_stmt | read_stmt | write_stmt | error if_stmt 判断语句 IF exp THEN stmt_seq END | IF exp THEN stmt_seq ELSE stmt_seq END repeat_stmt 循环语句 REPEAT stmt_seq UNTIL exp assign_stmt 赋值语句 ID ASSIGN exp read_stmt 输入语句 READ ID write_stmt 输出语句 WRITE exp exp 判断表达式 simple_exp LT simple_exp | simple_exp EQ simple_exp| simple_exp simple_exp 加减表达式 simple_exp PLUS term | simple_exp MINUS term | term term 乘除表达式 term TIMES factor | term OVER factor | factor factor 括号表达式 LPAREN exp RPAREN | NUM | ID | error 即: program->stmt_seq stmt_seq->stmt_seq;stmt stmt_seq->stmt stmt->if_stmt stmt->repeat_stmt stmt->assign_stmt stmt->read_stmt stmt->write_stmt stmt->error if_stmt->IF exp THEN stmt_seq END if_stmt->IF exp THEN stmt_seq ELSE stmt_seq END repeat_stmt->REPEAT stmt_seq UNTIL exp assign_stmt->ID:=exp read_stmt->READ ID write_stmt->WRITE exp exp->simple_expsimple_exp=simple_exp simple_exp->simple_exp+term simple_exp->simple_exp-term term->term*factor term->term/factor factor->(exp) factor->NUM factor->ID factor->error如果这篇文章对你有帮助,请给博主点个赞吧! 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_41112170/article/details/106880776 本文作者:乔卿 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |