社区
C语言
帖子详情
从哪里找C语言的EBNF
hongfeeling
2004-07-03 09:14:23
我现在需要C语言的EBNF描述,我在C99的规范中,找到的是BNF描述,请问哪里能找到EBNF描述,或者是C语言的语法图
...全文
597
13
打赏
收藏
从哪里找C语言的EBNF
我现在需要C语言的EBNF描述,我在C99的规范中,找到的是BNF描述,请问哪里能找到EBNF描述,或者是C语言的语法图
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hongfeeling
2004-07-14
打赏
举报
回复
谈不上项目,想实现自己的一个梦——做一个C语言编译器
expert2000
2004-07-12
打赏
举报
回复
学编译原理,就做课程设计的时候用了一下,以后就没有用到过。全忘光了,不知楼主要做什么项目?
hongfeeling
2004-07-12
打赏
举报
回复
是啊,是啊,确实是很困难。
现在正准备写预处理。
想先把EBNF整出来,好方便下一步工作。
慢慢写,写上2,3年,希望能有雏形吧。
要考研,这半年是没 什么时间了。
wisexinlei
2004-07-10
打赏
举报
回复
做词法分析器还可以, 如果是语法分析器就太难了,光是与算符的优先级分析就烦死你。
hongfeeling
2004-07-10
打赏
举报
回复
UP
lbaby
2004-07-03
打赏
举报
回复
1
http://www.csci.csusb.edu/dick/samples/c.syntax.html
看看是不是你想要的
还有:
http://www.csci.csusb.edu/dick/cs620/languages.html#C
好多呢
多用google 搜一下就可以了
o1n
2004-07-03
打赏
举报
回复
上次做<<编译原理>>课设时,语法分析,我用的是对一个给定文法进行识别,用LL1首先消除左递归,之后求first ,follow, select 集.构造LL1分析表,进行语法阶段的判断.
lbaby
2004-07-03
打赏
举报
回复
扩展巴科斯-诺尔范式
编译原理的东西,学的少,惭愧~~~
hongfeeling
2004-07-03
打赏
举报
回复
我想要具体的,详细的,最好是大家的心得。
做实际的东西,比书上的例子难多了,书上的例子有现成的语法图,现在我连语法图都没有,BNF的描述方式在编程的时候很容易遗漏一些语法要素的,如果我找不到现成的EBNF只能自己把BNF转化成EBNF,我怕的是转换的时候出错。
lbaby
2004-07-03
打赏
举报
回复
晕
EBNF 好像是什么"巴什么斯范式"
那BNF呢?
见过一次,好像是跟正则表达式差不多,
up
hcj2002
2004-07-03
打赏
举报
回复
up
o1n
2004-07-03
打赏
举报
回复
语法分析:
LL1 (要消除左递归)
LR
hongfeeling
2004-07-03
打赏
举报
回复
UP 一下。
我 要EBNF是为了做语法分析方便一些。
不知道大家对些C语言的语法分析,有什么见解(手工编码,不使用例如YACC的工具)。
还望高手指教一二
c语言
课件序言
c语言
培训,这个是课件,好东西,可以下载看看,能学到东西的。
cifa.rar_
EBNF
词法分析器
c语言
实现的源代码,实验语言问
ebnf
词法分析器实验报(
C语言
)
完成一个交互式面向对象的词法编译器的设计,而一个交互式面向对象的词法编译器基本功能是: (1) 输入源程序: (2) 输出单词,输出形式为:(序号,单词,对应源程序行号,对应源程序列号); (3) 输出出错信息,输出形式为:(出错行号,出错列号,出错信息); (4) 输出符号表,输出形式为:(单词种别码,单词符号); (5) 打开、保存文件。查找、删除、修改等编辑工作。
编译原理实验——单词的词法分析
完成对某一种常用高级语言(如Pascal、
C语言
、PL/0语言)的各类单词进行词法分析。 PL/0语言文法的
EBNF
描述: 〈程序〉∷= 〈分程序〉。 〈分程序〉∷= [〈常量说明部分〉][〈变量说明部分〉][〈过程说明部分〉]〈语句〉 〈常量说明部分〉∷= CONST〈常量定义〉{。〈常量定义〉}; 〈常量定义〉∷= 〈标志符〉=〈无符号整数〉 〈无符号整数〉∷= 〈数字〉{〈数字〉} 〈变量说明部分〉∷= VAR〈标志符〉{,〈标志符〉}; 〈标志符〉∷= 〈字母〉{〈字母〉|〈数字〉} 〈过程说明部分〉∷= 〈过程首部〉〈分程序〉{;〈过程说明部分〉}; 〈过程首部〉∷= PROCEDURE〈标志符〉; 〈语句〉∷= 〈赋值语句〉|〈条件语句〉|〈当型循环语句〉|〈过程调用语句〉|〈读语句〉|〈写语句〉|〈复合语句〉|〈空〉 〈赋值语句〉∷= 〈标志符〉:=〈表达式〉 〈复合语句〉∷= BEGIN〈语句〉{;〈语句〉}END 〈条件〉∷= 〈表达式〉〈关系运算符〉〈表达式〉|ODD〈表达式〉 〈表达式〉∷= [+|-]〈项〉{〈加法运算符〉〈项〉} 〈项〉∷= 〈因子〉{〈乘法运算符〉〈因子〉} 〈因子〉∷= 〈标志符〉|〈无符号整数〉|‘(’〈表达式〉‘)’ 〈加法运算符〉∷= +|- 〈乘法运算符〉∷= *|/ 〈关系运算符〉∷= =|#|<|>|<=|>= 〈条件语句〉∷= IF〈条件〉THEN〈语句〉 〈过程调用语句〉∷= CALL〈标志符〉 〈当型循环语句〉∷= WHILE〈条件〉DO〈语句〉 〈读语句〉∷= READ‘(’〈标志符〉{,〈标志符〉}‘)’ 〈写语句〉∷= WRITE‘(’〈表达式〉{,〈表达式〉}‘)’ 〈字母〉∷= a|b|…..|X|Y|Z 〈数字〉∷= 0|1|2|…..|8|9
词法分析示例程序(
C语言
编写,针对PL/0语言)
词法分析阶段是编译过程的第一个阶段,是编译的基础。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析程序可以使用Lex等工具自动生成。 PL/0语言是Pascal语言的子集,它具备一般高级程序设计语言的典型特点。
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章