一种在计算机上实现跨人类语言写代码的方法技术

技术编号:14030466 阅读:53 留言:0更新日期:2016-11-19 19:26
本发明专利技术属于计算机工程领域,具体涉及一种在计算机上实现跨人类语言写代码的方法。一种在计算机上实现跨人类语言写代码的方法,包括以下步骤:(1)对于超文本标记语言的已定义标签进行处理;(2)对于层叠样式表的处理;(3)对于超文本标记语言的自定义标签进行处理。

【技术实现步骤摘要】

本专利技术属于计算机工程领域,具体涉及一种在计算机上实现跨人类语言写代码的方法
技术介绍
当前超文本标记语言(HTML)的标签、属性名和一些属性值的名称用的是英语;层叠样式表(CSS)中的选择器(selector)、属性(property)、值(value)和单位(units)的名称用的也是英语。对于许多不熟悉英语的人来说,要想编写超文本标记语言和层叠样式表代码,这些英语名称对他们来说是有阻碍的。
技术实现思路
专利技术目的:本专利技术针对上述现有技术存在的问题做出改进,即本专利技术公开了一种在计算机上实现跨人类语言写代码的方法。技术方案:一种在计算机上实现跨人类语言写代码的方法,包括以下步骤:(1)对于超文本标记语言的已定义标签进行处理(a1)设置浏览器需要识别的超文本标记语言的标签、属性名、属性值名称的别名,建立别名散列表;(a2)浏览器解析超文本标记语言的标签名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该标签名称,则用其对应的原始名称来处理,否则,就用该标签名称来处理;(a3)浏览器解析超文本标记语言的属性名名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该属性名名称,则用其对应的原始名称来处理,否则,就用该属性名名称来处理(a4)浏览器需要比较超文本标记语言的属性值名称时,先查询步骤(a1)建立的别名散列表,如果能够找到属性值名称,则用它对应的原始值名称来处理,否则,就用该属性值名称来处理;(2)对于层叠样式表的处理(b1)设置浏览器需要识别的层叠样式表中的选择器、属性、值、单位名称的别名,建立别名散列表;(b2)浏览器解析到层叠样式表的选择器名称时,查询步骤(b1)建立的别名散列表,如果能够找到该选择器,则用它对应的原始名称来处理,否则,就用该选择器名称来处理;(b3)浏览器解析到层叠样式表的属性名称时,查询步骤(b1)建立的别名散列表,如果能够找到该属性名称,则用它对应的原始名称来处理,否则,就用该属性名称来处理;(b4)浏览器需要比较层叠样式表的值时,查询步骤(b1)建立的别名散列表,如果能够找到该值,则用它对应的原始值来处理,否则,就用该值来处理;(b5)浏览器需要比较层叠样式表的单位时,查询步骤(b1)建立的别名散列表,如果能够找到该单位名称,则用它对应的原始名称来处理,否则,就用该单位名称来处理;(3)对于超文本标记语言的自定义标签进行处理(c1)设置自定义标签的标签名称的别名;(c2)设置自定义标签的属性名称的别名;(c3)在注册自定义标签前,设置自定义标的标签名称和属性名称的别名;(c4)完成自定义标签注册后,设置所有用自定义标签的标签名称的别名定义的标签对象,将这些标签对象的标签名修改为原始名,并修改该标签对象的属性名称,将属性名称改为原始名;(c5)创建自定义标签对象时,判断标签名和属性名是否是别名,如果是,则修改标签名和属性名为原始名。有益效果:本专利技术公开的一种在计算机上实现跨人类语言写代码的方法具有以下有益效果:1、可以使用自己熟悉的人类语言来编写HTML/CSS代码,加上JavaScript也支持跨人类语言编程,人们就可以使用自己熟悉的语言来编写应用,从而可以使得编程得到普及,加上手机的普及和手机性能的提高,人们可以在手机上用自己熟悉的人类语言为计算机编程,编程成为一种基本能力。2、由于自定义标签的名称和属性可以设置别名,一种人类语言开发的自定义标签可以用另一种人类语言来使用,使得开发出的互联网组件(Web Components)可以用不同的人类语言使用。具体实施方式:下面对本专利技术的具体实施方式详细说明。以基于已有的开源浏览器引擎Chromium,https://www.chromium.org/,版本49.0.2623.91为例说明。一种在计算机上实现跨人类语言写代码的方法,包括以下步骤:(1)对于超文本标记语言的已定义标签进行处理(a1)设置浏览器需要识别的超文本标记语言的标签、属性名、属性值名称的别名,建立别名散列表;在third_party/WebKit/Source/core/Init.cpp文件void CoreInitializer::init()方法内建立别名散列表。(a2)浏览器解析超文本标记语言的标签名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该标签名称,则用其对应的原始名称来处理,否则,就用该标签名称来处理;(a3)浏览器解析超文本标记语言的属性名名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该属性名名称,则用其对应的原始名称来处理,否则,就用该属性名名称来处理;步骤a2和步骤a3的处理的实现代码如下:修改third_party/WebKit/Source/core/html/parser/HTMLToken.h,third_party/WebKit/Source/core/html/parser/HTMLTokenizer.cpp,third_party/WebKit/Source/core/html/parser/HTMLTokenizer.h;以支持unicode标签名。third_party/WebKit/Source/core/html/parser/HTMLToken.h的修改:-void beginEndTag(LChar character)+void beginEndTag(UChar character)-void beginEndTag(const Vector<LChar,32>&characters)+void beginEndTag(const Vector<UChar,32>&characters)-void appendToCharacter(const Vector<LChar,32>&characters)+void appendToCharacter(const Vector<UChar,32>&characters);third_party/WebKit/Source/core/html/parser/HTMLTokenizer.cpp的修改:修改bool HTMLTokenizer::nextToken(SegmentedString&source,HTMLToken&token)方法,使用这样的方式修改,支持Unicode标签。-parseError();-bufferCharacter('<');-HTML_RECONSUME_IN(DataState);+m_token->beginStartTag(cc);+HTML_ADVANCE_TO(TagNameState);third_party/WebKit/Source/core/html/parser/HTMLViewSourceParser.cpp的修改:修改third_party/WebKit/Source/core/html/parser/CompactHTMLToken.cpp的方法Compact本文档来自技高网...

