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

最近在设计和实现一门编译型编程语言

  •  
  •   Mohanson · 2019-08-05 12:44:12 +08:00 · 1598 次点击
    这是一个创建于 1697 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先要说明一件事, 该语言已有可运行的 Demo: 计算斐波那契数列.

    https://github.com/mohanson/pydouz#Example

    def fib(n):
        if n 3 <:
            n
        or:
            fib(n 1 -) fib(n 2 -) +
    
    def main():
        fib(10)
    

    我向来喜欢先立 flag 再写代码...

    语言名暂定 Douz(后缀 .dz). 开发语言是 Python, 后端直接用 LLVM. 该语言的设计目标是作为一门嵌入式语言, 定位类似 Lua. 还没有完整的设计文档, 处于边写边想的状态.

    我之前一段时间一直在做虚拟机方面的开源项目(Flag 先行模式):

    WebAssembly 虚拟机: https://www.v2ex.com/t/523261

    Game Boy 模拟器: https://www.v2ex.com/t/556574

    Intel I8080 模拟器: https://github.com/mohanson/i8080

    准备开始入门编译器前端啦!

    woncode
        1
    woncode  
       2019-08-05 13:23:00 +08:00 via Android
    运算符放右边,好奇怪,写和读起来也不顺畅吧
    Mohanson
        2
    Mohanson  
    OP
       2019-08-05 13:34:30 +08:00 via Android
    @woncode 逆波兰表达式,不太常见的一种设计模式,但好处是没有运算符优先级问题
    wssy
        3
    wssy  
       2019-08-05 13:34:36 +08:00 via Android
    666,好想步楼主的后路 #_#
    目前还只完成了一个 x86 内核
    besto
        4
    besto  
       2019-08-05 15:46:02 +08:00
    我应该是第一个 star 的,大佬我只想给你膝盖。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2817 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:25 · PVG 23:25 · LAX 08:25 · JFK 11:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.