IUC notes

总的来说,Lec1后半段没有听懂

concrete syntax 和 abstract syntax tree的对应关系

也许最简单的程序是42,也许这个简单程序对应的concrete syntax produces the answer to life,the universe and everything.

a grammer is a way to define languages.so languages are sets of programs.they're usually infinite sets.so what's the difference with non-racket programs?we are going to use a bunch of rules to define

在本课程中不再使用S-expression,改用了struct,主要是在于错误处理和美观打印

Grammer rules to define language

exp ::= int

exp ::= (read)

exp ::= (- exp) | (+ exp exp)

R0 ::= exp

these rules are recursive.it's ok that we have some rules are not recursive.

显然 (- 42)属于R0程序,过程是

(- 42) -> (- exp) -> exp -> R0,这个过程也被称为parse tree

但这门课跳过了这个阶段,需要自己寻找材料阅读,所以我可能需要考虑一下

Grammer for abstract syntax

structual recursive function

全部评论

相关推荐

Z_eus:别打招呼直接发你的优势
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务