设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 其他开发语言 >> 关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码
精品推荐
其他开发语言点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·Modem 常用AT指令集
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
·Thinking in C++ 简体中文第二版
·debug和release的区别
·error LNK2001: unresolved external symbol __ftol2 错误解决
·C库函数手册
·一个简单的C语言编译器
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码

作者: 来源:网络文章 时间:2005-12-17 21:02:18

关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(6) }

/* find location of given label. A null is returned if
   label is not found; ohtherwise a pointer to the position
   of the label is returned.
*/
char *find_label(char *s)
{
    register int t;

    for (t=0;t<NUM_LAB;++t)
        if (!strcmp(label_table[t].name,s))  return label_table[t].p;
    return '\0';  /* error condition */
}


/* execute a GOTO statement. */
void exec_goto()
{
    char *loc;

    get_token();  /* get label to go to */
    /* find the location of label */
    loc = find_label (token);
    if (loc=='\0')
        serror(7);  /* label not defined */
    else prog=loc;  /* start program running at that time */
}


/* initialize the array that holds the labels.
   by convention , a null label name indicates that
   array posiiton is unused.
*/
void label_init()
{
    register int t;

    for (t=0;t<NUM_LAB;++t)  label_table[t].name[0]='\0';
}


/* execute an IF statement */
void exec_if()
{
    int x,y,cond;
    char op;

    get_exp(&x);  /* get left exapression */

    get_token();  /* get the operator */
    if (!strcmp("<>",*token)) {
        serror(0);  /* not a leagal oprator */
        return;
    }
    op = *token;
    get_exp(&y);  /* get right expression */

    /* determine the outcome */
    cond = 0;
    switch(op)  {

1.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(1)
2.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(2)
3.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(3)
4.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(4)
5.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(5)
6.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(6)
7.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(7)
8.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(8)
9.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(9)
10.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(10)
11.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(11)
12.关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码(12)
共12页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [128 :>

关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码 相关文章:
关于Basic程序解释器及编译原理的简单化(1)---Basic器的语法分析及主要代码 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com