JAVA编程设计之Smalll BASIC

PRINT "This program demonstrates all features." www.rhsgdt.com
  FOR X = 1 TO 100
  PRINT X; X/2, X; X*X
  NEXT
  GOSUB 300
  PRINT "hello"
  INPUT H
  IF H<11 THEN GOTO 200
  PRINT 12-4/2
  PRINT 100
  200 A = 100/2
  IF A>10 THEN PRINT "this is ok"
  PRINT A
  PRINT A+34
  INPUT H
  PRINT H
  INPUT "this is a test ", y
  PRINT H+Y
  END
  300 PRINT "this is a subroutine"
   RETURN

  下面这个程序演示了子程序的嵌套调用过程:

  PRINT "This program demonstrates nested GOSUBs."
  INPUT "enter a number: ", I
  GOSUB 100
  END
  100 FOR T = 1 TO I
   X = X + I
   GOSUB 150
  NEXT
  RETURN
  150 PRINT X;
   RETURN

  接下来这个程序详细演示了INPUT语句的用法:

  PRINT "This program computes the volume of a cube."
  INPUT "Enter length of first side ", l
  INPUT "Enter length of second side ", w
  INPUT "Enter length of third side ", d
  t = l * w * d
  PRINT "Volume is ", t

  下面这个程序演示了嵌套的FOR循环:

  PRINT "This program demonstrates nested FOR loops."
  FOR X = 1 TO 100
   FOR Y = 1 TO 10
   PRINT X; Y; X*Y
   NEXT
  NEXT

  最后这www.rhsgdt.com个程序则使用了所有的关系运算符:

  PRINT "This demonstrates all of the relational operators."
  A = 10
  B = 20
  IF A = B THEN PRINT "A = B"
  IF A <> B THEN PRINT "A <> B"
  IF A < B THEN PRINT "A < B"
  IF A > B THEN PRINT "A > B"
  IF A >= B THEN PRINT "A >= B"
  IF A <= B THEN PRINT "A <= B"

对注释器履行增强和扩展

向SmalBA SIC注释器中增加语句并不复杂,可以或许仿照本章中已列出代码的个体花式。如果要增加不同的变量范例,那么必要成立一个新的类以保存该类型和变量的值,尔后再操纵该类型的对象数组来保存变量。

成立本身的计算机语言

对SmalBA SIC注释器履行增强或扩展,www.rhsgdt.com熟识SmalBA SIC把持和谈话注释器工作原理的一种好方法。但是您毋庸规模于BA SIC说话。采用本章中描述的注释器技术,可以或许编写出任何计算机语言的注释器,包孕Java说话的一个简化子集,甚至可以或许发明能反映自己编程气势和个性的说话。实际上,SmalBA SIC所采用的注释器框架,就是轨范员可能遇到对于任何范例的谈话特性的抱负的测试集”举例来说,向注释器中增加REPEA T/UNTIL循环语句必要遵照如下步调:

1增添REPEA T和UNTIL关键字,并为它定义响应的整型值;

2主循环中的switch语句中添加REPEA T和UNTIL语句;

3界说repeat和until体式格局分袂处置惩罚REPEA T和UNTIL语句首先挪用execForc和next

对于那些喜爱挑衅的轨范员来说,可以或许成立一种脚本语言,以自动执行分歧的计算使命,例如复制或者删除文件、编译轨范等。尔后为该谈话成立一个解释器。这样可以或许供给一种选择,来替代标准的批处理文件,本质上,您可以或许对注释器进行修改,从而完成定制的批处理任务。

posted @ 2011-05-18 17:36  feipanding  阅读(277)  评论(0编辑  收藏  举报