词法语法语义分析程序

选择部分C语言的语法成分或选择简单语言,采用递归下降的语法制导翻译技术,设计一个一遍扫描的词法语法语义分析程序。内容:设计并实现一个一遍扫描的词法语法语义分析程序,将多条简单赋值语句翻译成后缀式或三地址代码,要求有一定的出错提示和错误恢复功能。
摘要由CSDN通过智能技术生成

       选择部分C语言的语法成分或选择简单语言,采用递归下降的语法制导翻译技术,设计一个一遍扫描的词法语法语义分析程序。设计并实现一个一遍扫描的词法语法语义分析程序,将多条简单赋值语句翻译成后缀式或三地址代码,要求有一定的出错提示和错误恢复功能。

一 词法说明

 (1)关键字:begin if then while do end(都为小写)

 (2)运算符和界符:= + - * / < <= <> > >= = ; ( )  #

 (3)其它单词是标识符ID 和整型基数 NUM ,通过以下正规式定义:

      ID = letter (letter | digit)

      NUM = digit digit*

 (4)空格由空白,制表符以及换行符组成。一般用于分隔ID,NUM,运算,界符和关键字,词法分析阶段通常被忽略。

二 语法说明

(1)<程序>:: = begin<语句串>end

(2)<语句串>:: = <语句>{;<语句>}

(3)<语句>:: = <赋值语句>

(4)<赋值语句>:: = ID:= <表达式>

(5)<表达式>:: = <项>{&

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值