Antlr

Antlr is used for ... It can help you to create program (in C++, Java) according to rules you defined.

 

基础知识:

词法分析是对从输入识别出标识符、关键字、常量等相对独立的记号(token,也叫符号或单词),形成记号序列记号流的过程。根据规则,输入中的部分内容可能会被过滤掉。比如在编译计算机程序时,源程序中的部分空格、换行符和注释等会在词法分析过程中被过滤掉。

语法分析是根据词法分析输出的记号流,分析源程序的语法结构,并添加代表语法结构的抽象单词(如:表达式、类、方法等),按照语法结构生成语法树的过程。

编译原理中使用四元组来表示文法G[Vn,Vt,P,S],其中G 为文法句称,Vn 为非终结符的集合,Vt 为终结符的集合,P 是文法规则的集合,S 为启始规则。

如果G[S]的所有规则都满足形如:a => b 其中a 的长度要小于等于b,这时G[S]文法是上下文有关文法(context-free grammars)。

如果G[S] 的所有规则都满足形如:A=> aB 或A=>a 其中A 和B 是非终结符,a 是终结符,这时G[S]文法是正规文法

上下文无关文法产生的语言就是上下文无关语言,正规文法产生的语言就是正规语言

EBNF: 扩展的巴科斯范式

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值