论文部分内容阅读
摘要:NDQJava2是在NDQJava系统的基础上发展而来的,而计算机硬件的革新,也使得量子效应开始影响到电子元件,量子计算也会在不久的未来终将超越传统计算成为一种新型模式。对于量子程序的设计,应用到NDQJava2这种设计语言,这个系统是对NDQJava的创新,在原本的基础上增加了条件语句、循环语句、子程序、异常处理模块等量子成分,完善了NDQJava系统,使得语法分析更加准确。
关键词:NDQJava2;创新;程序设计;量子成分
中图分类号:TP311.52
量子程序设计语言NDQJava2处理系统,是借助于NDQJava的经典系统,加以相应的量子成分,在NDQJava2的处理系统中,是使用的层层递进的树形结构,把语法树来翻译成java代码,更加有利的实现语法的分析。
1认识NDQJava2语言
NDQJava2是在NDQJava的基础之上,增加了具有量子成分的条件语句、循环语句、子程序等进化而来,形成的是一种混合式的、结构化的量子程序设计语言。但是由于技术的限制,还没有真正的量子计算的问世,要进行NDQJava2设计语言,就要在传统计算机上进行模拟,由于NDQJava2和NDQJava一样,都是以Java为基础的,所有要采取从编译到解释的过程。在设计中,也遵循着NDQJava的原则:实用、简明、严谨、快速。
量子成分的条件语句,与Java语言的运用相类似,主要是为了解决在NDQJava在书写时没有固定的条件控制语句,时常需要在传统部分与量子部分之间进行切换作业,影响了程序效果。在NDQJava2的条件语句中,每一个作为变量的量子都能独立的使用一个使能量子,更加清晰合理。
量子成分的循环语句,在NDQJava2中会先进行判断,判断语句的真伪,如果证明为真,就进行量子程序表达式的循环,但如果证明为伪,就会终止循环。
量子成分的子程序,解决了程序书写时的重复问题。子程序应用于NDQJava2主要是分为定义、调用这两个部分,能有效减少语言的重复情况,在出现重复的计算时,就可以把相互重复的部分代码变为一个子程序,使程序结构变得更加清晰。
量子成分的异常处理,量子的程序设计语言,与传统的设计语言有一个很大的不同点,就是量子的变量性质。在量子的语言结构中,引起异常变化的因素非常多,比如:IF语句的使用,在条件满足的情况下进行,但在条件不满足的情况下就不能进行,就会引起异常情况,异常处理的模块就是专门应对这样的情况。
2NDQJava2系统功能
NDQJava2以其创新的设计,对NDQJava进行系统的优化,也是在Java语言的基础上,进行从编译到解释的过程。主要是在词法分析、程序汇编与解释、代码转换这几个领域作用突出。
2.1NDQJava2的词法分析功能
词法分析功能,是NDQJava2的第一大功能,主要是为了对NDQJava2源程序的单词进行识别,并形成单词的序列。由于现在完备的量子技术还没有真正实现,所以在NDQJava2中就包括传统和量子两个部分,本着对已有资源充分利用的原则,把传统经典的部分与量子的部分进行区别处理。
在传统经典的部分中,使用的是Java处理,量子部分出现的语法都默认为量子成分,自行设计。两部分别的要创建不同的文件夹进行保存,在运行时要进行判断为哪种部分,如果为量子部分,就利用量子成分的循环语句,进行文件的处理,处理后建立起语法树。如果经判断,为经典的部分,就由Java运行。NDQJava2系统中,语言的关键字和分解符都有独特的码与之一一对应,这就把源程序中所出现的单词,转化为单词序列,而标示符用量过大,无法实现一一对应,为了使用方便,就统一为一种码。并进行程序设计,需要使用以的下形式:
开始→NDQJava2源程序→预处理子系统(对多余信息进行删除)→扫描程序(对单词进行实际识别)→单词序列→结束。
2.2NDQJava2的程序汇编与解释功能
为了实现NDQJava2在传统计算机上书写量子的程序,就要设计假设的基本的指令集和汇编的指令集,并使用Java来编写相应的汇编程序、解释程序。
NDQJava2中,程序汇编功能是采用的分段汇编,将每一段汇编指令各自进行汇编,再集合起来,形成一个完整的汇编指令,在获取汇编指令以后需要使用command函数把指令输入到量子的汇编系统中,量子的汇编字符串就是command函数得参数。汇编字符串被空格分隔为多个子串,指令字符串上的第一个子串,就是操作码。根据获得的操作码,查找对应的操作数,生成指令。不同的指令所需要的操作数也各不相同,最后就需要把操作码与操作数进行合并,作为机器的指令向外输出。
程序的解释功能,就是对于机器的指令进行逐条的翻译过程,并执行计算。在程序的解释功能中,经过量子的汇编程序处理过的机器指令存入系统中,以指令地址分类,分为单地址和双地址,单地址的最高操作码位数为0,双地址的最高操作码位数为1。以此来获得准确的操作码。分析得到的操作码,调整与之相匹配的量子操作方法,根据操作数的两种分类:寄存器编码型和数值型,进行操作数据处理,汇集为参数输入函数处理。
2.3NDQJava2的代码转换功能
NDQJava2在进行代码转换的时候,首先要遵循相应的原则,主要是三方面:第一要确保转化的正确性,第二是机构程序要清晰、易读,第三就是要利用自身的Java系统,提高效率。
在进行代码转换时,采取树形的逐层转换,先转换低层次的代码,再由低层次的代码来转换高层次的代码,这就很大程度上保证了完整性和正确性。代码之间要层级明确,建立起一个明确的结构,每一个量子成分的代码都要有一个单独的函数,各个函数之间不能在功能上产生交叉和重复。函数之间可以进行上下级的调用,但不能在同级之间进行调用。在整个NDQJava2系统中,是采用建立语法树,转化为以Java语言编写的指令程序,在运用中,要分析整个语法树,对每一个量子模块都进行识别,调用代码的模块转换为函数,进行处理以达到生成的Java代码要包含汇编的指令。
经过本文的论述,主要是探讨了整个NDQJava2的技术理念:即在NDQJava的基础上,进行的发展和创新。以及技术的系统功能,可以预见的是量子程序设计语言NDQJava2处理系统已经是未来发展的主流,随着科技的进步,必将能真正的投入应用之中。
参考文献:
[1]刘玲,徐家福.量子程序设计语言NDQJava-2[J].软件学报,2011(2).
[2]徐家福,宋方敏,钱士钧,戴静安,张云洁.量子程序设计语言NDQJava[J].软件学报,2008(11).
[3]焦阳,吴楠,宋方敏.NDQJava语言处理系统量子汇编及解释程序[J].南京大学学报(自然科学版),2008(5).
关键词:NDQJava2;创新;程序设计;量子成分
中图分类号:TP311.52
量子程序设计语言NDQJava2处理系统,是借助于NDQJava的经典系统,加以相应的量子成分,在NDQJava2的处理系统中,是使用的层层递进的树形结构,把语法树来翻译成java代码,更加有利的实现语法的分析。
1认识NDQJava2语言
NDQJava2是在NDQJava的基础之上,增加了具有量子成分的条件语句、循环语句、子程序等进化而来,形成的是一种混合式的、结构化的量子程序设计语言。但是由于技术的限制,还没有真正的量子计算的问世,要进行NDQJava2设计语言,就要在传统计算机上进行模拟,由于NDQJava2和NDQJava一样,都是以Java为基础的,所有要采取从编译到解释的过程。在设计中,也遵循着NDQJava的原则:实用、简明、严谨、快速。
量子成分的条件语句,与Java语言的运用相类似,主要是为了解决在NDQJava在书写时没有固定的条件控制语句,时常需要在传统部分与量子部分之间进行切换作业,影响了程序效果。在NDQJava2的条件语句中,每一个作为变量的量子都能独立的使用一个使能量子,更加清晰合理。
量子成分的循环语句,在NDQJava2中会先进行判断,判断语句的真伪,如果证明为真,就进行量子程序表达式的循环,但如果证明为伪,就会终止循环。
量子成分的子程序,解决了程序书写时的重复问题。子程序应用于NDQJava2主要是分为定义、调用这两个部分,能有效减少语言的重复情况,在出现重复的计算时,就可以把相互重复的部分代码变为一个子程序,使程序结构变得更加清晰。
量子成分的异常处理,量子的程序设计语言,与传统的设计语言有一个很大的不同点,就是量子的变量性质。在量子的语言结构中,引起异常变化的因素非常多,比如:IF语句的使用,在条件满足的情况下进行,但在条件不满足的情况下就不能进行,就会引起异常情况,异常处理的模块就是专门应对这样的情况。
2NDQJava2系统功能
NDQJava2以其创新的设计,对NDQJava进行系统的优化,也是在Java语言的基础上,进行从编译到解释的过程。主要是在词法分析、程序汇编与解释、代码转换这几个领域作用突出。
2.1NDQJava2的词法分析功能
词法分析功能,是NDQJava2的第一大功能,主要是为了对NDQJava2源程序的单词进行识别,并形成单词的序列。由于现在完备的量子技术还没有真正实现,所以在NDQJava2中就包括传统和量子两个部分,本着对已有资源充分利用的原则,把传统经典的部分与量子的部分进行区别处理。
在传统经典的部分中,使用的是Java处理,量子部分出现的语法都默认为量子成分,自行设计。两部分别的要创建不同的文件夹进行保存,在运行时要进行判断为哪种部分,如果为量子部分,就利用量子成分的循环语句,进行文件的处理,处理后建立起语法树。如果经判断,为经典的部分,就由Java运行。NDQJava2系统中,语言的关键字和分解符都有独特的码与之一一对应,这就把源程序中所出现的单词,转化为单词序列,而标示符用量过大,无法实现一一对应,为了使用方便,就统一为一种码。并进行程序设计,需要使用以的下形式:
开始→NDQJava2源程序→预处理子系统(对多余信息进行删除)→扫描程序(对单词进行实际识别)→单词序列→结束。
2.2NDQJava2的程序汇编与解释功能
为了实现NDQJava2在传统计算机上书写量子的程序,就要设计假设的基本的指令集和汇编的指令集,并使用Java来编写相应的汇编程序、解释程序。
NDQJava2中,程序汇编功能是采用的分段汇编,将每一段汇编指令各自进行汇编,再集合起来,形成一个完整的汇编指令,在获取汇编指令以后需要使用command函数把指令输入到量子的汇编系统中,量子的汇编字符串就是command函数得参数。汇编字符串被空格分隔为多个子串,指令字符串上的第一个子串,就是操作码。根据获得的操作码,查找对应的操作数,生成指令。不同的指令所需要的操作数也各不相同,最后就需要把操作码与操作数进行合并,作为机器的指令向外输出。
程序的解释功能,就是对于机器的指令进行逐条的翻译过程,并执行计算。在程序的解释功能中,经过量子的汇编程序处理过的机器指令存入系统中,以指令地址分类,分为单地址和双地址,单地址的最高操作码位数为0,双地址的最高操作码位数为1。以此来获得准确的操作码。分析得到的操作码,调整与之相匹配的量子操作方法,根据操作数的两种分类:寄存器编码型和数值型,进行操作数据处理,汇集为参数输入函数处理。
2.3NDQJava2的代码转换功能
NDQJava2在进行代码转换的时候,首先要遵循相应的原则,主要是三方面:第一要确保转化的正确性,第二是机构程序要清晰、易读,第三就是要利用自身的Java系统,提高效率。
在进行代码转换时,采取树形的逐层转换,先转换低层次的代码,再由低层次的代码来转换高层次的代码,这就很大程度上保证了完整性和正确性。代码之间要层级明确,建立起一个明确的结构,每一个量子成分的代码都要有一个单独的函数,各个函数之间不能在功能上产生交叉和重复。函数之间可以进行上下级的调用,但不能在同级之间进行调用。在整个NDQJava2系统中,是采用建立语法树,转化为以Java语言编写的指令程序,在运用中,要分析整个语法树,对每一个量子模块都进行识别,调用代码的模块转换为函数,进行处理以达到生成的Java代码要包含汇编的指令。
经过本文的论述,主要是探讨了整个NDQJava2的技术理念:即在NDQJava的基础上,进行的发展和创新。以及技术的系统功能,可以预见的是量子程序设计语言NDQJava2处理系统已经是未来发展的主流,随着科技的进步,必将能真正的投入应用之中。
参考文献:
[1]刘玲,徐家福.量子程序设计语言NDQJava-2[J].软件学报,2011(2).
[2]徐家福,宋方敏,钱士钧,戴静安,张云洁.量子程序设计语言NDQJava[J].软件学报,2008(11).
[3]焦阳,吴楠,宋方敏.NDQJava语言处理系统量子汇编及解释程序[J].南京大学学报(自然科学版),2008(5).