| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:求助 给个思路也行 谢啦!
只看楼主 加入收藏
lk880307
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-7-13
收藏
 问题点数:0 回复次数:5 
求助 给个思路也行 谢啦!
背景
      编译程序将高级语言(如C++语言)“翻译”成计算机可以识别并执行的低级语言(如汇编语言),进而在计算机上执行。
目标
      设计一个简单的编译程序,将某种高级程序设计语言L用C语言进行编译并执行,即将L语言中的语句“翻译”成为C语言语句之后在C语言运行环境中执行得到结果。
L语言如下规定:

标识符
          标志变量或常量的名字,标识符由数字和字母组成,其第一个字母为字母;标识符区分大小写
数据类型
         Integer ,String
运算符

加:ADD(Integer型操作数1,Integer型操作数2),结果为Integer型
      如:Integer n1; n1 = 345;  n1 = ADD(n1, 12);  则 n1 = 357

减:SUB(Integer型操作数1,Integer型操作数2),结果为Integer型
      如:Integer n1; n1 = 345;  n1 = SUB(n1, 12);  则 n1 = 333

并:MERGE(String型操作数1,String型操作数2),结果为String型
      如:String str ;  str = “China”;  str = MERGE(str, “ win”);  则str = “China win”
语句
      语句以“;”结束;L语言的语句有:
定义语句
       格式:数据类型 变量或常量标识符;
    注:Integer类型默认值为0,String类型默认值为“”
       例: Integer stdNum;  String str;
赋值语句
       格式:变量 = 数值或表达式;  
       注:变量必须先定义才能进行赋值等操作;
      例:stdNum = 51;str = “China”;
              stdNum = SUB(stdNum, 12);
输出语句
      格式:Out(变量);  输出变量的值
      Out(变量+‘常量’);  原样输出单引号内的内容
      Out( ‘常量’+变量);
      Out(‘常量’+变量+ ‘常量’ );
具体要求
完成一个满足目标功能要求的可以独立运行的程序
程序读入名为03.in的文本文件获取输入数据
程序将处理结果输出到03.out的文本文件中

目标功能
将03.in中的L语句编译为C语言语句并将C语言语句的执行结果输出到03.out中
如果在编译过程中出现不符合L语句规则的错误情况时,将出错原因输出到03.out 中,其后的语句不再进行编译执行
可能出错原因:标识符命名错误;变量未定义;运算数类型不匹配;语句格式错误。

03.in 和 03.out处理示例
    03.in                03.out
        Out(‘Begin’);             Begin
        Integer n1;             12
        n1=12;                 str = ChinaWin
        Out(n1);                  type mismatch
        String str;            
               str=MERGE(str,"China");    
        str=MERGE(str,"Win");
        Out('str = '+str);
        str=MERGE(str,12);
        Out('str = '+str);
搜索更多相关主题的帖子: 思路 
2008-07-14 16:43
蓝色神话
Rank: 2
等 级:论坛游民
威 望:1
帖 子:404
专家分:24
注 册:2006-5-11
收藏
得分:0 
这是编译原理中的东西,你应该参考编译原理方面的书籍。这不是几句话就能说清楚的!
2008-07-14 16:54
小样儿
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-7-12
收藏
得分:0 
回复 1# lk880307 的帖子
真是巧了,你是ustber的吧,暑期实习?哈哈,哪儿班的
2008-07-14 17:15
lk880307
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-7-13
收藏
得分:0 
回复 3# 小样儿 的帖子
你也是吗?能教教我吗?
2008-07-14 20:20
水中无月
Rank: 1
等 级:新手上路
帖 子:190
专家分:9
注 册:2008-6-17
收藏
得分:0 
呵呵,我以前也想过这个问题,但是也是因为没思路而搁浅了……

十里平湖霜满天,寸寸青丝愁华年,对月形单望相互,只羡鸳鸯不羡仙.
2008-07-14 20:33
小样儿
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-7-12
收藏
得分:0 
回复 4# lk880307 的帖子
哈哈,我也不会呢,打算放弃啦
2008-07-14 22:23
快速回复:求助 给个思路也行 谢啦!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021780 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved