- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种构建Java语言扩展的编译器框架.pdf
第33卷 第妙期 计 算 机 工 程 2007年10月
Vo L刀 八b.1夕 ComputerEn OCtoberZ栩)7
软件技术与救据库 文章鹅号:1伽“卜气到2侧2007)19一刁肠lse习3 文做标识砚,A 中圈分类号:TP311
一种构建Java语言扩展的编译器框架
张 显
(中国科学技术大学计算机科学技禾系,合肥23002力
摘 共:阉yg城是,种避免代码复制的、高度可扩展的编译器前端框架。用户只需扩展该框架,定义对抽象语法树、语义分析等的必要修
改,即可实现Java语言扩展。为指导用户在Poly目ot上快速开展工作,该文总结Polyglot的主耍流程和类体系,剖析其利用委托、访问者、
抽象工厂等实现可升级扩展的方法,简述了Polyglot的已有应用及应用步骤。
关健侧:可升级扩展;追;访问者;委托
Com PilerFrameworkforBuiIdingJavaLanguageExtensions
ZnANGYu
(D叩aj.11e山ofCompu姗SCienee 目川注1七d川ofo。、Un是, 1灯ofsc北n沈andTeclll们logyofChilla卜Hefei230027)
IA ‘扮歇1】FO妙吕笼011吕a拍9拍,exte璐1悦eco口piler几川1即df怕1”e*诫,whileavm 山ng〔冈eduplicati叨.u姗 功日yexte阔此 台仙lew诫 to
山6叱叨yn昭5田‘)ch日”脚 on曲5妞.口sy们taxl耽e明d胜mal”,can吻滋sfor imPlenlellti昭如guage既.ensi。胎.肠order加d让吧ctu哪 towl,rk
喇ithPolyglotfl忱d%the m目1。几,姗即dc!asshie呼 岭ofl,。】y目ot毗 犯川matIZ曰,朋dthe.祀thodo】09记softhesc哥曲七jcexte幻sibility哪
朋at。功iZed,迈认1云比阮 由leg而眠visitOrs助d曲51田cl阮torl。吮 。nPIOyed.冉。dtheu鸽5比psofP0ly目ot日ndthe 比】atedaPPlication晚5洲ed
迈anut如户,1
IK”叨ords万sc目由比ex比邢ibility;po5:visltOr;delegati二
在软件安全、新型语言设计等研究中,往往需要扩展现 就需要根据扩展需求,定义扩展的AsT并构造扩展的语法分
有的程序设计语言,构造编译器。构造和维护编译器是一项 析器。
繁杂的工作,要快速实现扩展语言比较困难。 Polyglot提供PpG(Polyglotparserge鱿rator)帮助快速建
为支持类Java语言的编译器构造,2佣3年Corn比大学 立语法分析器,它相当于CUP的预处理器,其代码在PPg包
研制了高度可扩展的编译器前端根架Polyglot,并为基语言 中。PPG 提供文法继承,用户只需将扩展语言相对于基语言
Java14实现了一个可扩展编译器11).在该框架下,通过定义 文法的变化集定义成pPg文件输入到PpG运行,即可得到描
对编译过程的必要修改(抽象语法树AST和语义分析等)可实 述该扩展语言完整文法的 ‘uP文件。Ppo文法是对CUP 文法
现语言扩展。Polyglot 的主要目标是可升级扩展(scal沛le 的扩展,增加的命令见表1。根据扩展的AsT,对PPG生成
以记叮而lity),即为实现扩展所需的编码量只与扩展语言和基 的cuP文件中的语义动作等进行修改,再将该文件输入到
语言间的差异成比例. CUP中运行,即可得扩展的语法分析器,
本文通过剖析 氏lyglot源码,总结其设计和实现体系及 襄IP陀文法枯式中
您可能关注的文档
- 《通信技术与标准》2011年第6期.pdf
- 《金版教程》2016届高考生物一轮总复习931限时规范特训.doc
- 《金融教学与研究》2015年第1期以高科技公共服务平台促进文化产业发展_袁方.pdf
- 《面向对象程序设计(C++)》双学位模拟题2.doc
- 《音响网络的构建传输与监控》试卷B卷.doc
- 《高度关注民生问题,预防社会危机,加快推进社会保障工作》试卷及答案,95分以上。.doc
- 《高级计算机网络》课程报告.王铭航.20131022.无线宽带接入技术.doc
- 》》项目2微生物发酵技术(任务3无菌空气制备).ppt
- 【04期】逻辑分析仪的协议分析.pdf
- 【ARM9嵌入式系统硬件设计指南】嵌入式系统.pdf
最近下载
- 湖北省总工会考试试题及答案.doc VIP
- 住院医师规范化培训-医学检验真题库_25.docx VIP
- 房贷提前还清协议书.docx VIP
- 公司治理教学课件(完整版).ppt VIP
- 青光眼小梁切除术.ppt VIP
- 药物设计软件:Discovery Studio二次开发all.docx VIP
- 2025年郑州澍青医学高等专科学校单招语文测试模拟题库汇编.docx VIP
- GTBO41100-2017B 项目运营手册成本弦.pdf VIP
- 2024-2025学年初中道德与法治七年级上册(2024)统编版(部编版)(2024)教学设计合集.docx
- 2025卫星互联网承载网技术白皮书.docx VIP
文档评论(0)