自制编程语言pdf_制作一门编程语言_1.2 自制编程语言并不是很难
本文关键词:自制编程语言,由笔耕文化传播整理发布。
1.2 自制编程语言并不是很难
一提起自制编程语言,很多人都会觉得这是一件非常难的事情。
比如,即便是一个很常见的赋值语句:
在自制编程语言时都必须考虑到以下几个要点。
1. 需要将 a1、 b1、 b2作为变量名解析出来。如果按照C 语言的语法规则,变量名只能由字母或下划线开头,从变量名第二个字符开始才允许出现字母或数字。所以首先必须扫描这个语句,然后将匹配上述语法规则的部分提取出来。
2. 0.5 是一个含有小数点的常量,在提取这类常量时,能否用"数字组合+ 小数点+ 数字组合"来概括所有常量的特征呢(还要考虑是否允许00.10 这样的数值)。当然我们的提取规则还要能处理2 这样不含小数点的数值。
3. 乘法运算符 *比 +拥有更高的运算优先级,语句必须被解析为 b1 + (b2 * 0.5)。
4. b2 * 0.5 的计算结果,必须在与 b1 进行加法运算前就应该取得。也就是说对于复杂的计算,需要保存很多类似这样的临时运算结果。
假如你已经有了一定的编程经验,肯定能想到上面这些难点,甚至可以说你的编程经验越丰富,就越能感受到这其中隐藏着极大的难题。
不过,编程语言的语法处理器在FORTRAN 诞生后已经经过了多年的研究,上面的这些难点都已经可以从前人那里找到解决方法*。
在本书中,,上面1 ~ 3 的问题会用到名为yacc 及lex 的工具。问题1 和问题2用lex,问题3 通过yacc 解决。yacc 和lex 都是非常老的工具了,现在流行的LL语言大多内置了yacc。可能有人会说:"既然是以学习为目的去制作一门编程语言,如果还使用工具的话就太投机取巧了吧。"(这话很有道理。)所以在本书中,也会稍微介绍一下不使用这些工具的解决方法。
无论是使用工具,还是基于一些已有的解决方案自己编写,如果能掌握一些窍门的话,自制编程语言其实并不难。
那么你想不想试试自己制作一门编程语言呢?自己创造编程语言这件事情,不管怎么说都是很酷的吧。
*当然,在早年原始的研发条件下,人们为了开发第一个编程语言编译器还是花费了相当大的精力,据说实现初版的FORTRAN 编译器所花费的工时,累计达到了216 人月[1]。
【责任编辑:book TEL:(010)68476606】
回书目 上一节 下一节
原文:1.2 自制编程语言并不是很难 返回读书频道首页
本文关键词:自制编程语言,由笔耕文化传播整理发布。
本文编号:110991
本文链接:https://www.wllwen.com/wenshubaike/mishujinen/110991.html