【原创】自制编程语言-8 if语句

隔了几天,我们继续。上次说的get_string的问题,暂时放在一边,我们到时候会专门开一章做修改的。

今天我们的目标是if语句,这还是有点难度的,尤其是嵌套if语句,现在笔者已经不知道怎么去做了。算了,一点一点来吧。
if语句设计成这样:
if 条件
...
endif
没错,又是仿vb的风格。条件当中,也是表达式,所以这个功能也放进getnum里了。
这里就把“等于”写成=了,而不是==。毕竟,等号运算和赋值语句是放在两个模块里的,互不干扰。而且也不可以在表达式里进行赋值运算(但是C可以,例如while(*s++)这种东西)
然后是if语句实现的代码。
endifs是表示现在正在运行几个if语句。这个变量应该会在嵌套if里面起到大用处的。因为这样的语句:
if ...
if...
if...
endif
endif
endif
第一个If配对哪一个endif就要看endifs。要等到endifs为1时再配对,遇到第一个endif,此时endifs为3.当然,这些事情要等到过几天再说吧。
现在我们全部完成。运行如下代码,效果很好。
完。
(0)

相关推荐

  • 优美语句

    优美语句

  • 【原创】自制编程语言-6 输入语句

    现在我们的编程语言功能越来越多了,干劲也更足了,趁着这势头,我们继续写下去吧.这次我们来尝试编写输入语句.有了一个功能,加上运算符,我们就可以实现A+B问题了,真不错.输入语句的样式用很多,例如: C ...

  • 【原创】自制编程语言-7 注释&if语句初步

    这次我们尝试制作注释的功能.注释是几乎所有编程语言都有的功能.不同语言的注释符号也不尽相同.汇编语言的注释符号为":".C++的注释符号为"//".PYTHON ...

  • 【原创】自制编程语言-9 嵌套if语句(1)

    今天我们继续if语句的制作.在开始之前,我们先来分析一下. 我们可以用一个变量存放当前if的值.如果当前if为0,我们不执行任何东西,直到endif使得当前if为1.事实上,如果是嵌套的if,我们同样 ...

  • 【原创】自制编程语言-9 嵌套if语句(2)

    昨天干了一晚上的调试工作,这嵌套if可是真的烦. 首先先报告一些昨天的错误.(貌似昨天做的栈整个全部是错的)不运行不知道,一运行吓一跳. 这才是真正正确的代码.结构体指针的引用不可以用".& ...

  • 【原创】自制编程语言-1 最小编程语言

    一开始,不要想的太难,从最简单的开始,一点一点添加功能,到最后,你就会发现,结果就很像是一个完整的编程语言了. 首先,我们先抛开一切问题,先说说如何对这个编程语言进行编译或是解释.用编译型的语言实在是 ...

  • 【原创】自制编程语言-2 添加新功能

    现在我们可以添加一些新功能了.首先,我们现在的print无法输出换行,所以,我们需要增加一个转义字符\n来进行换行. else if(s[0]=='\"' && s[strl ...

  • 【原创】自制编程语言-3 变量定义

    这一次,我们来尝试制作变量.变量是基本上所有编程语言都有的功能.为了编辑起来方便,这里我制作的编程语言就必须先声明再使用,否则在赋值语句的时候可能会很麻烦. 定义变量的语句,每一个编程语言都是有不同的 ...

  • 【原创】自制编程语言-4 变量的输出

    这次我们来输出变量.输出变量需要两个函数,判断字符串是否为变量名,以及根据type来输出变量. int isvalue(const char *s){ for(int i=0;i<value_p ...

  • 【原创】自制编程语言-5 变量的赋值(1)

    首先我们先看这个函数: void put_value(const char *name){ for(int i=0;i<value_ptr;i++){ if(strcmp(value[i].na ...