语言关键字特别注意没有_从零开始写文本编辑器(三十三):前20名编程语言的关键字...
前言
以前没细心学习,其实html, xml 并不是编程语言,它们叫标记语言,即缩写ml的全称markup language。
尽量找了资源,整理了前20名的编程语言的关键字。然后用工厂封装创建。我之前是写类似 KeywordsJava 这种具体类。
现在支持20个类,需要添加一层抽象。本篇描述几处实现细节。
正文
首先,这20种编程语言的关键字,有一些我也没收集到。一些解释型语言,它们没有关键字一说,都是标准库/类。
收集过程
- 先是上网搜索
- 整理到印象笔记里
- 逐一保存为 某语言.txt 的文本中
找的过程中,有几种语言没有找全:
- 解释型的:perl/matlab
- 有相同的:object c与c++关键词有重合部分
- 体量太大的:sql,sql与其说是关键字,不如说是指令,比汇编语言还多,有746个,对四版本的标准还完全不同,是个特殊情况,后续处理时,再特别关照下。
有趣的:
- 主流的几门语言,它们关键字数量在30个左右。
- 解释型的关键字,往往是编译型的数倍之多。
然后像“工具人”一样,写成单行格式的 txt 文件
格式:每行一个关键字。
看过 EditPlus 的关键字语法插件,也是用纯文本格式,所以这里没必要用复杂的 XML 或 JSON 来记录。看后续需求再说,现在不关心。
我不想用 UML 软件画,虽然会好看但是操作累,这里就在纸上画画草稿UML图(格式不严谨勿喷)。
重构旧的两种java关键字用例
下一步要把关键字与文件类型关联,一一对应的启动编辑关键字时,能自动补全。
以上~
语言关键字特别注意没有_从零开始写文本编辑器(三十三):前20名编程语言的关键字...相关推荐
- devc代码补全没效果_从零开始写文本编辑器(二十八):自动补全(上)
前言 我本没打算这么早就写"自动补全"功能的. 但是在写XML资源编辑时,为了实现自动引用已有资源@string/xxx,需要一个合适的列表来让我选择.这样能防止拼写错误. 也就是 ...
- JAVA写文本编辑器(四)
其实写到这里,我已经差不多断气了... 常规套路,这里是前三篇的传送门,需要的同学可以看一下:JAVA写文本编辑器(三) JAVA写文本编辑器(二)JAVA写文本编辑器(一) 现在我们只差最后一部分了 ...
- rust 手动关闭子线程_从零开始写 OS (9) —— 内核线程
上一篇 小源:从零开始写 OS (8) -- 创建页表zhuanlan.zhihu.com 本章代码对应 commit :de86ae6e1e8bdfe3388530f82b2081fe29e40b ...
- 如何搭建python框架_从零开始:写一个简单的Python框架
原标题:从零开始:写一个简单的Python框架 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 你为什么想搭建一个Web框架?我想有下面几个原因: 有一个 ...
- python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...
爬网站的时候,由于各种原因,ip被锁了,这个时候我们就需要通过代理来突破封锁.网上有很多代理网站,付费和免费的都有,这次我们就来写一个scrapy爬虫,爬一些免费的代理下来用. 目标分析: 本次爬取了 ...
- python 小说爬虫_从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载
从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载Ehco 5 个月前 本来只是准备做一个爬起点小说名字的爬虫,后来想了一下,为啥不顺便把小说的内容也爬下来呢?于是我就写了这个 ...
- 百度富文本编辑jsp上传_百度富文本编辑器教程,从入门到放弃
原标题:百度富文本编辑器教程,从入门到放弃 百度UEditor 资源与项目分离-完全教程 夏老师人真好 又求到一篇技术贴 来来来 继续掏出小本本 什么是百度UEditor? 百度UEditor是一款富 ...
- vue获取编辑器纯文字_前端富文本编辑器 vue-html5-editor
1..项目创建与初始化 在安装好脚手架的依赖后,要执行 npm install vue-html5-editor -S 来安装这个富文本插件,由于这个富文本插件的图标是依赖font-awesome.c ...
- python多功能文本编辑器_多功能文本编辑器(EditPad Pro)
EditPad Pro 是一款多功能文本编辑器,设计的目标就是在保持程序小巧简洁的同时,提供所有基础编辑功能.EditPad Pro 可以在 Windows 98.Me.NT4.2000.XP.Vis ...
最新文章
- 请善用工具审核您的内核代码:)
- 短序列组装Sequence Assembly(转载)
- php面向对象引用文件,PHP面向对象之对象和引用
- [2020.10.25NOIP模拟赛]序列【Splay】
- jieba库词频统计_用jieba库统计文本词频及云词图的生成
- python临床数据_关于体温、性别、心率的临床数据简单分析
- ARM指令集详解(超详细!带实例!)
- 开源电子书项目FBReader初探(二)
- 互联网营销相比传统营销的5大优势
- (三)沟通管理风险管理采购管理@相关方管理
- 博弈论(Nim游戏、有向图游戏之SG函数)
- 第三方登录(单点登录)
- MOSFET与MOSFET驱动电路原理及应用(转)
- 在线文库源码php,在线文库网站 文档分享平台网站 在线文档 在线预览网站 源码...
- 刷脸支付凭什么这么火 ? 开启你的智慧生活 !
- 【音视频数据数据处理 1】【YUV篇】分离YUV420P像素数据中的Y、U、V分量
- 苹果电脑有什么专业的录音软件
- 喝红茶有什么好处和不好
- 美国东西岸创业公司的工作体验
- sxs.exe病毒及清理办法
热门文章
- 线上集群服务器性能参数查看命令
- 7.2.3 使用RenderTargetBitmap类生成图片
- 卸载sharepoint2013
- HDU 2282 Chocolate (最小费用最大流)
- c++/c SM4加密解密算法代码实现
- 主流html5桌面应用开发,主流HTML5开发工具推荐
- linux系统中使用chattr命令的,chattr命令怎么用
- 使用 Servlet 读取表单数据
- idea关联mysql失败_Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
- 001_Layout布局