公开/公告号CN105446747A
专利类型发明专利
公开/公告日2016-03-30
原文格式PDF
申请/专利权人 江苏图码信息科技有限公司;
申请/专利号CN201511023552.5
发明设计人 王同超;
申请日2015-12-29
分类号G06F9/44;
代理机构
代理人
地址 224007 江苏省盐城市经济技术开发区希望大道南5号国际软件园4楼504室
入库时间 2023-12-18 15:07:46
法律状态公告日
法律状态信息
法律状态
2019-08-09
授权
授权
2016-04-27
实质审查的生效 IPC(主分类):G06F9/44 申请日:20151229
实质审查的生效
2016-03-30
公开
公开
技术领域
本发明涉及编码、编译器及编程技术领域,特别是涉及一种可视化几何成码器、立体码触屏编译器产品及其编程技术。
背景技术
目前常规的编程主要是程序员通过机器语言、汇编语言和高级语言编写程序代码对计算机系统进行指令,在目前信息量日益增大的今天,程序员的工作也愈发繁重,做一些软件时常都需要成千上万段的代码,重要的开发代码都需要程序员一个字母一个字母地敲进去,因此业内都把程序员称为“码农”,由此可看出程序员的工作有多繁重。目前的“可视化编程”有将C++改编的易语言,还有通过流程图来编写程序代码。不过,这种可视化编程还是需要编码人,很熟悉代码语句和编程规则,而且操作起来也不是很方便,工作量依然很大。这方面需要改进和进一步创新。
发明内容
本发明设计一种可视化立体码,来编码和编程,并用触屏操作的技术,来进一步解决上述提到的编程操作不方便及编程工作量巨大的现象。本可视化几何编码和立体码,以及触屏操作编程技术,是用显示屏中一条可视的立体编码链,表示一段常规代码,程序员只需要在电脑触屏上手动操作,将多条具有程序代码意义的立体编码链进行拼接,便轻松完成了程序的编写任务,省去了敲键写码的过程,更可以在平板电脑上操作,这减少了硬件负担,也减轻了程序员劳动,并具有人性化的编程体验,提高编程的速度和效率。
为了实现上述目的,创建了一种新型的编程操作软件即立体码编译器。该编程软件主要在触屏界面上实现,以一种特定的规律将常规数字、字母程序码,转化为几何编码链,同时将一些通用的几何编码链,收录在几何码类库中,供几何化编程或立体码转化时调用,这包括经常调用那些函数语句、逻辑语句、命名代码等等,如图1所示。
本发明中的立体几何码编程器语句适用范围是,基于如C语言、C++、C#等通用的编程软件运行的,基本语句结构没有变化。对于熟悉传统字母和数字编程的程序员,在操作使用前,只需要对其进行较为简单的技术培训,特别是对立体码链与常用语句的对应关系作一下了解,就可实施,无需耗费精力重新学习另一种编程语句。
本发明立体码编译器的释意功能设置:为了方便初学者操作使用或者一些较不常用的几何代码,在该立体码编译器的操作界面中,为每段码链设有文字释义,以提示、指导使用者。若是不熟悉或者忘记码链意义时,可以通过点击立体码体元素,自动跳出被点立体码元素或者展开一组立体码链,并显示具体几何编码的含义,如图1。
本发明可视化立体码触屏编程技术,还包括一种可视化几何成码器产品及其自动成码技术,该技术是由几何编码生成器中操作生成,如图2,并集成在立体码编译器中,其功能是将常规字母和数字程序代码,转化成为立体编码链需要的二维码链。
该自动成码技术原理是:通过统一的码盘,将多个同心圆分为若干等分,则取分成的类梯形弧的部分,作为二维几何编码的码元。将上述的码元编号,构成几何编码使用的码库,如图2所示几何编码生成器左下栏目中的码元序列1-7号。本发明中的几何编码,基本使用此码元实行编码,并用下面的规则、方案实现几何编码和程序转换。
1、编码规则:使用码库中的码元进行立体编码的条件是:①只有同盘或全等的两个码盘中的码元,才能序列化地用于本几何编程;②两等面间无缝拼接:任意两个码元组合时,都是由两码相等的长方形侧面或曲侧面,作无缝拼接,构成立体编码链;③双码立体组合与结构规律:(1)任两码元之间进行立体组合编码时,一个码元中的长曲面与另外一个码元的长曲面相连接时,为正排结构;(2)任两码元之间进行立体组合编码时,一个码元中的长曲面与另外一个码元中的短曲面相连接时,两者之间构成了反排结构。
2、在上述二维编码的基础之上,通过对平面编码链上码元,在统一的第三维度方向上,作等量度的拉伸,将原二维的几何码元及码链,改变成立体的码元或码链。
转变后的立体码链的排布结构,不改变原二维编码的排布结构及排码顺序,为使立体编码具有延展性或收缩效果,可以在代码的转换节点处,采用插入调整码来实现。本立体编码不仅具有程序表达和被机器执行的功能,其立体码链还具有存储信息功能与意义。
3、信息表示方案:立体码以码元的样式、颜色、排列组合方式、排布位数、选用码元的个数等方面,来表示信息,因此在程序编码的同时,能按需要或随机变化,使得选定的码元,在表示信息,并构造出样式丰富的非线性信息体造型。这在如图2编译器左边成码器中,所立的各项功能键和栏目中实现。
4、几何编码进制数表达:进制数,特别是二进制数,是当前计算机运行的基础代码。本立体码元,不仅能表达二进制,更能表达多进制数,有着丰富的码元供选取、组合使用。这在如图2几何编码生成器右边中部,有专门的进制数几何码生成按钮,供进制数间转换和生成进制数几何编码。
5、数字程序代码与几何代码间的转换:字母、数字代码转换成几何编码,首先将字母和数字代码转换成二进制,根据程序员或用户选取几何编码码元数量情况,采用与码元量相等或整数倍的进制数,来转换二进制代码,最后将转换后的进制数代码,转译成平面几何码链表达,如图2几何编码生成器右下方栏目,有专门将进制数字代码,转译成对应的几何编码链。如图3、5、7的样例。
6、程序平面码转立体码表达:采用三维成图软件,将程序平面编码,在统一的三维方向上,做出适合的等量拉伸,构造出整形的立体程序码链,该立体码链,可以是字节,也可以是一段程序语句。如图4、6、8所示的几何码转换。
以上述本发明的成码技术及编译器,在本说明书附图中呈现的几何编码事例,是采用4种码元,配上4种颜色,共8种表示元素,运用16进制算法,即8种表示的2倍,按照统一的排码规律,将字母和数字程序的二进制代码,转译成几何编码形式,并能够输出、显示在触屏幕上。
本发明可视化立体码触屏编译器产品,在操作和编程中,还具有如下的功能:
1、可视化触屏操作功能:将本发明编译器及立体码编程软件,植入到触屏设备当中,编程员通过手指拖动,来操作编译器控件和程序的立体码链。在触控屏的一侧,设置所有的编码链,并按照字母顺序隐藏在内库中,可以通过手指点击、选择旁边的选择栏让某个字母开头的编码链显示、展开,或拖动到触控屏的中央。之后可以将其通过手指操纵放大、缩小、旋转和拖动等动作,使其与其他语句编码链相接,完成几何化编程操作,如图1、图16所示。
2、立体程序编码的执行功能:本编译器生成并转化出的编码链,都是将一段程序固定代码转化为立体码链,其执行是通过将立体编码转换成进制数,再转换成二进制,在计算机中运行的。
3、智能检验功能:因基本程序都是数字码与几何码间的直接进制化转译,在检验程序运行过程中,不会存在编写的代码格式错误的问题,也省去了检查代码编写格式的过程。对于几何代码链排布方面的错误,本几何编程编译器可以智能化地让较为靠近的几句代码相互交换位置,并进行智能检验判断,对可能有的排码错位,进行自动检验排查和纠错。
4、自动收录入库功能:对于执行并检测过的程序码链,本编译器自动收录保存到码链库中标注,以备程序员在进行可视化编程的时,随时调用。
5、程序代码链的自动拼接功能:任意两条赋有运行、指令信息的码链之间,在触屏上完成组合操作时,只需要将两语句码链进行拼接,系统会自动插入可识别的连接符号,来完成。这在提高编程效率的同时,也减少了编程错误的发生,如图15、如图17。
6、本几何编程具有防伪和防攻击的特征:本发明几何码编程,不管程序长短,都是一条整体码链,并按次序运行,其中的各码链间没有分割,也没有漏洞,内部没有外界植入程序代码的空隙,减弱了外界病毒程序介入,有效地防止外界攻击,如图17。
如此,将程序形体化,能够减少程序被篡改和攻击,提高了程序安全。
附图说明
图1为本发明含有程序立体码语句类库的编译器示意图;
图2为本发明生成几何编码的编译器示意图;
图3为“namespace”的码链平面显示;
图4为“namespace”的码链立体显示;
图5为“求和100”的码链平面显示;
图6为“求和100”的码链立体显示;
图7为“class”的码链平面显示;
图8为“class”的码链立体显示;
图9为“Program”的码链平面显示;
图10为“Program”的码链立体显示;
图11为“intsum=0;”的码链平面显示;
图12为“intsum=0;”的码链立体显示;
图13为“intn=Convert.ToInt32(Console.ReadLine);”的码链平面显示图;
图14为“intn=Convert.ToInt32(Console.ReadLine);”的码链立体显示图;
图15为一段完整的可执行累加计算代码的语句立体码链按序排布图;
图16为通过手指触屏操作代码码链拼接的示意图;
图17为一段完整的可执行累加计算的代码码链组合成立体码链显示图。
具体实施方式
下面结合附图及具体实施例,对本发明作进一步说明:
如图2所示,为几何编码生成器示意图,该图揭示了码链的后台成型原理。通过这成码器,我们可以生成需要的码盘,对输入进去的编程语句,按照设置的拼码规则进行转换,生成确定的平面编码链,之后再将这些编码链立体化,形成需要的正确执行的立体语句码链,并存入到图1指定类库里。
参见图3和图4,为“namespace”的码链平面图示和立体图示,在自动成码器中输入“namespace”,会根据设置的转化规则,将“namespace”转化为图示平面图形,再通过三维软件将其转化为立体码链,如图4所示。
用相同的方法将“求和100”、“class”、“Program”、“intsum=0;”、“intn=Convert.ToInt32(Console.ReadLine);”这几句代码分别用上述方法转化为平面编码,再分别转化为立体码链,如图:5-6、7-8、9-10、11-12、13-14。
以上是类库中的各个立体码链的前置成码器与操作方法,在前台触屏中的码链类库中,均包含各个立体码链,并在触屏中以缩小化且加标签的形式出现,待编程人员拖动和拼接,该拼接可以插入连接码和结构调整码,使各个立体码链联系起来,即将各个语句的几何编码,按序编辑在同一条长码链上。本发明立体码编译器件,能自动识别并完成各个码链间的连接符号,不需要按照繁琐的规定格式进行编程,只需要程序员将立体码链拼接,便完成了整个程序几何代码的编译过程。如图1、如图17。
如图15所示的是在触屏的编程平台里,将要拼接的立体码链,全部从侧边的选择栏中选取到屏幕上。之后,如图16所示,用手指将这些选取好的立体语句码链,直接拖动并且拼接到一起,在拼接的同时还应用到代表连接符号的连接码,作为中间连接符,将两码链进行拼接。其间通过多个不含信息的结构调整码连接,使其转向拼接,拼接完成后显示,如图17所示,这样即完成了一段可执行的立体码程序的编写,该段可执行代码为
namespace求和100{classProgram{staticvoidMain(string[]args){intsum=0;
intn=Convert.ToInt32(Console.ReadLine());for(inti=1;
i<=n;
i++){sum+=i;
}Console.WriteLine(″1到{0}的和为{l}″,n,sum);
Console.ReadKey();
现在,这段代码完全由立体码链解析得出,其实际含义是计算1+2+3+…+100的得数,并输出结果。
综上所述,本发明可视化立体码触屏编译器产品及其编程技术,实现了几何化编码和可视化立体码编程,能够让程序员使用单手和双手触屏操作,完成编程工作,这极大地减少程序员的工作量和工作压力,推动了编程工作,向人性化和智能化发展。
同时,将程序代码转成形体代码,为程序安全运行提供了新的样版,能够减少外界程序病毒介入,有效防止程序被篡改和攻击,提高了程序安全。
机译: 通过将代码转换为包括并行处理指令的另一代码来优化代码的编译器方法和编译器设备
机译: 用于将中间语言字节码编译为Java字节码的编译器和软件产品
机译: 用于将中间语言字节码编译为Java字节码的编译器和软件产品