我正在考虑在语法中设计类似于qbasic的语言,但更简单,以便新程序员可以学习一些编程,而不会被C,C ++或C#之类的东西所挫败。例如,使用
Write "Hello World"
而不是
PRINT "Hello World"
或
In "Enter your name"
Read = name
而不是
INPUT "Enter you name" name$
我正在寻找有关语法的更多建议。任何事都会非常感激。谢谢!
答案 0 :(得分:1)
假设您已经查看了其他预先存在的语言并发现他们想要......好吧,我很抱歉,但是您想要设计自己的语言,从而陷入了一个非常复杂的主题。定义良好(和支持)的语言,例如Logo,BBC BASIC(我个人最喜欢的)和(我3岁的孩子喜欢这个)Scratch都很容易上手。
假设您正在进行此操作,请查看Domain Specific Languages并考虑由着名的Martin Fowler等人购买the book of the same title(无会员链接)。
已修改为包含语法示例:
BBC Basic 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
划痕:
你需要真正看到可视化编辑器