【原创】自制编程语言-9 嵌套if语句(1)
今天我们继续if语句的制作。在开始之前,我们先来分析一下。
我们可以用一个变量存放当前if的值。如果当前if为0,我们不执行任何东西,直到endif使得当前if为1.事实上,如果是嵌套的if,我们同样可以用这样的思路,只不过用一个栈即可。

我们发现,某一个语句是否执行,看的不仅仅是当前栈项的数,还要看之前是否有0.如果之前有一个0,这个语句就不可以执行。那么有人会问,能不能有一个不成立,直接跳过到最近的endif?不可以。

原先,if b>10不成立,应该和绿色箭头指向的语句配对,但是如果只找最近,我们就会找错,找到蓝色箭头指向的语句。
好了,思路明确,我们开始编写程序。首先,我们需要写一个栈。栈的代码,我们可以单独写进一个文件里,再include到我们的代码里。这样,这个代码就可以重复给多个项目使用,单独的功能写进单独的文件,看上去也会比较清晰。

栈的代码非常简单,top指栈顶指针,*num是存放数据的数组,用指针的形式动态分配。
完。至于if语句的代码,我们下期再见。
赞 (0)
