CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

谁有用TC开发basic语言的程序,提供代码或思路的都感谢!

楼主xhggg(xh)2004-05-04 10:08:58 在 C/C++ / C语言 提问

记得有本书上有这方面的例子,可是我看到的书是盗版的,而且时间久了不但看不清而且错误很多,我想学学开发语言的思路,希望指点。 问题点数:20、回复次数:15Top

1 楼freefalcon(心宇—消失中...)回复于 2004-05-04 10:20:10 得分 5

什么意思?  
  要做BASIC编译器吗?首先您得学习编译原理吧Top

2 楼xhggg(xh)回复于 2004-05-04 10:36:31 得分 0

书上写的很简单,分为两个部分  
  1为表达式词法分析  
  2为解释程序  
  但有些没有写全,我在网上也没有搜索到相关内容。  
  不是想做编译程序,而是解释程序,就是读一行执行一行的,语句不多只有10几个,就像basicA或GwBasic一样,只不过比这两个还要简单,也没有IDE。  
  程序我也输入完了,不少错误的部分也改完了,但执行起来还是不对。  
  问题可能出在词法分析上,而且PRINT命令还不完整。基本就是这样。Top

3 楼mme(dog)回复于 2004-05-04 15:06:50 得分 0

以前有人做过而且贴出来的,但是现在找不到了  
   
  有篇文章有介绍,说有个好像是荷兰的家伙,用10多20行C代码就做了个basic的编译器,挺过瘾的。Top

4 楼julyclyde(Java初学(大学不教只好自己学))回复于 2004-05-04 15:49:42 得分 0

www.cstc.net.cn  
   
   
  20行代码就做basic编译器是绝对不可能的。大概是front-end之类的东西吧?Top

5 楼great801225(白眉)回复于 2004-05-04 16:03:56 得分 0

先看一看程序解译和编译原理,这个对你会很有用的!不要勿略算法原理。Top

6 楼cngdzhang()回复于 2004-05-04 16:06:01 得分 10

看  
  梁肇新的<<编程高手箴言>>   P165  
  有一个比较完整的  
   
   
   
  Top

7 楼xhggg(xh)回复于 2004-05-09 09:56:44 得分 0

我看了一点<<编程高手箴言>>   ,在书店看的,不清楚print语句部分是否完整。  
  里面的程序就是我提到的Turbo   C大全上面的  
  请问谁有这本书的光盘,我想要里面的代码?哪里能下载这个光盘?谢谢了Top

8 楼xiaonian_3654(你猜猜(我要打光棍,小乔嫁不了))回复于 2004-05-09 10:00:36 得分 0

我有一个1536个字节的Basic解释器!  
  不过不是我写的,代码特别难懂,IOCCC上的获奖程序Top

9 楼xhggg(xh)回复于 2004-05-09 10:07:31 得分 0

谢谢你  
  我想要一份啊?  
  xhggg@21cn.com  
  Top

10 楼xhggg(xh)回复于 2004-05-09 10:42:48 得分 0

TO:  
      xiaonian_3654(你猜猜)    
   
  Top

11 楼conglingkaishi(请不要给我分)回复于 2004-05-09 10:53:51 得分 0

你指的是编译器还是编辑器?差距可大喽。编译器的话,你要学词法分析等编译原理知识;编辑器的话,调用别人的编译器就可以了,你要做的就是读,或者你做专业一点,来个语法高亮显示。Top

12 楼xhggg(xh)回复于 2004-05-09 11:12:00 得分 0

TO:  
      conglingkaishi(从零开始)    
  不是编译器或编辑器,而是解释器,小basic不需要ide,程序完成后,在命令行中打入名称,参数为你要解释的basic原程序,解释器就会一行一行的解释执行,如:  
  C:\>copy   con   a.bas  
  print   "This   is   a   s_basic   prog!"  
  input   "enter   a   number:",x  
  a=x*100  
  print   a  
  end  
  F6  
  C:\>sbasic   a.bas  
  Tis   is   a   s_basic   prog!  
  enter   a   number:5  
  500  
  C:\>Top

13 楼conglingkaishi(请不要给我分)回复于 2004-05-10 08:05:53 得分 0

恩?人家说要在TC下开发BASIC程序的例子,请问您这是不是DOS的SHELL?还是直接的DOS系统使用?Top

14 楼xhggg(xh)回复于 2004-05-10 09:39:41 得分 0

现在的问题是   print   语句无法计算表达试的值,输出字符串或变量没问题,如:  
  C:\>type   a.bas  
  input   a  
  print   a  
  print   a+10  
  C:\>sbasic   a.bas  
  ?65  
  65  
  C:\>  
   
  函数如下:  
    void   print()  
    {  
          int   answer;  
          int   len=0,spaces;  
          char   last_delim;  
   
          do   {  
              get_token();  
              if(tok==EOL   ||   tok==FINISHED)   break;  
              if(token_type==QUOTE)   {  
  printf(token);  
  len   +=   strlen(token);  
  get_token();  
              }  
              else   {  
  putback();  
  get_exp(&answer);  
  get_token();  
  len   +=   printf("%d",answer);  
              }  
              last_delim=   *token;  
   
              if(*token==';')   {  
  spaces=8-(len   %   8);  
  len   +=   spaces;  
  while(spaces)   {  
      printf("   ");  
      spaces--;  
  }  
              }  
              else   if(*token==','){  
  spaces=1-(len   %   1);  
  len   +=   spaces;  
  while(spaces)   {  
      printf("");  
      spaces--;  
  }  
              }  
              else   if(tok!=EOL   &&   tok!=FINISHED)   serror(0);  
          }while   (*token==';'   ||   *token==',');  
   
          if(tok==EOL   ||   tok==FINISHED)   {  
              if(last_delim   !=   ';'   &&   last_delim!=',')   printf("\n");  
          }  
          else   serror(0);  
   
    }  
  Top

15 楼yswift(眼睛)回复于 2004-05-10 13:26:04 得分 5

看看   lua   的原码,   他完全是用ANSI   C实现.  
  www.lua.orgTop

相关问题

  • 求助一段代码或思路
  • 求助代码或者思路~
  • 急~求实现思路及代码
  • 高分求实时消息的思路或者源代码!
  • 求极限的算法,思路和代码都可以!
  • 求停靠工具栏思路,代码,或者现有控件
  • asp向socket发消息,跪求思路,例子代码更好!
  • 不要代码,只求思路!!分批给分,进者皆有!!
  • 高分求 用网卡加密的 代码或思路
  • 求多个线程的管理思路或代码?

关键词

  • 编译器
  • 代码
  • basic
  • 语句
  • 编译原理
  • 程序
  • tok
  • token
  • 解释器
  • 词法

得分解答快速导航

  • 帖主:xhggg
  • freefalcon
  • cngdzhang
  • yswift

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo