silverbullettt
V2EX  ›  编程

正在用Scheme写编译器,有人愿意合作或者交流一下吗?

  •  
  •   silverbullettt · Aug 14, 2012 · 5859 views
    This topic created in 5042 days ago, the information mentioned may be changed or developed.
    https://github.com/silverbullettt/o-lex

    以前没写过编译器,觉得人生不完整。现在写了几天,准备完成词法分析了。我的想法是词法分析和语法分析(前端)都写成通用的生成器,即输入规则,输出parser。语义部分等到时候再设计……

    还有这代码还没有文档,过两天补上= =

    RT,我在这方面没有经验,有人愿意合作或者交流一下吗?
    6 replies    1970-01-01 08:00:00 +08:00
    qiao
        1
    qiao  
       Aug 14, 2012
    nice, 同样觉得没写过写过编译器人生就不完整。不过目前我还是准备先多做些理论性研究,多读几本相关著作后再开始写。话说楼主居然在代码中用了 unicode 来作为 identifier,实在是少见哈 :p
    limu
        2
    limu  
       Aug 14, 2012
    楼主真是年轻有为阿.scheme的解释器照着 SICP 估计能比较容易写出一个来.
    编译器还是挺难写的,后端的代码生成准备用啥? LLVM?
    Numbcoder
        3
    Numbcoder  
       Aug 14, 2012
    不错。
    想问一下,用 Racket 这个有什么好处,为什么不用原始的 Scheme ?
    silverbullettt
        4
    silverbullettt  
    OP
       Aug 14, 2012
    @qiao 那完全得益于DrRacket这个环境够强悍,一般理论书上也是用那几个符号描述NFA,我就干脆拿来用了:p,其实还可以用中文做id……

    我的编译原理理论知识完全来自上课(我们这门课的老师很好),前端需要的理论知识很少,所以这次我是想写到语义部分的时候以实践带着理论学习。
    silverbullettt
        5
    silverbullettt  
    OP
       Aug 14, 2012
    @limu 所以说现在还没想好咧,到时候再看吧。您有什么建议吗~除了LLVM
    silverbullettt
        6
    silverbullettt  
    OP
       Aug 14, 2012
    @Numbcoder DrRacket提供了很多Scheme没有的东西,比如match
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1141 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.