【技术保护点】
一种在计算机上实现跨人类语言写代码的方法,其特征在于,包括以下步骤:(1)对于超文本标记语言的已定义标签进行处理(a1)设置浏览器需要识别的超文本标记语言的标签、属性名、属性值名称的别名,建立别名散列表;(a2)浏览器解析超文本标记语言的标签名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该标签名称,则用其对应的原始名称来处理,否则,就用该标签名称来处理;(a3)浏览器解析超文本标记语言的属性名名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该属性名名称,则用其对应的原始名称来处理,否则,就用该属性名名称来处理(a4)浏览器需要比较超文本标记语言的属性值名称时,先查询步骤(a1)建立的别名散列表,如果能够找到属性值名称,则用它对应的原始值名称来处理,否则,就用该属性值名称来处理;(2)对于层叠样式表的处理(b1)设置浏览器需要识别的层叠样式表中的选择器、属性、值、单位名称的别名,建立别名散列表;(b2)浏览器解析到层叠样式表的选择器名称时,查询步骤(b1)建立的别名散列表,如果能够找到该选择器,则用它对应的原始名称来处理,否则,就用该选择器名称来处理;(b3)浏览器解析到层叠样式表的属性名称时,查询步骤(b1)建立的别名散列表,如果能够找到该属性名称,则用它对应的原始名称来处理,否则,就用该属性名称来处理;(b4)浏览器需要比较层叠样式表的值时,查询步骤(b1)建立的别名散列表,如果能够找到该值,则用它对应的原始值来处理,否则,就用该值来处理;(b5)浏览器需要比较层叠样式表的单位时,查询步骤(b1)建立的别名散列表,如果能够找到该单位名称,则用它对应的原始名称来处理,否则,就用该单位名称来处理;(3)对于超文本标记语言的自定义标签进行处理(c1)设置自定义标签的标签名称的别名;(c2)设置自定义标签的属性名称的别名;(c3)在注册自定义标签前,设置自定义标的标签名称和属性名称的别名;(c4)完成自定义标签注册后,设置所有用自定义标签的标签名称的别名定义的标签对象,将这些标签对象的标签名修改为原始名,并修改该标签对象的属性名称,将属性名称改为原始名;(c5)创建自定义标签对象时,判断标签名和属性名是否是别名,如果是,则修改标签名和属性名为原始名。...

【技术特征摘要】
1.一种在计算机上实现跨人类语言写代码的方法,其特征在于,包括以下步骤:(1)对于超文本标记语言的已定义标签进行处理(a1)设置浏览器需要识别的超文本标记语言的标签、属性名、属性值名称的别名,建立别名散列表;(a2)浏览器解析超文本标记语言的标签名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该标签名称,则用其对应的原始名称来处理,否则,就用该标签名称来处理;(a3)浏览器解析超文本标记语言的属性名名称时,先查询步骤(a1)建立的别名散列表,如果能够找到该属性名名称,则用其对应的原始名称来处理,否则,就用该属性名名称来处理(a4)浏览器需要比较超文本标记语言的属性值名称时,先查询步骤(a1)建立的别名散列表,如果能够找到属性值名称,则用它对应的原始值名称来处理,否则,就用该属性值名称来处理;(2)对于层叠样式表的处理(b1)设置浏览器需要识别的层叠样式表中的选择器、属性、值、单位名称的别名,建立别名散列表;(b2)浏览器解析到层叠样式表的选择器名称时,查询步骤(b1)建立的别名散列表,如果能够找到该选择器,则用它对应的原始名称...

【专利技术属性】
技术研发人员:周登祥
申请(专利权)人:北京普会科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1