自定义语言C--的词法系统 1)类型系统:支持int、char、void基本类型,分别用词法记号表示为关键字int、char和void。 2)常量:字符常量(用单引号括起来)、字符串常量(用双引号括起来)、八/十/六进制整数常量(0开头表示八进制,0x开头表示十六进制)。分别用词法记号表示为ch、str和num。 3)变量:与常量对应,使用标识符表示,词法记号表示为id。 4)表达式运算符:支持加减乘除、求余、取负、自增、自减算术运算,大于、大于等于、小于、小于等于、等于、不等于关系运算,与、或、非逻辑运算,表示为词法记号:‘+’,‘-’,‘*’,‘/’,‘%’,‘-’,‘++’,‘--’,‘>’,‘>=’,‘<’,‘<=’,‘==’,‘!=’,‘&&’, ‘||’,‘!’。注意:取负运算和减法运算在词法分析器里是被看做是同一个词法记号。 5)语句:支持赋值语句、do-while、while、for循环语句,if-else、switch-case条件分之语句、函数调用、函数返回、跳转等语句。涉及的词法记号表示为赋值号‘=’,关键字do, while, for, if, else, switch, case, default, return ,break, continue。语句和函数体要求用大括号括起来,case和default后面需要跟冒号,因此需要包括各种分界符作为词法记号:‘{’,‘}’,‘;’,‘:’,‘(’,‘)’,‘,’。
2019-12-21 19:24:11 56KB 词法分析 编译原理 Lex实现
1
通过java实现词法分析器。 解压: 1) src文件夹:实现代码 2)data文件夹:测试代码 3)README:说明文档
2019-12-21 19:23:26 41KB java
1
本文为转载资源,希望大家积极下载指正。
2019-12-21 19:22:23 24KB snl 词法分析 语法分析
1
NFA,DFA实验,词法分析,语法分析
2019-12-21 19:22:10 479KB 编译原理实验报告加代码
1
一个很简单的c语言词法分析器,适合刚学编译原理的同学阅读
2019-12-21 19:21:34 4KB c语言 词法分析
1
设计并实现 C 语言的词法分析程序,要求如下。 (1) 可以识别出用C语言编写的源程序中的每个单词符号,并以记号的形式输出每个单词符号。 (2) 可以识别并读取源程序中的注释。 (3) 可以统计源程序中的语句行数、单词个数和字符个数,其中标点和空格不计算为单词,并输出统计结果。 (4) 检查源程序中存在的非法字符错误,并可以报告错误所在的行列位置。
2019-12-21 19:21:22 625KB 北邮 代码+文档
1
用C语言编写一个PL/0词法分析器,为语法语义分析提供单词,使之能把输入的字符串形式的源程序分割成一个个单词符号传递给语法语义分析,并把分析结果(基本字,运算符,标识符,常数以及界符)输出。
2019-12-21 18:58:39 5KB 词法分析 编译原理
1
编译原理 语法分析 词法分析 源代码 报告可以直接当作业交
2019-12-21 18:58:09 243KB 编译原理 语法分析 词法分析 源代码
1
一、概述 课程设计的目标是做一个编译器,用的是SPL语言,该语言结构清晰简单,包括了一部分的高级预言的语法结构,对于简单的编译器程序来说,做为测试用例是比较合适的,难度也相对比较低的。 本SPL编译器是在Visual C++集成环境下,用C++语言实现,在Window XP平台下运行通过的.
2019-12-21 18:57:34 192KB spl语言 编译原理 词法 设计
1
国内经典的编译原理中文教材,适合浅显入门,或者查询概念,符号表等。主要内容包援揭法分析、语法分析、属性文法与语法制导葱泽、语立分析与中间代码产生、符号表与运行时存储空饲组织、优化与吕标代哥哥生成、并行编译技幸。本书将编译技幸的最蒜发震,例如属位立法' lifl每对象语言部编译技术、并行编译技本、编译程序自动构造工具等内容罩统地融合到教括中。本书的主要侥题和习题均I;( C,P.,.边为语言背景,并在一些重要舵章节中增细了必要的例题.以帮裂读者理解和自学。使用本教材对应注意,在学这门课之部,学生必须预修计算寻i论(程序设计方法)和高级语言但且记丛、C 或C +叶,并且是好具有数据结构和离散数学方面的基础知识。
1