![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
文章平均质量分 74
木建隶
这个作者很懒,什么都没留下…
展开
-
CS143 PA2 cool语法解析 c++版
{%}%%Rules%%这里的Declarations相当于你的代码解析的时候,用上的一些全局变量和包含的库。%{*//**/%}这里几乎都是c++的代码, fin是读入的文件,string_buf是解析的时候使用的字符数组,*string_buf_ptr是字符指针,curr_lineno是行数,每解析到一个\n (不在字符串里的\n),需要对他加一,这个会现实到token结果的第一个元素里。Definitions 你在匹配的时候使用的一些变量,状态集。LE "<="原创 2024-03-26 09:15:40 · 1481 阅读 · 0 评论 -
CS143 PA1 熟悉Cool语言
2、函数里面要是没有大括号,相当于只能写一个语句,而且不加分号,有大括号,里面可以写多个,每个语句块要加分号,要是有返回值,最后一行写。把每一个命令都抽象成一个指令,碰到e的时候,先判断是不是空,然后执行最顶部的命令就好了,使用了老师推荐的类的抽象,康上去也还可以,扩展也可以。算是快速上手新语言了吧。因为没有数组的概念,刚好看到老师给的示例代码里有list,就想着用list模拟stack就好了。输出4应该就是对的,linux有缓冲区的问题,输出内容比较乱,后面我自己手动输入了一次。4、每个方法之后要加;原创 2024-03-09 11:52:53 · 289 阅读 · 0 评论