V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
StepfenShawn
V2EX  ›  分享创造

16 岁高中生开发的粤语编程语言在 github 上开源

  •  4
     
  •   StepfenShawn ·
    Stepfen-Shawn · 2021-02-07 17:08:59 +08:00 via Android · 13734 次点击
    这是一个创建于 1145 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自从 github 上出现了东北,上海,四川等方言编程语言,作为一个广东仔,没理由不开发一个粤语编程语言!

    于是我每天在骑车上学的路上都在构思着这个语言的语法,有次还差点发生事故了...为的只是让更多人感受到自己家乡的语言与编程语言相结合的魅力!

    由于没有经过专业的编码训练,所以这个项目花了我近 5 个周末的时间,但当我看到这个语言能生成语法树并执行出正确结果的时候,心中更是说不尽的激动!

    项目地址:
    https://github.com/StepfenShawn/Cantonese.git

    开发不易,路过请给颗 star 吧❤️❤️❤️
    第 1 条附言  ·  2021-02-18 13:52:37 +08:00
    第 2 条附言  ·  2021-09-24 20:37:48 +08:00
    96 条回复    2021-02-20 12:19:34 +08:00
    Xusually
        1
    Xusually  
       2021-02-07 17:16:18 +08:00
    好家伙!
    czfy
        2
    czfy  
       2021-02-07 17:17:31 +08:00
    落操场玩跑步

    犀飞利
    KusoJc
        3
    KusoJc  
       2021-02-07 17:19:21 +08:00   ❤️ 1
    犀飞利,但係需要用粤语正字就好有难度了
    CallMeReznov
        4
    CallMeReznov  
       2021-02-07 17:20:20 +08:00   ❤️ 1
    这个语言好,输入的时候脑海里自动生成语音.
    zagfai
        5
    zagfai  
       2021-02-07 17:26:22 +08:00   ❤️ 7
    年轻就是好 可以肆无忌惮地干些有用没用的东西 就是图个好玩 哈哈哈
    telung
        6
    telung  
       2021-02-07 17:26:39 +08:00
    广东仔都好有钱的
    lxhcool
        7
    lxhcool  
       2021-02-07 17:31:27 +08:00
    好家伙,我直呼好家伙
    CallMeReznov
        8
    CallMeReznov  
       2021-02-07 17:32:05 +08:00   ❤️ 7
    R18
        9
    R18  
       2021-02-07 17:32:20 +08:00   ❤️ 1
    乍一看以为是火星文 ヅ愛挖ィ尔怕ろó马ぺ
    Biwood
        10
    Biwood  
       2021-02-07 17:39:21 +08:00   ❤️ 1
    粤语属于古语,可以用精简的语句表达丰富的含义,所以比较适合转换成编程语言,跟之前的 wenyan-lang 有的一拼
    coolicer
        11
    coolicer  
       2021-02-07 17:40:12 +08:00
    广东人直呼不敢用
    icyalala
        12
    icyalala  
       2021-02-07 18:09:48 +08:00
    对粤语一点都不懂的我,看这东西感觉比外语还难懂。。
    phpnote
        13
    phpnote  
       2021-02-07 18:10:19 +08:00   ❤️ 12
    好家伙, 人才

    keyword = {
    "PRINT" : "畀我睇下",
    "ENDPRINT" : "点样先",
    "ASSIGN" : "讲嘢",
    "EXIT" : "同我躝",
    "IS" : "系",
    "ISNOT" : "唔系",
    "IF" : "如果",
    "THEN" : "嘅话",
    "DO" : "->",
    "BEGIN" : "{",
    "END" : "}",
    "TRUE" : "啱",
    "FALSE" : "唔啱",
    "NONE" : "冇",
    "WHILEDO" : "落操场玩跑步",
    "WHILE" : "玩到",
    "WHILEEND" : "为止",
    "CALL" : "用下",
    "IMPORT" : "使下",
    "IN" : "喺",
    "FUNCEND" : "搞掂",
    "FUNCBEGIN" : "要做咩",
    "AND" : "同埋",
    "OR" : "定",
    "RETURN" : "返转头",
    "TRY" : "执嘢",
    "EXCEPT" : "揾到",
    "FINALLY" : "执手尾",
    miaomiao888
        14
    miaomiao888  
       2021-02-07 19:53:48 +08:00   ❤️ 1
    羊文编程
    咩~
    IceBay
        15
    IceBay  
       2021-02-07 20:00:01 +08:00
    咩啊
    咩啊
    咩啊
    wqzjk393
        16
    wqzjk393  
       2021-02-07 20:01:07 +08:00 via iPhone   ❤️ 3
    “!”:丢你个扑街
    sunny352787
        17
    sunny352787  
       2021-02-07 20:02:53 +08:00
    StepfenShawn
        18
    StepfenShawn  
    OP
       2021-02-07 20:06:34 +08:00 via Android
    @sunny352787 多谢,star 了一个
    sunny352787
        19
    sunny352787  
       2021-02-07 20:07:23 +08:00
    @StepfenShawn 哈哈哈哈也没收录几个,你已经很棒了
    wunonglin
        20
    wunonglin  
       2021-02-07 20:15:50 +08:00   ❤️ 3
    非凡哥直呼内行
    ```
    讲嘢: |start| 系 0
    落操场玩跑步
    讲嘢: |start| 系 |start + 1|
    畀我睇下 |start| 点样先?
    玩到 |start < 100| 为止
    ```
    smart9527
        21
    smart9527  
       2021-02-07 21:01:22 +08:00
    犀沟利~!
    Ultraman
        22
    Ultraman  
       2021-02-07 21:07:19 +08:00 via Android   ❤️ 2
    此时一位不会粤语的靓仔离开了直播间
    IFoon
        23
    IFoon  
       2021-02-07 21:14:02 +08:00
    北方人一脸懵逼。
    crab
        24
    crab  
       2021-02-07 21:18:37 +08:00
    mrchi
        25
    mrchi  
       2021-02-07 21:21:23 +08:00   ❤️ 1
    确实挺好玩的,希望你能更加深入的探索下去,而不是仅仅满足于给 python 套个壳
    ethanlu
        26
    ethanlu  
       2021-02-07 22:00:02 +08:00   ❤️ 1
    作为广州人,梗系 STAR+1
    StepfenShawn
        27
    StepfenShawn  
    OP
       2021-02-07 22:13:16 +08:00 via Android
    @ethanlu 多谢!
    lxiszuhi
        28
    lxiszuhi  
       2021-02-07 22:29:13 +08:00
    型英帅靓正
    suyeH
        29
    suyeH  
       2021-02-07 22:41:53 +08:00   ❤️ 2
    没仔细看,瞄了一眼 readme 似乎就是 python 套壳
    revalue
        30
    revalue  
       2021-02-07 23:24:29 +08:00   ❤️ 5
    5 个周末只能这样了,变量替换而已,俗称 i18n
    kimwang
        31
    kimwang  
       2021-02-07 23:47:41 +08:00 via Android
    开发个粤语点读笔吧,字库可扩充可自定义,500 内我要一根。
    Gizmo
        32
    Gizmo  
       2021-02-08 01:43:07 +08:00 via Android
    睡覺,粵語係咁寫先啱==>瞓覺
    jamry
        33
    jamry  
       2021-02-08 09:04:54 +08:00   ❤️ 1
    犀飞利,比个 Star 你
    StepfenShawn
        34
    StepfenShawn  
    OP
       2021-02-08 09:10:01 +08:00 via Android
    @jamry 唔该晒!
    caoshufan
        35
    caoshufan  
       2021-02-08 09:14:48 +08:00
    犀利犀利
    soulzz
        36
    soulzz  
       2021-02-08 09:37:28 +08:00   ❤️ 1
    😂粗一看很 nb
    一看.py 文件 好家伙
    我上我也行
    commoccoom
        37
    commoccoom  
       2021-02-08 10:11:53 +08:00
    @revalue 你这,好家伙😂
    lzdyes
        38
    lzdyes  
       2021-02-08 10:35:24 +08:00
    直呼内行
    someonedeng
        39
    someonedeng  
       2021-02-08 11:16:53 +08:00
    过于生草
    Elethom
        40
    Elethom  
       2021-02-08 11:27:07 +08:00 via iPhone   ❤️ 1
    @soulzz
    16 岁能写 tokeniser 可以了吧。我 16 岁想上网都不容易呢。
    bojue
        41
    bojue  
       2021-02-08 11:30:34 +08:00
    16 岁厉害了,年少有为
    0xroot
        42
    0xroot  
       2021-02-08 11:35:40 +08:00 via iPhone
    看完表示已经扑街了 学废了
    handle233
        43
    handle233  
       2021-02-08 11:50:36 +08:00   ❤️ 1
    嘅系 Star 下先。给个广东话用词表就靓噻😂
    Stlin
        44
    Stlin  
       2021-02-08 11:57:41 +08:00
    好家伙!畀我睇下先
    djyde
        45
    djyde  
       2021-02-08 12:01:26 +08:00
    哈哈 有意思
    superliwei
        46
    superliwei  
       2021-02-08 12:27:57 +08:00
    让我想起了🐔
    Joker123456789
        47
    Joker123456789  
       2021-02-08 14:13:51 +08:00
    编译器用什么写的?
    StepfenShawn
        48
    StepfenShawn  
    OP
       2021-02-08 14:18:07 +08:00 via Android
    JoeoooLAI
        49
    JoeoooLAI  
       2021-02-08 14:33:47 +08:00   ❤️ 1
    哇咁柒屌,真系犀鸠利啵,整粒 star 畀你喇,后生仔冲啊(唔好学阿叔讲粗口
    robinlovemaggie
        50
    robinlovemaggie  
       2021-02-08 14:50:04 +08:00
    不论好坏都值得鼓励,加油靓仔~
    java8
        51
    java8  
       2021-02-08 14:54:29 +08:00
    此时一位四川的靓仔路过
    java8
        52
    java8  
       2021-02-08 14:55:43 +08:00
    并说了句:好家伙,高中生 5 个周末的时间就搞定了
    recordnow
        53
    recordnow  
       2021-02-08 14:58:07 +08:00
    靓仔,你系想食咗你件衫,定系着咗你碗饭?
    tibifide
        54
    tibifide  
       2021-02-08 15:04:57 +08:00
    整的巴适哦
    lxrmido
        55
    lxrmido  
       2021-02-08 15:20:59 +08:00
    镇住了
    discrete
        56
    discrete  
       2021-02-08 15:27:06 +08:00
    「讲嘢」改成「讲」感觉读起来更流畅一点
    faust24601
        57
    faust24601  
       2021-02-08 15:45:49 +08:00 via iPhone
    我直接好家伙
    Limius
        58
    Limius  
       2021-02-08 15:53:13 +08:00   ❤️ 1
    如果真係想用廣東話嚟度編程,起碼你嘅廣東話正字都唔好出現錯字啦.
    “系”應該用“係”,如果以後你仲有需要表達普通話“在”呢個字你就可以用“喺”,都係唔一樣嘅,我都唔知點解咁多人鍾意用“系”
    仲有 D 人“嗰”同咪“個”分唔清嘅.
    Limius
        59
    Limius  
       2021-02-08 15:56:09 +08:00
    @JoeoooLAI 屌啦,廣東話唔加粗口仲講乜 L 廣東話 wor
    liangjx
        60
    liangjx  
       2021-02-08 16:06:54 +08:00
    好家伙
    www5070504
        61
    www5070504  
       2021-02-08 16:24:23 +08:00
    hhhhhh
    noroot
        62
    noroot  
       2021-02-08 16:34:31 +08:00   ❤️ 1
    吔屎啦你 => raise
    sth2018
        63
    sth2018  
       2021-02-08 16:36:23 +08:00   ❤️ 1
    建议加上开源许可协议,小心被白嫖
    Marszm
        64
    Marszm  
       2021-02-08 16:57:31 +08:00
    你人他喵的是个人才..
    StepfenShawn
        65
    StepfenShawn  
    OP
       2021-02-08 17:03:30 +08:00 via Android
    @noroot 汝甚秀,这个语句可以有。 😄
    benjyair
        66
    benjyair  
       2021-02-08 17:12:43 +08:00
    唔该晒
    fffang
        67
    fffang  
       2021-02-08 17:19:39 +08:00
    要不再用英语实现一遍这个语言的解释器?
    zro
        68
    zro  
       2021-02-08 17:29:25 +08:00
    鸡同鸭讲。。
    StepfenShawn
        69
    StepfenShawn  
    OP
       2021-02-08 18:34:54 +08:00 via Android
    @JoeoooLAI 哈哈哈哈,多谢多谢
    StepfenShawn
        70
    StepfenShawn  
    OP
       2021-02-09 06:32:58 +08:00 via Android
    @sth2018 已加 MIT 协议 :)
    abcd191898105
        71
    abcd191898105  
       2021-02-09 13:34:31 +08:00
    好像语法糖,编译前转义一下子,稳,全球编程语言狂喜
    polarpy
        72
    polarpy  
       2021-02-09 15:37:42 +08:00
    烫烫烫烫
    uselessVisitor
        73
    uselessVisitor  
       2021-02-09 16:58:50 +08:00
    “由于没有经过专业的编码训练,所以这个项目花了我近 5 个周末的时间”
    myqoo
        74
    myqoo  
       2021-02-09 16:58:56 +08:00
    吼啊,识得唔识得啊
    noroot
        75
    noroot  
       2021-02-09 19:18:44 +08:00
    @StepfenShawn 语句替换好点,写一次代码等于演一出卡门(狗头
    Linuk
        76
    Linuk  
       2021-02-09 19:24:58 +08:00
    nb
    Linuk
        77
    Linuk  
       2021-02-09 22:19:20 +08:00   ❤️ 1
    建议实现栈结构,然后
    顶你 => push
    丢你 => pop
    Linuk
        78
    Linuk  
       2021-02-09 22:24:20 +08:00
    @suyeH 更有趣的是, 除了文言文,其它方言都是 Python 套壳, 感觉就是在讽刺"木兰"编程
    StepfenShawn
        79
    StepfenShawn  
    OP
       2021-02-09 22:32:31 +08:00 via Android
    @Linuk 本来想用 bison 写的,但由于 c 语言不熟练,后来又选择了 Python😂
    StepfenShawn
        80
    StepfenShawn  
    OP
       2021-02-09 22:37:11 +08:00 via Android
    @Linuk 我去年还写了一个语言 Square
    https://github.com/square-lang/Square.git
    用 C 写的,bug 调得太蛋疼了,从此对 C 产生了阴影
    Linuk
        81
    Linuk  
       2021-02-10 10:30:19 +08:00
    @StepfenShawn 年纪轻轻就开始研究编程语言,小伙子有前途!
    StepfenShawn
        82
    StepfenShawn  
    OP
       2021-02-10 16:54:24 +08:00 via Android
    @Limius 写咗错字真係丢架,到时连住 bug 一齐改。
    大陆宜家都用普通话教学,好多人都未学过粤语正字(包括我)
    Linuk
        83
    Linuk  
       2021-02-11 16:18:46 +08:00 via Android
    对比了一下东北编程好奇问一下这个语言怎么定义一个 list
    StepfenShawn
        84
    StepfenShawn  
    OP
       2021-02-11 16:31:54 +08:00 via Android
    @Linuk 可以用赋值语句
    讲嘢: A 系 |[1, 2, 3]|
    不过我想了一个新的语句声明 list:
    |1, 2, 3| 拍住上 -> A
    这样写就优美很多
    支持这个语法的代码其实已经写好了,不过现在我还在调循环嵌套的 bug,估计今晚就能上传代码
    StepfenShawn
        85
    StepfenShawn  
    OP
       2021-02-11 20:09:27 +08:00 via Android
    @Linuk 更新了,新的 list 定义语法能用了
    StepfenShawn
        86
    StepfenShawn  
    OP
       2021-02-11 20:32:48 +08:00 via Android
    @phpnote 哈哈哈,代码已更新,之前用 map 实在太耗资源了😂
    cdlnls
        87
    cdlnls  
       2021-02-12 09:22:15 +08:00 via Android
    我觉得有必要把英文的<>:-符号都换成中文字符,要不然打几个汉子就得换个输入法,这也太麻烦了
    StepfenShawn
        88
    StepfenShawn  
    OP
       2021-02-12 19:01:38 +08:00 via Android
    @cdlnls 没错,这就准备去更新代码
    Linuk
        89
    Linuk  
       2021-02-13 15:56:06 +08:00 via Android
    @StepfenShawn 这语法可以,写起来有点 R 语言和 Ruby 的味道了
    hanghang
        90
    hanghang  
       2021-02-13 22:40:12 +08:00
    犀撚柒利
    StepfenShawn
        91
    StepfenShawn  
    OP
       2021-02-16 19:15:48 +08:00 via Android
    @Linuk 已更新,stack 语句能用了
    StepfenShawn
        92
    StepfenShawn  
    OP
       2021-02-16 19:16:58 +08:00 via Android
    栈的操作,哈哈哈
    有条扑街叫 |Deo 哥|
    顶你 -> |Deo 哥|: 1
    顶你 -> |Deo 哥|: 2
    顶你 -> |Deo 哥|: 3
    丢你 -> |Deo 哥|
    hantsy
        93
    hantsy  
       2021-02-17 11:00:18 +08:00
    @StepfenShawn 有前途
    StepfenShawn
        94
    StepfenShawn  
    OP
       2021-02-17 21:12:21 +08:00 via Android
    Cantonese 开始可以用来做统计学了,新语句:
    计算皮尔逊相关系数:

    使下 math
    |2.165, 1.688, 1.651, 2.229| 拍住上 -> |A|
    |2.060, 1.822, 1.834, 2.799| 拍住上 -> |B|
    畀我睇下 |A 同 B 有几衬| 点样先?

    运行结果:
    0.8066499427138474
    haojunmei
        95
    haojunmei  
       2021-02-20 01:04:56 +08:00
    Star 佐了,得闲 dl 落黎玩下
    StepfenShawn
        96
    StepfenShawn  
    OP
       2021-02-20 12:19:34 +08:00 via Android
    @haojunmei 多谢晒!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5219 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 07:21 · PVG 15:21 · LAX 00:21 · JFK 03:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.