前言

以前没细心学习,其实html, xml 并不是编程语言,它们叫标记语言,即缩写ml的全称markup language。

尽量找了资源,整理了前20名的编程语言的关键字。然后用工厂封装创建。我之前是写类似 KeywordsJava 这种具体类。

现在支持20个类,需要添加一层抽象。本篇描述几处实现细节。

正文

首先,这20种编程语言的关键字,有一些我也没收集到。一些解释型语言,它们没有关键字一说,都是标准库/类。

收集过程

  1. 先是上网搜索
  2. 整理到印象笔记里
  3. 逐一保存为 某语言.txt 的文本中

找的过程中,有几种语言没有找全:

  1. 解释型的:perl/matlab
  2. 有相同的:object c与c++关键词有重合部分
  3. 体量太大的:sql,sql与其说是关键字,不如说是指令,比汇编语言还多,有746个,对四版本的标准还完全不同,是个特殊情况,后续处理时,再特别关照下。

有趣的:

  1. 主流的几门语言,它们关键字数量在30个左右。
  2. 解释型的关键字,往往是编译型的数倍之多。

然后像“工具人”一样,写成单行格式的 txt 文件

格式:每行一个关键字。

看过 EditPlus 的关键字语法插件,也是用纯文本格式,所以这里没必要用复杂的 XML 或 JSON 来记录。看后续需求再说,现在不关心。

关键字从文本中加载-添加入集合容器-封装成类-返回接口

我不想用 UML 软件画,虽然会好看但是操作累,这里就在纸上画画草稿UML图(格式不严谨勿喷)。

重构旧的两种java关键字用例

下一步要把关键字与文件类型关联,一一对应的启动编辑关键字时,能自动补全。

以上~

语言关键字特别注意没有_从零开始写文本编辑器(三十三):前20名编程语言的关键字...相关推荐

  1. devc代码补全没效果_从零开始写文本编辑器(二十八):自动补全(上)

    前言 我本没打算这么早就写"自动补全"功能的. 但是在写XML资源编辑时,为了实现自动引用已有资源@string/xxx,需要一个合适的列表来让我选择.这样能防止拼写错误. 也就是 ...

  2. JAVA写文本编辑器(四)

    其实写到这里,我已经差不多断气了... 常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器(二)JAVA写文本编辑器(一) 现在我们只差最后一部分了 ...

  3. rust 手动关闭子线程_从零开始写 OS (9) —— 内核线程

    上一篇 小源:从零开始写 OS (8) -- 创建页表​zhuanlan.zhihu.com 本章代码对应 commit :de86ae6e1e8bdfe3388530f82b2081fe29e40b ...

  4. 如何搭建python框架_从零开始:写一个简单的Python框架

    原标题:从零开始:写一个简单的Python框架 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 你为什么想搭建一个Web框架?我想有下面几个原因: 有一个 ...

  5. python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...

    爬网站的时候,由于各种原因,ip被锁了,这个时候我们就需要通过代理来突破封锁.网上有很多代理网站,付费和免费的都有,这次我们就来写一个scrapy爬虫,爬一些免费的代理下来用. 目标分析: 本次爬取了 ...

  6. python 小说爬虫_从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载

    从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载Ehco 5 个月前 本来只是准备做一个爬起点小说名字的爬虫,后来想了一下,为啥不顺便把小说的内容也爬下来呢?于是我就写了这个 ...

  7. 百度富文本编辑jsp上传_百度富文本编辑器教程,从入门到放弃

    原标题:百度富文本编辑器教程,从入门到放弃 百度UEditor 资源与项目分离-完全教程 夏老师人真好 又求到一篇技术贴 来来来 继续掏出小本本 什么是百度UEditor? 百度UEditor是一款富 ...

  8. vue获取编辑器纯文字_前端富文本编辑器 vue-html5-editor

    1..项目创建与初始化 在安装好脚手架的依赖后,要执行 npm install vue-html5-editor -S 来安装这个富文本插件,由于这个富文本插件的图标是依赖font-awesome.c ...

  9. python多功能文本编辑器_多功能文本编辑器(EditPad Pro)

    EditPad Pro 是一款多功能文本编辑器,设计的目标就是在保持程序小巧简洁的同时,提供所有基础编辑功能.EditPad Pro 可以在 Windows 98.Me.NT4.2000.XP.Vis ...

最新文章

  1. 请善用工具审核您的内核代码:)
  2. 短序列组装Sequence Assembly(转载)
  3. php面向对象引用文件,PHP面向对象之对象和引用
  4. [2020.10.25NOIP模拟赛]序列【Splay】
  5. jieba库词频统计_用jieba库统计文本词频及云词图的生成
  6. python临床数据_关于体温、性别、心率的临床数据简单分析
  7. ARM指令集详解(超详细!带实例!)
  8. 开源电子书项目FBReader初探(二)
  9. 互联网营销相比传统营销的5大优势
  10. (三)沟通管理风险管理采购管理@相关方管理
  11. 博弈论(Nim游戏、有向图游戏之SG函数)
  12. 第三方登录(单点登录)
  13. MOSFET与MOSFET驱动电路原理及应用(转)
  14. 在线文库源码php,在线文库网站 文档分享平台网站 在线文档 在线预览网站 源码...
  15. 刷脸支付凭什么这么火 ? 开启你的智慧生活 !
  16. 【音视频数据数据处理 1】【YUV篇】分离YUV420P像素数据中的Y、U、V分量
  17. 苹果电脑有什么专业的录音软件
  18. 喝红茶有什么好处和不好
  19. 美国东西岸创业公司的工作体验
  20. sxs.exe病毒及清理办法

热门文章

  1. 线上集群服务器性能参数查看命令
  2. 7.2.3 使用RenderTargetBitmap类生成图片
  3. 卸载sharepoint2013
  4. HDU 2282 Chocolate (最小费用最大流)
  5. c++/c SM4加密解密算法代码实现
  6. 主流html5桌面应用开发,主流HTML5开发工具推荐
  7. linux系统中使用chattr命令的,chattr命令怎么用
  8. 使用 Servlet 读取表单数据
  9. idea关联mysql失败_Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
  10. 001_Layout布局