V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
find456789
V2EX  ›  问与答

Python 、 Java 运行在基于 c/c++的解释器里,那么如何用 Python 制作一个解释器呢?想用来开发一个新语言

  •  
  •   find456789 · 2020-10-10 22:39:36 +08:00 · 1062 次点击
    这是一个创建于 1511 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请理性讨论,谢谢

    有对应的资料? 关键词吗? 我好去了解一下

    第 1 条附言  ·  2020-10-10 23:19:39 +08:00
    谢谢,我发现了这 2 个东西,不过还没搞清楚是干嘛的

    https://github.com/alex/rply

    https://github.com/dabeaz/sly

    似乎基于这 2 个东西,就可以基于 python 开发自己的语言 (我目前比较熟悉 python )
    7 条回复    2020-10-11 09:46:07 +08:00
    xiri
        1
    xiri  
       2020-10-10 22:42:44 +08:00   ❤️ 2
    pypy 了解一下,用 python 写的 python 解释器
    xiri
        2
    xiri  
       2020-10-10 22:47:33 +08:00
    @xiri 其实跟语言无关,归根到底都是解析代码生成语法树再按规则执行(实际还有很多细节),你想的话任何语言都能用来写解释器
    az467
        3
    az467  
       2020-10-10 22:56:23 +08:00   ❤️ 1
    http://www.yinwang.org/blog-cn/2012/08/01/interpreter/

    跟用其他语言制作解释器一样制作,大体上没有特别之处。
    甚至你想写元循环虚拟机 /解释器,以至于自举都可以。
    Hsinyao
        4
    Hsinyao  
       2020-10-10 23:17:26 +08:00 via iPhone   ❤️ 3
    Berkeley CS61A 的 project 就是一个用 python 写的 scheme 解释器
    levelworm
        5
    levelworm  
       2020-10-11 00:11:23 +08:00 via Android
    一般的 compiler 课程应该都包括一个比较完整的解释器。
    ysc3839
        6
    ysc3839  
       2020-10-11 00:24:06 +08:00 via Android
    学习编译原理。
    yangyaofei
        7
    yangyaofei  
       2020-10-11 09:46:07 +08:00 via Android
    结合你的提问,我觉得你写语言还早,还是如#6 楼,学习编译原理吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2165 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:44 · PVG 08:44 · LAX 16:44 · JFK 19:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.