上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 79 下一页
摘要: 7.1 JavaCC中的Action javacc的规则中可以声明,定义,计算和返回变量。 返回的语义值类型 非终端符号名 参数列表 { 临时变量声明 } { 规则{action} } 注意符号串的中间可以调用action。执行完action之后会看看后面有没有没匹配完的符号,会继续执行匹配。 e. 阅读全文
posted @ 2021-02-05 18:31 雪溯 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 6.1 定义的分析 表示程序整体 compilation_unit(): {} { import_stmts() top_defs() <EOF> } import import_stmts(): {} { (import_stmt())* } import_stmt():{} { <IMPORT> 阅读全文
posted @ 2021-02-05 17:54 雪溯 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 5。1 基于EBNF语法的描述 种类 含义 e.g 终端符 token , , '=', "Var" 非终端符 语法树非叶节点 stmt(), expr() 可以省略的元素用[]括起: e.g: storage() typeref() name ["=" expr()] ";" 5.2 语法二义性和 阅读全文
posted @ 2021-02-05 16:09 雪溯 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 4.1 javacc正则表达式 e.g: 固定字符串:"int" 连接:"ABC" "XYC" 字符组: ["A", "B"] 排除: ~["X", "Y"] 任意字符: ~[] ("o")+ ("o")? ("o")* ("o"){5} ("o"){3,5} "int"|"Int" 4.2 扫描没 阅读全文
posted @ 2021-02-05 14:24 雪溯 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 3.1 语法分析的概要 解析器往往会跳过分号和括号等没有必要保存的元素,所以parser一般生成的语法树已经不再严格对应代码本身 3.2 解析器生成器 常用的解析器一般使用LR, LALR和LL文法。速度上: LL>LALR>LR,解析范围上: LL<LALR<LR。目前最主流的是LALR(yacc 阅读全文
posted @ 2021-02-05 13:28 雪溯 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 2.1 Cb语言的概要 删除了以下功能 预处理器 浮点数 K&R语法 enum struct的bit field struct和union的赋值 struct和union的返回值 逗号表达式 const volatile auto register import 用import 关键字替代了#inc 阅读全文
posted @ 2021-02-05 10:16 雪溯 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 1.1 概要 目标 从头制作Cb编译器 可执行文件是怎样的文件 在Linux上,是符合ELF(Executable and Linking Format)。file命令能够查看文件时是否ELF形式。ELF代码中包含机器语言。 gcc命令是如何生成可执行文件的 一般来说,需要经过预处理->编译->(狭 阅读全文
posted @ 2021-02-03 21:37 雪溯 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 题目 http://poj.org/problem?id=1201 题意 给你n个整数区间(5e4数量级),要求给出一个最小的整数集合,这个整数集合至少与第i个区间有ci个重合整数 思路 很裸的差分约束,若令dp[w]为在[0, w]中取多少个整数,明显dp[bi] - dp[ai-1] = ci。 阅读全文
posted @ 2021-02-03 17:56 雪溯 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题目 http://poj.org/problem?id=3267 题意 有长为L的字符串(L<=600),现在问最少去掉多少个字符,使得字符串由字典中的词不重叠地构成。 字典中含有k(k<=300)个词,每个词长度最多为25 思路 最粗暴的想法:假设当前已经匹配到i为第k个单词的结尾,向前找到第k 阅读全文
posted @ 2021-02-03 00:54 雪溯 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 题目 http://poj.org/problem?id=1276 题意 一台机器,里面有N种钱,第k种钱币值为Dk,共有Nk张。问不超过cash最多能取出多少钱。 思路 最最简单的可达性dp。 代码 Mem: 384K Time: 329MS #include <iostream> #includ 阅读全文
posted @ 2021-02-02 23:57 雪溯 阅读(47) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 79 下一页