编译原理
Philtell
长风破浪会有时,直挂云帆济沧海
如想咨询,微信cccrunner,请备注CSDN并说明来意
展开
-
小C语言–词法分析程序
小C语言–词法分析程序 Time Limit: 1000 ms Memory Limit: 5000 KiBProblem Description 小C语言文法 1. <程序>→(){<声明序列><语句序列>} 2. <声明序列>→<声明序列><声明语句>|<声明语句>|<空&g原创 2018-03-26 15:15:47 · 730 阅读 · 0 评论 -
LL(1)文法系列(二)预测分析表
LL(1)文法系列(二)预测分析表 Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 已知文法G[S]的表达式,计算文法的预测分析表。在文法G[S]中使用’@’代表空。现在我们规定文法G[S]中每个表达式只包含一个语句,也就是说不会含有S->A|B这样的表达式。Input 第一行输入一个n(n&l...转载 2018-06-05 15:02:13 · 2118 阅读 · 0 评论 -
LL(1)文法系列(三)预测分析程序
LL(1)文法系列(三)预测分析程序 Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 已知文法G[S]的表达式,通过预测分析表,对输入串进行分析。在文法G[S]中使用’@’代表空。现在我们规定文法G[S]中每个表达式只包含一个语句,也就是说不会含有S -> A|B这样的表达式。Input 第一行...转载 2018-06-05 15:00:51 · 1604 阅读 · 0 评论 -
LL(1)文法系列(一)first集和follow集
LL(1)文法系列(一)first集和follow集 Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 已知文法G[S]的表达式,计算文法中终结符的first集和follow集。在文法G[S]中使用’@’代表空。现在我们规定文法G[S]中每个表达式只包含一个语句,也就是说不会含有S->A|B这样的表达式。...转载 2018-06-05 14:58:53 · 2481 阅读 · 0 评论 -
算符优先系列之(二)算符优先关系表
**算符优先系列之(二)算符优先关系表**Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 学过编译原理的菊苣们都知道算符优先文法,作为一个有点深度的分析方法,我们怎么能只止步于理论呢,实践才是王道哦。已知文法G[S]的表达式,求算符优先关系表。因为某些特殊的原因,我们在...翻译 2018-06-05 14:56:19 · 4276 阅读 · 0 评论 -
表达式语法分析——预测分析法
表达式语法分析——预测分析法Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 预测分析法是自顶向下分析的一种方法,一个预测分析程序是由三个部分组成: (1) 预测分析程序(2) 先进后出栈(3) 预测分析表现给出表达式文法:E→TGG→+...转载 2018-05-14 14:14:35 · 680 阅读 · 0 评论 -
DAG优化
DAG优化 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 大家都学过了代码优化,其中有一个DAG优化,这次我们就练习这个操作。 Input 输入第一行为一个整数n(n < 100),表示该组输入的表达式的个数 之...转载 2018-05-20 14:17:27 · 1262 阅读 · 0 评论 -
翻译布尔表达式
翻译布尔表达式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 大家都学过了布尔表达式的翻译,其中有一个拉链-回填技术,这次我们就练习这个技术。 Input 多组输入,每组输入为一行字符串,例如: a < b or c < d an...转载 2018-05-20 14:14:53 · 1019 阅读 · 0 评论 -
表达式语法分析——递归子程序法
表达式语法分析——递归子程序法 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description递归子程序法是一种确定的自顶向下语法分析方法,要求文法是LL(1)文法。它的实现思想是对应文法中每个非终结符编写一个递归过程,每个过程的功能是识别由该非终结符推出的串,当某非终结符的产生式有多个候选...转载 2018-04-23 14:56:32 · 503 阅读 · 0 评论 -
小型Basic编译器问题
小型Basic编译器问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description编写一个TinyBasic语言的解释程序,对于任何一个给出的正确的TinyBasic语言的程序,你的程序能运行它并得到正确的结果。那么,怎样的TinyBasic的程序叫做正确的呢? (1)符合Tiny...原创 2018-04-23 14:53:54 · 369 阅读 · 0 评论 -
识别浮点常量问题
Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description 编译器在对程序进行编译之前,首先要进行语法分析。通常,程序被分解成若干个小单元,然后和语言的语法模式进行匹配。在分析表达式的时候,变量的类型在变量声明的时候就决定了;而常量的类型需要从常量的形式来判断。假设你是自动编译器(ACM)开发小组的一员,负责Pascal语...转载 2018-03-26 15:26:54 · 289 阅读 · 0 评论 -
编译原理知识点总括
编译过程概述词法分析语法分析语义分析中间代码生成中间代码优化目标代码生成源程序–&amp;gt;前端–&amp;gt;中间代码–&amp;gt;后端–&amp;gt;目标代码**单词,**具有语义的最小字符串概念: 词法分析器、语法分析器、正则表达式、NFA、DFA、词法单元、语法树算法:正则表达式 转 NFA (词法分析)NFA 转 DFA (词法分析)最小化D...原创 2019-03-11 16:53:37 · 755 阅读 · 0 评论