从头开始制作编程语言/大括号问题
外观
在我创建我的语言过程中,我遇到的最基本的问题之一是大括号问题。因此,我将本章专门用于这个问题及其解决方案。
在大多数现代语言中,块语句由大括号 {} 终止。但是,多个语句共享大括号,例如 if、while、else、elseif、函数等。
因此,我面临的问题是:如何识别哪个语句属于结束大括号 }。请记住,在线 by 线输入方法中,我们只会得到 "}" 作为我们的行。思考了几天后,我终于找到了一个解决方案。
我们需要以更多的方式打开生成的输出文件。然后我们搜索格式为 !!? [块语句名称] 的注释。
如果该语句没有以 ??! [块语句名称] 终止。
那么它就是我们需要的语句。请注意,所需语句是最后一个打开的语句。
我们使用上述格式关闭此语句,并在代码中包含必要的指令。