CN105446747B - 一种可视化立体码触屏编译器与编程技术 - Google Patents

一种可视化立体码触屏编译器与编程技术 Download PDF

Info

Publication number
CN105446747B
CN105446747B CN201511023552.5A CN201511023552A CN105446747B CN 105446747 B CN105446747 B CN 105446747B CN 201511023552 A CN201511023552 A CN 201511023552A CN 105446747 B CN105446747 B CN 105446747B
Authority
CN
China
Prior art keywords
code
chain
dimensional
compiler
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511023552.5A
Other languages
English (en)
Other versions
CN105446747A (zh
Inventor
王同超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Marktool Information Technology Co Ltd
Original Assignee
Jiangsu Marktool Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Marktool Information Technology Co Ltd filed Critical Jiangsu Marktool Information Technology Co Ltd
Priority to CN201511023552.5A priority Critical patent/CN105446747B/zh
Publication of CN105446747A publication Critical patent/CN105446747A/zh
Application granted granted Critical
Publication of CN105446747B publication Critical patent/CN105446747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本发明可视化立体码触屏编译器产品及其编程技术,实现了可视化几何编码和立体码编程,能够让程序员使用单手和双手触屏操作,完成编程工作,这极大地减少程序员的工作量,推动编程工作向人性化和智能化发展。本发明新型几何成码器和立体码编译器,内置技术有:生成码盘与选取码元、编码规则、信息表示、进制数表达、数字与几何代码间的转换、平面码转立体码等;编译器的功能有:触屏功能、程序立体编码、立体码释意功能、智能检验功能、编码自动入库功能、立体代码链的自动拼接功能等。本发明将程序代码转成形体代码,为程序安全运行提供新样版,各码链间没有分割,没有漏洞让外界病毒程序码植入,有效阻止程序被篡改和攻击,提高了程序安全。

Description

一种可视化立体码触屏编译器与编程技术
技术领域
本发明涉及编码、编译器及编程技术领域,特别是涉及一种可视化几何成码器、立体码触屏编译器产品及其编程技术。
背景技术
目前常规的编程主要是程序员通过机器语言、汇编语言和高级语言编写程序代码对计算机系统进行指令,在目前信息量日益增大的今天,程序员的工作也愈发繁重,做一些软件时常都需要成千上万段的代码,重要的开发代码都需要程序员一个字母一个字母地敲进去,因此业内都把程序员称为“码农”,由此可看出程序员的工作有多繁重。目前的“可视化编程”有将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为“int sum=0;”的码链平面显示;
图12为“int sum=0;”的码链立体显示;
图13为“int n=Convert.ToInt32(Console.ReadLine);”的码链平面显示图;
图14为“int n=Convert.ToInt32(Console.ReadLine);”的码链立体显示图;
图15为一段完整的可执行累加计算代码的语句立体码链按序排布图;
图16为通过手指触屏操作代码码链拼接的示意图;
图17为一段完整的可执行累加计算的代码码链组合成立体码链显示图。
具体实施方式
下面结合附图及具体实施例,对本发明作进一步说明:
如图2所示,为几何编码生成器示意图,该图揭示了码链的后台成型原理。通过这成码器,我们可以生成需要的码盘,对输入进去的编程语句,按照设置的拼码规则进行转换,生成确定的平面编码链,之后再将这些编码链立体化,形成需要的正确执行的立体语句码链,并存入到图1指定类库里。
参见图3和图4,为“namespace”的码链平面图示和立体图示,在自动成码器中输入“namespace”,会根据设置的转化规则,将“namespace”转化为图示平面图形,再通过三维软件将其转化为立体码链,如图4所示。
用相同的方法将“求和100”、“class”、“Program”、“int sum=0;”、“int n=Convert.ToInt32(Console.ReadLine);”这几句代码分别用上述方法转化为平面编码,再分别转化为立体码链,如图:5-6、7-8、9-10、11-12、13-14。
以上是类库中的各个立体码链的前置成码器与操作方法,在前台触屏中的码链类库中,均包含各个立体码链,并在触屏中以缩小化且加标签的形式出现,待编程人员拖动和拼接,该拼接可以插入连接码和结构调整码,使各个立体码链联系起来,即将各个语句的几何编码,按序编辑在同一条长码链上。本发明立体码编译器件,能自动识别并完成各个码链间的连接符号,不需要按照繁琐的规定格式进行编程,只需要程序员将立体码链拼接,便完成了整个程序几何代码的编译过程。如图1、如图17。
如图15所示的是在触屏的编程平台里,将要拼接的立体码链,全部从侧边的选择栏中选取到屏幕上。之后,如图16所示,用手指将这些选取好的立体语句码链,直接拖动并且拼接到一起,在拼接的同时还应用到代表连接符号的连接码,作为中间连接符,将两码链进行拼接。其间通过多个不含信息的结构调整码连接,使其转向拼接,拼接完成后显示,如图17所示,这样即完成了一段可执行的立体码程序的编写,该段可执行代码为
namespace求和100{class Program{static void Main(string[]args){int sum=0;
int n=Convert.ToInt32(Console.ReadLine());for(int i=1;
i<=n;
i++){sum+=i;
}Console.WriteLine(″1到{0}的和为{l}″,n,sum);
Console.ReadKey();
现在,这段代码完全由立体码链解析得出,其实际含义是计算1+2+3+…+100的得数,并输出结果。
综上所述,本发明可视化立体码触屏编译器产品及其编程技术,实现了几何化编码和可视化立体码编程,能够让程序员使用单手和双手触屏操作,完成编程工作,这极大地减少程序员的工作量和工作压力,推动了编程工作,向人性化和智能化发展。
同时,将程序代码转成形体代码,为程序安全运行提供了新的样版,能够减少外界程序病毒介入,有效防止程序被篡改和攻击,提高了程序安全。

Claims (4)

1.一种可视化立体码触屏编译器,触屏编译器具有的功能为:①信息表示功能:通过码元的样式、颜色、排列组合方式、排布位数、选用码元的个数这几个方面来表示信息;②进制数表达功能:有专门的进制数几何码生成按钮,供进制数间转换和生成进制数几何编码,成码器中有着丰富的码元供选取、组合使用,不仅能表达二进制,更能表达多进制数;③数字代码与几何代码间的转换功能:首先将字母和数字代码转换成二进制,再根据程序员或用户选取几何编码码元数量情况,采用与码元数量相等或整数倍的进制数,来转换二进制代码,最后将转换后的进制数代码,转译成平面几何码链表达或立体码链;④可视化触屏操作功能:将编译器,植入到触屏设备当中,编程员通过手指拖动,来操作编译器控件和程序的立体码链;在触控屏的一侧,设置所有的编码链,并按照字母顺序隐藏在内库中,可以通过手指点击、选择旁边的选择栏,让某个字母开头的编码链显示、展开,或拖动到触控屏的中央;之后,可以将其通过手指操纵放大、缩小、旋转和拖动动作,使其与其他语句编码链相接,完成立体化编程操作;⑤立体程序编码的执行功能:所述编译器生成并转化出的编码链,都是将一段程序固定代码转化为立体码链,其执行是通过将立体编码转换成进制数,再转换成二进制,在计算机中运行的;
使用触屏编译器,实现平面码转立体码,能够输出编程用的立体码,并操作立体码进行编程,让程序员使用单手和双手触屏操作,完成编程工作,实现可视化几何化编码和立体码编程;在触屏界面上,将一些通用的几何编码链,收录在几何码类库中,供几何化编程时调用,包括函数语句、逻辑语句、命名代码。
2.根据权利要求1所述的一种可视化立体码触屏编译器,其特征在于包括一种可视化几何成码器,集成在立体码触屏编译器中,用于执行自动成码,最终输出编程用的立体码。
3.根据权利要求1所述的一种可视化立体码触屏编译器,实现平面码转立体码的具体是,对平面编码链上的码元,在统一的第三维度方向上,作等量度的拉伸,将原平面码元及码链,改变成立体的码元或码链;转变后的立体码链的排布结构,不改变原二维编码的排布结构及排码顺序,为使立体编码具有延展性或收缩效果,可以在代码的转换节点处,采用插入调整码来实现;该调整码,可以是字节,也可以是一段程序语句,立体编码不仅具有程序表达和被机器执行的功能,其立体码链还具有存储信息功能与意义。
4.根据权利要求1所述的一种可视化立体码触屏编译器,在操作立体码编程中,还具有如下的功能:
①立体码编译器的释意功能设置:为了方便初学者操作,在编译器的操作界面中,为每段码链,设有文字释义,以提示、指导使用者;若是不熟悉或者忘记码链意义时,可以通过点击立体码体元素,自动跳出被点立体码元素或者展开一组立体码链,并显示具体编码的含义;
智能检验功能:因基本程序都是数字码与立体码间的直接进制化转译,在检验程序运行过程中,不会存在编写的代码格式错误的问题,也省去了检查代码编写格式的过程;对于立体码链排布方面的错误,所述编译器可以智能化地让立体码相互交换位置,并进行智能检验判断,对可能有的排码错位,进行自动检验排查和纠错;
②自动收录入库功能:对于执行并检测过的程序码链,会被所述编译器自动收录、保存到几何码链类库中,以备程序员在进行可视化编程时,随时调用;
③程序代码链的自动拼接功能:任意两条赋有运行、指令信息的码链之间,在触屏上完成组合操作时,只需要将两语句码链进行拼接,系统会自动插入可识别的连接码和结构调整码来完成,这使程序的各个立体码链联系起来,即将各个语句的立体编码,按序编辑在同一条长码链上,自动识别并完成各个码链间的连接,便完成了整个程序;这立体码程序的编译过程,在提高编程效率的同时,也减少了编程错误的发生;
④具有防伪和防攻击的功能特征:立体码程序,不管长短,都是一条整体码链,并按次序运行,其中的各码链间没有分割,没有漏洞让外界病毒程序码植入,有效阻止程序被篡改和攻击,提高了程序安全。
CN201511023552.5A 2015-12-29 2015-12-29 一种可视化立体码触屏编译器与编程技术 Active CN105446747B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511023552.5A CN105446747B (zh) 2015-12-29 2015-12-29 一种可视化立体码触屏编译器与编程技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511023552.5A CN105446747B (zh) 2015-12-29 2015-12-29 一种可视化立体码触屏编译器与编程技术

Publications (2)

Publication Number Publication Date
CN105446747A CN105446747A (zh) 2016-03-30
CN105446747B true CN105446747B (zh) 2019-08-09

Family

ID=55556994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511023552.5A Active CN105446747B (zh) 2015-12-29 2015-12-29 一种可视化立体码触屏编译器与编程技术

Country Status (1)

Country Link
CN (1) CN105446747B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6877688B2 (ja) * 2017-03-27 2021-05-26 カシオ計算機株式会社 プログラミング装置及びその制御プログラム、プログラミング方法
CN107943474A (zh) * 2017-12-05 2018-04-20 郑州大学西亚斯国际学院 一种智能机器人的编程方法
CN108376544B (zh) * 2018-03-27 2021-10-15 京东方科技集团股份有限公司 一种信息处理方法、装置、设备及计算机可读存储介质
CN110704073B (zh) * 2019-09-06 2023-04-18 北京时代民芯科技有限公司 一种微控制器编程器及其编程方法
CN113568607B (zh) * 2021-08-09 2023-11-07 软子数字软件(广州)有限公司 一种数字程序实现方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102830978A (zh) * 2012-08-23 2012-12-19 上海创图网络科技发展有限公司 一种可视化3d编程系统及应用
CN105005805A (zh) * 2015-08-15 2015-10-28 江苏图码信息科技有限公司 一种具有表示巨量信息的几何编码

Also Published As

Publication number Publication date
CN105446747A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN105446747B (zh) 一种可视化立体码触屏编译器与编程技术
Magnaguagno et al. Web planner: A tool to develop classical planning domains and visualize heuristic state-space search
Beck et al. Regviz: Visual debugging of regular expressions
US20170098154A1 (en) Methods and systems for creating networks
WO2015039628A1 (zh) 可视化步骤编程法
Bolanakis et al. A teaching approach for bridging the gap between low‐level and high‐level programming using assembly language learning for small microcontrollers
Vasek Representing expressive types in blocks programming languages
Ermel Simulation and animation of visual languages based on typed algebraic graph transformation
KR102028665B1 (ko) 프로그램 합성 방법
US20110137620A1 (en) Three-dimensional cad model creating apparatus and program
CN105446748B (zh) 一种可机器识别的几何化编程
Luckow et al. Symbolic pathfinder v7
Wan et al. Automatically Generating UI Code from Screenshot: A Divide-and-Conquer-Based Approach
Heydt D3. js by example
CN104657139B (zh) 用于故障注入的可视化命令流生成系统及方法
Liu et al. Automatic transformation from formal specifications to functional scenario forms for automatic test case generation
Calò et al. Towards A Visual Programming Tool to Create Deep Learning Models
CN109062554A (zh) 一种面向多操作对象的编程方法
Smyth SwiftUI Essentials-iOS 14 Edition: Learn to Develop iOS Apps Using SwiftUI, Swift 5 and Xcode 12
McDaid et al. Quantifying the Impact on Software Complexity of Composable Inductive Programming using Zoea
Kharitonov et al. A method of sample models of program construction in terms of Petri nets
Smith et al. From natural language requirements to rigorous property specifications
KR101585048B1 (ko) 다이어그램 기반 알고리즘 시뮬레이션 시스템
Murphy-Hill Improving refactoring with alternate program views
JP2005327192A (ja) ハードウエア設計システムおよびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant