0

我正在考虑设计一种在语法上类似于 qbasic 但更简单的语言,以便新程序员可以学习一些编程,而不会因 C、C++ 或 C# 之类的东西而气馁。例如,使用

Write "Hello World"

代替

PRINT "Hello World"

或者

In "Enter your name" 
Read = name

代替

INPUT "Enter you name" name$

我正在寻找有关我的语法的更多建议。任何事情都会非常感激。谢谢!

4

1 回答 1

1

假设您已经查看了其他预先存在的语言并发现它们想要......好吧,对不起,但是您想要设计自己的语言,从而进入了一个非常复杂的主题。定义明确(且受支持)的语言,如LogoBBC BASIC(我个人最喜欢的)和(我 3 岁的孩子喜欢这个)Scratch都非常容易上手。

假设您要继续进行此操作,请查看Domain Specific Languages并考虑购买著名的 Martin Fowler 等人的同名书籍(无附属链接)。

编辑以包含语法示例:

BBC 基本 RSS 提要阅读器

INSTALL @lib$+"XMLLIB"

      url$ = "http://feeds.bbc.co.uk/weather/feeds/rss/5day/id/2688.xml"
      XMLfile$ = @tmp$+"temp.xml"
      PROCurldownload(url$, XMLfile$)

      PROC_initXML(xml{}, XMLfile$)
      rss% = FN_skipTo(xml{}, "rss", 0)
      IF rss% THEN
        channel% = FN_skipTo(xml{}, "channel", rss%)
        IF channel% THEN
          IF FN_skipTo(xml{}, "title", channel%) THEN
            PRINT FN_repEnt(FN_nextToken(xml{}))
          ENDIF
          WHILE FN_skipTo(xml{}, "item", channel%)
            item% = FN_getLevel(xml{})
            IF FN_skipTo(xml{}, "title", item%) THEN
              PRINT 'FN_repEnt(FN_nextToken(xml{}))
            ENDIF
          ENDWHILE
        ENDIF
      ENDIF
      PROC_exitXML(xml{})
      END

标识:

FD 20    ; drawing a line and moving
PENUP    ; lifting the pen so it will not draw anything
FD 20    ; moving but not drawing
PENDOWN  ; lowering the pen so it draws again
FD 20    ; drawing a line and moving
PENUP    ; lifting the pen so it will not draw anything
FD 40    ; moving but not drawing
PENDOWN  ; lowering the pen so it draws again
RT 20    ; rotating right (clockwise) 20 degrees

刮:

你需要真正看到可视化编辑器

替代文字

于 2010-11-04T21:42:40.493 回答