V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
StepfenShawn
V2EX  ›  程序员

战争片看多了,用 200 行代码写了一个编程语言

  •  
  •   StepfenShawn ·
    Stepfen-Shawn · 2020-10-11 23:20:53 +08:00 via Android · 6402 次点击
    这是一个创建于 1485 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这个语言叫做 CF 语言(不知道是不是穿越火线打多了),用 200 行代码写的,没有调第三方的 Python 库,欢迎各位来 star 与提交贡献,也可以在语法方面给我提建议
    项目地址:
    https://github.com/StepfenShawn/cf-lang.git
    路过请给个 star 吧😄
    34 条回复    2020-11-11 10:57:40 +08:00
    abersheeran
        1
    abersheeran  
       2020-10-11 23:33:43 +08:00   ❤️ 1
    这个语法让我想起了 CS……不说了,打两局去。
    jeffh
        2
    jeffh  
       2020-10-11 23:34:37 +08:00   ❤️ 4
    这不是编程语言把,这是 python 的正则替换而已,跑在 python 解析器上的。
    laike9m
        3
    laike9m  
       2020-10-11 23:40:21 +08:00 via Android   ❤️ 2
    @jeffh 然而这并不妨碍它是一门新语言
    StepfenShawn
        4
    StepfenShawn  
    OP
       2020-10-11 23:56:46 +08:00 via Android
    @jeffh 这个语言可以生成语法树,我只是想首先让它基于 Python 解释器上跑起来看看结果,后面我会编写解析语法树的代码
    jones2000
        5
    jones2000  
       2020-10-12 01:47:51 +08:00   ❤️ 7
    建议楼主看下大学里面教的编译原理的书,里面很详细的写编译器原理。
    词法分析->语法解析->生成 AST->执行 AST 得到最终结果
    你写的这个估计这门课要挂。
    black11black
        6
    black11black  
       2020-10-12 05:40:29 +08:00   ❤️ 1
    楼主要认真实现一个解释器或者编译器的话倒是挺有兴趣的,但是看了看是游戏之作,遗憾
    StepfenShawn
        7
    StepfenShawn  
    OP
       2020-10-12 05:56:52 +08:00 via Android   ❤️ 3
    @jones2000 本人高中生一枚,还是比较菜,以后会继续学习:)
    Mutoo
        8
    Mutoo  
       2020-10-12 06:16:57 +08:00
    图灵完备吗
    no1xsyzy
        9
    no1xsyzy  
       2020-10-12 09:08:40 +08:00
    @jones2000 你说的这是解释器吧(
    slert
        10
    slert  
       2020-10-12 09:46:22 +08:00   ❤️ 1
    我是觉得已经很厉害了 尤其是对于一个高中生来说
    JieS
        11
    JieS  
       2020-10-12 09:46:53 +08:00   ❤️ 1
    哈哈,思路清奇,有点意思
    ofooo
        12
    ofooo  
       2020-10-12 09:51:48 +08:00
    他比 python 优秀的特点有哪些呢?我觉得技术不是问题,设计思路是一开始应该想好的
    相比已经存在的语言,解决了哪些痛点
    crella
        13
    crella  
       2020-10-12 10:05:54 +08:00 via Android   ❤️ 1
    没有可变长数组和哈希 /词典,也没有面向对象。
    crella
        14
    crella  
       2020-10-12 10:10:27 +08:00 via Android
    话说是不是实现了 python 的词典类型就能搞简单的结构体和面向对象设计了?
    fakecoder
        15
    fakecoder  
       2020-10-12 10:36:07 +08:00
    老哥 CF 哪个区的
    guokeke
        16
    guokeke  
       2020-10-12 10:36:13 +08:00   ❤️ 1
    有趣
    baiyi
        17
    baiyi  
       2020-10-12 10:52:16 +08:00   ❤️ 1
    这语法有点意思
    qq1340691923
        18
    qq1340691923  
       2020-10-12 10:55:28 +08:00   ❤️ 1
    已 star
    fuchaofather
        19
    fuchaofather  
       2020-10-12 11:15:50 +08:00   ❤️ 1
    鼓励一下。我高中时业余时间再看 极品家丁,跟 lz 一比啥也不是 😓️
    StepfenShawn
        20
    StepfenShawn  
    OP
       2020-10-12 12:46:51 +08:00 via Android
    @ofooo 这是一个玩具语言,just for fun:)
    StepfenShawn
        21
    StepfenShawn  
    OP
       2020-10-12 12:47:17 +08:00 via Android
    @qq1340691923 非常感谢!
    StepfenShawn
        22
    StepfenShawn  
    OP
       2020-10-12 12:52:51 +08:00 via Android
    @crella 面向对象和函数的语法还没想好,非常抱歉
    no1xsyzy
        23
    no1xsyzy  
       2020-10-12 13:39:22 +08:00
    @crella 甚至实现了 list 或者 tuple 就行,参见 Paul Graham 谈如何实现一个 CLOS
    northisland
        24
    northisland  
       2020-10-12 13:42:30 +08:00
    看起来像是发明了一种方言
    meppy
        25
    meppy  
       2020-10-12 13:52:27 +08:00
    很牛比了,工作 10 多年的菜鸡仰望下后辈,世界终究是你们的。
    shoa
        26
    shoa  
       2020-10-12 14:37:47 +08:00
    我以为你在致敬 https://codeforces.com/contest/1331/problem/H 这道题
    Takuron
        27
    Takuron  
       2020-10-12 14:40:38 +08:00 via Android   ❤️ 1
    @jeffh 木兰警告
    hexagon
        28
    hexagon  
       2020-10-12 16:15:36 +08:00
    好中二啊、还啰嗦
    论有趣,你可以看看 dongbei 语言 https://github.com/zhanyong-wan/dongbei
    ytll21
        29
    ytll21  
       2020-10-12 16:20:51 +08:00   ❤️ 1
    创意不错
    Jaeger
        30
    Jaeger  
       2020-10-12 16:38:20 +08:00   ❤️ 1
    很有意思
    xinning1228
        31
    xinning1228  
       2020-10-12 16:41:00 +08:00
    16 岁高中生可以了
    pythonee
        32
    pythonee  
       2020-10-12 16:46:01 +08:00   ❤️ 1
    https://openframeworks.cc/

    我第一次想到的是这个
    StepfenShawn
        33
    StepfenShawn  
    OP
       2020-10-12 22:20:49 +08:00 via Android
    @hexagon 感谢你的吐槽,这个我之前看过,还有那个文言文语言也很有趣
    gou7ma7
        34
    gou7ma7  
       2020-11-11 10:57:40 +08:00
    @StepfenShawn #7 后生可畏啊!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   968 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:08 · PVG 06:08 · LAX 14:08 · JFK 17:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.