前言
本来想看《自制编程语言,基于C语言》,但是没有拿到手的电子书只有目录和两个章节,所以只能看《自己动手制作编译器、链接器》。这本书听说有些bug,其实无所谓了,一般的书上都找的出问题,就算是“大国重器”的教材书中也有打印错误。这本书中作者实现了一个simple c,我做这个项目是为了之后做别的语言打下基础,所以我这门在simple c上修改的语言就叫kic了!
基于simmple c 修改的语言定义
kic语言是c语言的子集(增加了elif的功能),下面就是kic语言的EBNF定义
EBNF中,{}是0次或多次,[]是0次或一次,<>是非终结符,""是终结符
目录
1.kic词法定义
1.1.关键字
1.2.标识符
1.3.整型常量
1.4.字符常量
1.5.字符串常量
1.6.运算符及分隔符
1.7.注释
2.kic语法定义
2.1.外部定义
2.1.1.函数定义
2.1.2.声明
2.1.3.类型
2.1.4.声明符
2.2.语句
2.2.1.复合语句
2.2.2.表达式语句与空语句
2.2.3.选择语句
2.2.4.循环语句
2.2.5.跳转语句
2.3.表达式
2.3.1.赋值表达式
2.3.2.是否相等表达式
2.3.3.判断表达式
2.3.4.四则运算表达式
2.3.5.一元表达式
2.3.6.后缀表达式
---------------------------------1.kic词法定义-------------------------------------------------------------------------------