-
2009-08-25关于as3写的dy(自定义)脚本解释器的心得 - [flash 游戏 3d]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://dayuhome.blogbus.com/logs/45034123.html
其实脚本解释器用像as3或者java这类语言来构建,是比较容易的,由于as3和java都是动态语言,内置了很多支持,外加内存回收和反射的存在.脚本和虚拟机之间几乎是没有任何障碍就可以互掉.性能的损失也可以通过一些手段来避免.
因此,自定义一个自己喜欢,用得舒畅的语言变得很有意思.
dy的关键字很少:var,new,class,function,if,while,break,return,trace
dy的运算符也很少:+,-,*,/,+=,-=,*=,/=,>,==,<,||,&&
dy使用LL(1)的语法,以下是该脚本语言的语法,非常简单:
CLASS ->class IDENT { DecList }
DecList ->varlist
DecList ->funclist
varlist ->var IDENT = EXP ; varlist
funclist ->func funclist
func ->function IDENT ( ParamList ) { stlist }
ParamList ->IDENT ParamRest
ParamRest ->, IDENT
ParamList
stlist ->st stlist
st ->if ( EXP ) { stlist }
st ->while ( EXP ) { stlist }
st ->var IDENT = EXP ;
st ->IDENT Assign EXP ;
st ->EXP ;
EXP ->Term LOP EXP
EXPList ->EXP EXPREST
EXPREST ->, EXP
Term ->facter ROP Term
facter ->gene MOP facter
gene ->IDENT
gene ->NUMBER
gene ->STRING
gene ->IDENT ( EXPList )
gene ->( EXP )
gene ->new IDENT ( )
Assign =
Assign +=
Assign -=
Assign *=
Assign /=
LOP and
LOP or
MOP +
MOP -
MOP *
MOP /
ROP >
ROP <
ROP >=
ROP <=
ROP ==随机文章:
奇迹之门开始技术封测(大型在线flashmmo) 2008-12-23as3实现的脚本解释器,该脚本语言命名为dy吧 2009-08-21mmo开始技术测试 2008-12-13flashmmorpg(即时),demo即将登场,先放出截图 2008-10-24宠物林效果,如果做成相册效果也许也不错 2008-07-12
收藏到:Del.icio.us







