st-c#脚本编译器的研究和实现

st-c#脚本编译器的研究和实现

ID:32066654

大小:2.16 MB

页数:70页

时间:2019-01-31

st-c#脚本编译器的研究和实现_第1页
st-c#脚本编译器的研究和实现_第2页
st-c#脚本编译器的研究和实现_第3页
st-c#脚本编译器的研究和实现_第4页
st-c#脚本编译器的研究和实现_第5页
资源描述:

《st-c#脚本编译器的研究和实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、浙江工业大学硕士学位论文ST-C卿本编译器的研究和实现摘要在应用软件中嵌入一个脚本编译器,能使软件支持脚本语言,用户可以通过编写脚本程序来对软件进行二次开发,从而提升软件的功能,更符合用户的需求。这种软件有很好的扩充性和通用性。目前越来越多的应用软件基于.Net开发,作者设计了能提供给这些应用软件使用的ST-C#脚本语言,并在《股市神探》软件中成功应用。本文结合实践,阐述了笔者研究和开发ST-C#脚本编译器及其相关部件的过程。脚本语言的设计涉及到语言的定义、虚拟机代码的格式定义、编译器和虚拟机的开

2、发。对ST-C#脚本语言进行定义时,采用了类c柏勺语法,支持包含多种运算符、字符串、数组和函数的表达式运算,支持自由的程序书写风格、函数重载等。还定义了函数库的构造,将函数库分为内部函数库、系统函数库和用户函数库,使脚本语言达到实用要求。为了加快脚本程序的运行速度,需要将脚本程序转换成相应的虚拟机代码提供给虚拟机执行,一般的虚拟机指令系统包含了类似汇编指令的底层操作指令。为了降低编译器开发的难度和简化虚拟机的设计,在对虚拟机代码的格式定义时,设计了基于最小指令数量的虚拟机指令集,利用表达式树存放表

3、达式的编译结果,结果仅用四条指令就实现了程序的所有控制,虽然降低了表达式的运算速度,但也大大i浙江工业大学硕士学位论文降低了编译器和虚拟机的开发难度。●。‘还探讨了ST-C#脚本编译器将脚本语言编译成虚拟机代码的过程,分析了词法分析、语法分析和虚拟机代码生成时所采用的技术,由于虚拟机代码设计得比较抽象,编译器的整个实现都与运行环境无关,即相当于普通编译器的前端设计。而虚拟机则是对脚本语言的运行支持,ST-C#脚本语言的虚拟机分成指令解释器和表达式计算部件两部分,指令解释器负责脚本控制代码的执行,表

4、达式计算部件负责表达式的运算,这样分开设计的好处是虚拟机的设计大大简化,结构清晰。最后对内嵌了该脚本编译器的软件《股市神探》做了介绍,分析了脚本功能对该软件运行的支持过程,从而验证了ST-C#脚本编译器的实用性。’关键词:ST-C#脚本语言,虚拟机指令集,脚本编译器,虚拟机浙江工业大学硕士学位论文RES础岖CH√6心DIMPLI!ME全ⅡATIONOFST-C弹SCRIPTINGCOMPILERABSTRACTAnembeddedscriptingcompilercansuppoathescrip

5、tinglanguageintheapplicationsoftwareandsupportsecondarydevelopmentbyuser—definedscripts,thusbeaermeetstheusers’requirementsandimprovestheextensibilityanduniversalityofthesoftware.Furthermore,moreandmoreapplicationsaredevelopedbasedOilDotNetrecently.In

6、thispaper,ascriptingcompilernamed“ST-C#"’isdevelopedfortheabove—mentionedDotNetbasedsoftwareandimplementedinthe“StockSearching”softwaresuccessfully.Theinvolvedprocessesofdesigningascriptinglanguagecontaindefinitionsofthelanguage;formatofthevirtualmach

7、ine,thedevelopmentofthecompilerandvirtualmachine.Our“ST-C妒’languageissimilartotheC撑languageforthesyntaxandsuppoftsabundantoperationswithoperators,characterstrings,arraysandfunctions,thefreewritingstyle,functionoverloadingandSOOn.Moreover,tosupportreal

8、—time,the:塑堡三些奎竺堡主堂篁笙壅functionsofthe“ST-C#”aredividedintothreelibraries:intrinsicfunctionlibraries,systemicfunctionlibrariesanduser—definedlibraries.Inordertospeeduprunningscripts,scriptsshouldbechangedintovirtualmachinecodeandprovidedforthevi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。