欢迎来到天天文库
浏览记录
ID:36471109
大小:363.94 KB
页数:5页
时间:2019-05-11
《EQSACL编译器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、万方数据第15卷第11期。2005年11月微机发展MicrocomputerDevelopmentV01.15No.1lNov.2005EQSACL编译器的设计与实现吴彦平,郭贵锁,李锃(北京理工大学计算机科学与工程系,北京100081)摘要:EQS是由美国加州大学洛杉矾分校(UCLA)心理系教授PeterM.Bentler领导下的小组开发的一个面向应用分析人员的通用数据分析软件。其用户通常并非为计算机专业人士,使用传统语言编写程序过程繁琐,代码冗长,不利于分析人员的日常研究分析工作,尤其是对于一些涉及大量数值计算的工
2、作,故提供一个运算符丰富、语言简洁紧凑、使用方便灵活的开发语言势在必行。文中提出一种满足数据分析系统EQS的用户要求的代数计算语言ACL,并实现了其中的编译器模块。关键词:编译器;词法分析;语法分析;代码生成器中图分类号:TP314文献标识码:A文章编号:1005—375l(2005)11—0127—03DesignandImplementationofEQSACLCompilerWUYah—ping,GUOGui—SUO,LIZeng(ComputerScienceDepartment,BeijingInstitut
3、eofTechnolc罾y,Bdjing100081,China)Abstract:EQSsystemisageneraldataanalysissystemdevelopedbyProfessorPeterM.BentlerandhisworkgroupinUCLA.Theuso.xsofEQS&renotalwaysthecomputerscienceprofessionals,programmingint-,矗itionallanguageistoodiseommodiousnessforthemtodevote
4、theirmindindailyresearch.Acompact,flexiblelanguagewithsufficientarithmeticoperatorshasbeennecessary.ThispaperintroducesthedesignandimplementationofthealgebracalculatinglanguageACL.whichmeetstheexpectationsoftheuse“ofEQS.Keywords:compiler;lex;parsing;codegenerato
5、rO引言在科学研究和工程应用中,往往要进行大量的数学计算,其中包括矩阵运算。这些运算一般来说难以用手工精确和快捷地进行,而要借助计算机编制相应的程序做近似计算。目前流行用Basic,Fortran和C语言编制计算程序,既需要对有关算法有深刻的了解,还需要熟练地掌握所用语言的语法及编程技巧。对多数科学工作者而言,同时具备这两方面才能有一定困难。通常,编制程序也是复杂的,不仅消耗人力与物力,而且影响工作进程和效率。因此,设计一种适合相应领域的数学计算语言将会给领域应用带来极大的便利。EQSAlgebraCalculatio
6、nLanguage应运而生,它是适合EQS软件的计算机语言,它的编程运算将与人进行科学计算的思路和表达方式完全一致,语言简洁紧凑,使用方便灵活。在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如Matlab,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,如收稿日期:2005—01—07作者简介:吴彦平(1977一),男,浙江衢州人,硕士研究生,从事编译器的体系结构的设计研究。Mathematiea,Maple等,这类软
7、件以符号计算见长,能给出解析解和任意精度解,其缺点是处理大量数据时效率较低。EQS是领域应用软件,自身语言性能差,对数据处理不灵活,而以上软件没有与EQS的接口,并且在EQS领域应用方面不完善,不利于EQS的使用,因此需要为EQS设计一种语言和开发平台,充分利用上述软件成功技术,避免程序结构不开放、没有标准基库等一些缺陷,压缩不必要的编程工作。1编译器的自动生成编译器是计算机领域最重要的开发工具之一。迅速开发高质量的编译器对于计算机系统结构程序设计有重要意义。目前的编译器一般都是采用语法制导,分析部分的主要任务就是语法
8、结构的识别uJ。一个完善的编译器包括了扫描程序、语法分析程序、词法分析程序、语义分析程序、源代码优化程序、代码生成器、目标代码优化程序等部分【2J。其中语法分析器、词法分析器和语义分析器是编译器的基本组成。如果使用传统方法手工开发编译器,完成词法分析器、语法分析器等的设计工作,开发速度慢,任务繁重,开发周期将会很长。针对这一点,可
此文档下载收益归作者所有