上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: License: CC BY-NC-SA 4.0 lv 9.1 & lv 9.2 内容差不多,就一起写了。 上来就是报了 \(5\) 个 shift/reduce conflict,很快啊!我全都没防出去( 但是对于怎么报错的完全没思路,开了 -Wcex 照样看不懂。 怎么会逝呢? 对着代码肉眼查错 阅读全文
posted @ 2024-07-12 10:21 383494 阅读(195) 评论(0) 推荐(0)
摘要: License: CC BY-NC-SA 4.0 lv 8.1 你可以把全局范围内所有的函数 (包括之后章节中会出现的全局变量) 都放在同一个作用域内, 即全局作用域. 于是我加入了 Koopa_val_global_func. class Koopa_val_global_func : publi 阅读全文
posted @ 2024-07-06 17:01 383494 阅读(95) 评论(0) 推荐(0)
摘要: 本文为第二届你要魔怔杯鲜花大赛!!!投稿作品。 License: CC BY-NC-SA 4.0 前言 这是一个 \(\bmod \ 11\) 的世界。 假设这个世界与地球类似(不妨称它为 E 球),但是所有的数都是 \(\bmod \ 11\) 意义下的。 在正文和注解部分书写一个十进制数时我会用 阅读全文
posted @ 2024-07-02 21:23 383494 阅读(196) 评论(0) 推荐(0)
摘要: License: CC BY-NC-SA 4.0 lv 7.1 没啥难度,照着之前设计 if 的思路走就完了。 lv 7.2 写了几个函数: void enter_sysy_block() { symbol_table.add_table(); } void exit_sysy_block() { 阅读全文
posted @ 2024-07-02 20:24 383494 阅读(55) 评论(0) 推荐(0)
摘要: License: CC BY-NC-SA 4.0 lv 6.1 这一部分引入了 if/else,于是就有了 shift/reduce conflict. 在符合 EBNF 语法定义的前提下, 我们可以找到不止一种语法的推导 (或规约) 方法. 例如: if(a) if(b) x; else y; 查 阅读全文
posted @ 2024-07-02 15:18 383494 阅读(79) 评论(0) 推荐(0)
摘要: License: CC BY-NC-SA 4.0 5.1 本节的 EBNF 中出现了一种新的表示: [ ... ], 这代表方括号内包含的项可被重复 0 次或 1 次. 也就是说, 单个分号在 SysY 程序中也是一个合法的语句. 在 AST 中, 你可以使用空指针或 Option 来表示这种结构. 阅读全文
posted @ 2024-06-23 10:28 383494 阅读(74) 评论(0) 推荐(0)
摘要: License: CC BY-NC-SA 4.0 Lv 4.1 常量 本节的 EBNF 中出现了一种新的表示: { ... }, 这代表花括号内包含的项可被重复 0 次或多次. 在 AST 中, 你可以使用 std::vector/Vec 来表示这种结构. 你说的对,但是感觉不如 std::list 阅读全文
posted @ 2024-06-16 21:35 383494 阅读(112) 评论(0) 推荐(0)
摘要: License: CC BY-SA 4.0 乘法 把所有数扩大 \(10^n\) 倍然后当成整数做,可能要用到 __int128. (最后输出答案别忘了除回来) 缺点就是除法可能还是会爆精度,并且不支持开根之类的操作。 模法 突发奇想想到的一种方法. 大概思想就是同时记录浮点数和它对某个数取模后的值 阅读全文
posted @ 2024-04-05 14:08 383494 阅读(97) 评论(5) 推荐(2)
摘要: License: CC BY-SA 4.0 闲话 看了半天文档终于懂了 Bison 里怎么处理带 | 的语法了。 为什么 info 要做成 Emacs 格式啊?Vimer 无能狂怒( Lv 3.1 一元表达式 首先当然是设计 AST 了。 这里我用 std::varient,不知道有没有更优雅的写法 阅读全文
posted @ 2024-03-24 19:38 383494 阅读(240) 评论(0) 推荐(1)
摘要: 本文以 CC BY-SA 4.0 协议发布。 闲话 重写了 Part1 里因为手滑而删除的 AST。 LunarVim IDE,你值得拥有( 代码传上了 github(推荐 https://mirror.ghproxy.com 加速). Koopa IR 遍历 AST,然后根据 Koopa IR 语 阅读全文
posted @ 2024-03-16 19:52 383494 阅读(340) 评论(0) 推荐(1)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页