Questions tagged «interpreters»

3
跳过循环主体时,BASIC如何查找无序的NEXT语句
设置WABAC机器 Sherman。这个问题通常与BASIC有关,尤其与Microsoft的BASIC-80有关。老派基本。带行号。 当循环主体未执行且NEXT语句出现故障时,老式的BASIC解释器如何(或更确切地说,是)如何处理FOR ... NEXT循环? 与之前时间无序的NEXT语句: 这是David H. Ahl的“ 101基本计算机游戏”中Awari游戏的子例程: 200 K=M:GOSUB 600 205 E=0:IF K>6 THEN K=K-7 210 C=C+1:IF C<9 THEN F(N)=F(N)*6+K 215 FOR I=0 TO 5:IF B(I)<>0 THEN 230 220 NEXT I 225 RETURN 230 FOR I=7 TO 12:IF B(I)<>0 THEN E=1:RETURN 235 GOTO 220 这就是除流量控制之外的所有内容: 200 GOSUB …

5
基本语言的基本功能?DSL建议?
我终于开始理解创建解释器和编译器背后的复杂性。在达到这一点之前,我已经构建了TinyBasic,1964(Dartmouth)Basic的多个版本,并对这些语言进行了自己的扩展。最近的项目是一个我称为Open Source Basic的项目,因为我认为该语言没有其他会引起人们兴趣的功能。为了能够打开语言的源代码并了解如何完成某些复杂的事情(如何完成扫描,解析,解释和编译) 首先将Open Source Basic解释为基于堆栈的语言。然后,将基于该堆栈的语言立即进行解释和执行,或者将其转换为CLR可执行文件。 我的问题全部归结为: 基于Basic的语言的基本特征/构造是什么?我已经有了这些基本构造:赋值,表达式,变量,一些函数(Random,ToUpper,ToLower),循环(for和do-while / until),If(块和单行)其他决策,基于控制台的输入(输入),输出(打印)和子例程(尚无参数)。 当我“完成”将基本结构添加到我的语言中时,应该如何分支?进入哪个域?换句话说,一旦我使所有通用构造都起作用,我的开源基础语言应该朝哪个方向发展? 感谢您的时间, 多米尼克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.