V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
StepfenShawn

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

  •  4
     
  •   StepfenShawn ·
    Stepfen-Shawn · Feb 7, 2021 via Android · 15183 views
    This topic created in 1905 days ago, the information mentioned may be changed or developed.
    自从 github 上出现了东北,上海,四川等方言编程语言,作为一个广东仔,没理由不开发一个粤语编程语言!

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

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

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

    开发不易,路过请给颗 star 吧❤️❤️❤️
    Supplement 1  ·  Feb 18, 2021
    Supplement 2  ·  Sep 24, 2021
    96 replies    2021-02-20 12:19:34 +08:00
    Xusually
        1
    Xusually  
       Feb 7, 2021
    好家伙!
    jr55475f112iz2tu
        2
    jr55475f112iz2tu  
       Feb 7, 2021
    落操场玩跑步

    犀飞利
    KusoJc
        3
    KusoJc  
       Feb 7, 2021   ❤️ 1
    犀飞利,但係需要用粤语正字就好有难度了
    CallMeReznov
        4
    CallMeReznov  
       Feb 7, 2021   ❤️ 1
    这个语言好,输入的时候脑海里自动生成语音.
    zagfai
        5
    zagfai  
       Feb 7, 2021   ❤️ 7
    年轻就是好 可以肆无忌惮地干些有用没用的东西 就是图个好玩 哈哈哈
    telung
        6
    telung  
       Feb 7, 2021
    广东仔都好有钱的
    lxhcool
        7
    lxhcool  
       Feb 7, 2021
    好家伙,我直呼好家伙
    CallMeReznov
        8
    CallMeReznov  
       Feb 7, 2021   ❤️ 7
    R18
        9
    R18  
       Feb 7, 2021   ❤️ 1
    乍一看以为是火星文 ヅ愛挖ィ尔怕ろó马ぺ
    Biwood
        10
    Biwood  
       Feb 7, 2021   ❤️ 1
    粤语属于古语,可以用精简的语句表达丰富的含义,所以比较适合转换成编程语言,跟之前的 wenyan-lang 有的一拼
    coolicer
        11
    coolicer  
       Feb 7, 2021
    广东人直呼不敢用
    icyalala
        12
    icyalala  
       Feb 7, 2021
    对粤语一点都不懂的我,看这东西感觉比外语还难懂。。
    phpnote
        13
    phpnote  
       Feb 7, 2021   ❤️ 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  
       Feb 7, 2021   ❤️ 1
    羊文编程
    咩~
    icebay
        15
    icebay  
       Feb 7, 2021
    咩啊
    咩啊
    咩啊
    wqzjk393
        16
    wqzjk393  
       Feb 7, 2021 via iPhone   ❤️ 3
    “!”:丢你个扑街
    sunny352787
        17
    sunny352787  
       Feb 7, 2021
    StepfenShawn
        18
    StepfenShawn  
    OP
       Feb 7, 2021 via Android
    @sunny352787 多谢,star 了一个
    sunny352787
        19
    sunny352787  
       Feb 7, 2021
    @StepfenShawn 哈哈哈哈也没收录几个,你已经很棒了
    shakaraka
        20
    shakaraka  
    PRO
       Feb 7, 2021   ❤️ 3
    非凡哥直呼内行
    ```
    讲嘢: |start| 系 0
    落操场玩跑步
    讲嘢: |start| 系 |start + 1|
    畀我睇下 |start| 点样先?
    玩到 |start < 100| 为止
    ```
    smart9527
        21
    smart9527  
       Feb 7, 2021
    犀沟利~!
    Ultraman
        22
    Ultraman  
       Feb 7, 2021 via Android   ❤️ 2
    此时一位不会粤语的靓仔离开了直播间
    IFoon
        23
    IFoon  
       Feb 7, 2021
    北方人一脸懵逼。
    crab
        24
    crab  
       Feb 7, 2021
    mrchi
        25
    mrchi  
       Feb 7, 2021   ❤️ 1
    确实挺好玩的,希望你能更加深入的探索下去,而不是仅仅满足于给 python 套个壳
    ethanlu
        26
    ethanlu  
       Feb 7, 2021   ❤️ 1
    作为广州人,梗系 STAR+1
    StepfenShawn
        27
    StepfenShawn  
    OP
       Feb 7, 2021 via Android
    @ethanlu 多谢!
    lxiszuhi
        28
    lxiszuhi  
       Feb 7, 2021
    型英帅靓正
    suyeH
        29
    suyeH  
       Feb 7, 2021   ❤️ 2
    没仔细看,瞄了一眼 readme 似乎就是 python 套壳
    revalue
        30
    revalue  
       Feb 7, 2021   ❤️ 5
    5 个周末只能这样了,变量替换而已,俗称 i18n
    kimwang
        31
    kimwang  
       Feb 7, 2021 via Android
    开发个粤语点读笔吧,字库可扩充可自定义,500 内我要一根。
    Gizmo
        32
    Gizmo  
       Feb 8, 2021 via Android
    睡覺,粵語係咁寫先啱==>瞓覺
    jamry
        33
    jamry  
       Feb 8, 2021   ❤️ 1
    犀飞利,比个 Star 你
    StepfenShawn
        34
    StepfenShawn  
    OP
       Feb 8, 2021 via Android
    @jamry 唔该晒!
    caoshufan
        35
    caoshufan  
       Feb 8, 2021
    犀利犀利
    soulzz
        36
    soulzz  
       Feb 8, 2021   ❤️ 1
    😂粗一看很 nb
    一看.py 文件 好家伙
    我上我也行
    commoccoom
        37
    commoccoom  
       Feb 8, 2021
    @revalue 你这,好家伙😂
    lzdyes
        38
    lzdyes  
       Feb 8, 2021
    直呼内行
    someonedeng
        39
    someonedeng  
       Feb 8, 2021
    过于生草
    Elethom
        40
    Elethom  
       Feb 8, 2021 via iPhone   ❤️ 1
    @soulzz
    16 岁能写 tokeniser 可以了吧。我 16 岁想上网都不容易呢。
    bojue
        41
    bojue  
       Feb 8, 2021
    16 岁厉害了,年少有为
    0xroot
        42
    0xroot  
       Feb 8, 2021 via iPhone
    看完表示已经扑街了 学废了
    handle233
        43
    handle233  
       Feb 8, 2021   ❤️ 1
    嘅系 Star 下先。给个广东话用词表就靓噻😂
    Stlin
        44
    Stlin  
       Feb 8, 2021
    好家伙!畀我睇下先
    djyde
        45
    djyde  
       Feb 8, 2021
    哈哈 有意思
    superliwei
        46
    superliwei  
       Feb 8, 2021
    让我想起了🐔
    Joker123456789
        47
    Joker123456789  
       Feb 8, 2021
    编译器用什么写的?
    StepfenShawn
        48
    StepfenShawn  
    OP
       Feb 8, 2021 via Android
    JoeoooLAI
        49
    JoeoooLAI  
       Feb 8, 2021   ❤️ 1
    哇咁柒屌,真系犀鸠利啵,整粒 star 畀你喇,后生仔冲啊(唔好学阿叔讲粗口
    robinlovemaggie
        50
    robinlovemaggie  
       Feb 8, 2021
    不论好坏都值得鼓励,加油靓仔~
    java8
        51
    java8  
       Feb 8, 2021
    此时一位四川的靓仔路过
    java8
        52
    java8  
       Feb 8, 2021
    并说了句:好家伙,高中生 5 个周末的时间就搞定了
    recordnow
        53
    recordnow  
       Feb 8, 2021
    靓仔,你系想食咗你件衫,定系着咗你碗饭?
    tibifide
        54
    tibifide  
       Feb 8, 2021
    整的巴适哦
    lxrmido
        55
    lxrmido  
       Feb 8, 2021
    镇住了
    discrete
        56
    discrete  
       Feb 8, 2021
    「讲嘢」改成「讲」感觉读起来更流畅一点
    faust24601
        57
    faust24601  
       Feb 8, 2021 via iPhone
    我直接好家伙
    Limius
        58
    Limius  
       Feb 8, 2021   ❤️ 1
    如果真係想用廣東話嚟度編程,起碼你嘅廣東話正字都唔好出現錯字啦.
    “系”應該用“係”,如果以後你仲有需要表達普通話“在”呢個字你就可以用“喺”,都係唔一樣嘅,我都唔知點解咁多人鍾意用“系”
    仲有 D 人“嗰”同咪“個”分唔清嘅.
    Limius
        59
    Limius  
       Feb 8, 2021
    @JoeoooLAI 屌啦,廣東話唔加粗口仲講乜 L 廣東話 wor
    liangjx
        60
    liangjx  
       Feb 8, 2021
    好家伙
    www5070504
        61
    www5070504  
       Feb 8, 2021
    hhhhhh
    noroot
        62
    noroot  
       Feb 8, 2021   ❤️ 1
    吔屎啦你 => raise
    sth2018
        63
    sth2018  
       Feb 8, 2021   ❤️ 1
    建议加上开源许可协议,小心被白嫖
    Marszm
        64
    Marszm  
       Feb 8, 2021
    你人他喵的是个人才..
    StepfenShawn
        65
    StepfenShawn  
    OP
       Feb 8, 2021 via Android
    @noroot 汝甚秀,这个语句可以有。 😄
    benjyair
        66
    benjyair  
       Feb 8, 2021
    唔该晒
    fffang
        67
    fffang  
       Feb 8, 2021
    要不再用英语实现一遍这个语言的解释器?
    zro
        68
    zro  
       Feb 8, 2021
    鸡同鸭讲。。
    StepfenShawn
        69
    StepfenShawn  
    OP
       Feb 8, 2021 via Android
    @JoeoooLAI 哈哈哈哈,多谢多谢
    StepfenShawn
        70
    StepfenShawn  
    OP
       Feb 9, 2021 via Android
    @sth2018 已加 MIT 协议 :)
    abcd191898105
        71
    abcd191898105  
       Feb 9, 2021
    好像语法糖,编译前转义一下子,稳,全球编程语言狂喜
    polarpy
        72
    polarpy  
       Feb 9, 2021
    烫烫烫烫
    zm8m93Q1e5otOC69
        73
    zm8m93Q1e5otOC69  
       Feb 9, 2021
    “由于没有经过专业的编码训练,所以这个项目花了我近 5 个周末的时间”
    myqoo
        74
    myqoo  
       Feb 9, 2021
    吼啊,识得唔识得啊
    noroot
        75
    noroot  
       Feb 9, 2021
    @StepfenShawn 语句替换好点,写一次代码等于演一出卡门(狗头
    Linuk
        76
    Linuk  
       Feb 9, 2021
    nb
    Linuk
        77
    Linuk  
       Feb 9, 2021   ❤️ 1
    建议实现栈结构,然后
    顶你 => push
    丢你 => pop
    Linuk
        78
    Linuk  
       Feb 9, 2021
    @suyeH 更有趣的是, 除了文言文,其它方言都是 Python 套壳, 感觉就是在讽刺"木兰"编程
    StepfenShawn
        79
    StepfenShawn  
    OP
       Feb 9, 2021 via Android
    @Linuk 本来想用 bison 写的,但由于 c 语言不熟练,后来又选择了 Python😂
    StepfenShawn
        80
    StepfenShawn  
    OP
       Feb 9, 2021 via Android
    @Linuk 我去年还写了一个语言 Square
    https://github.com/square-lang/Square.git
    用 C 写的,bug 调得太蛋疼了,从此对 C 产生了阴影
    Linuk
        81
    Linuk  
       Feb 10, 2021
    @StepfenShawn 年纪轻轻就开始研究编程语言,小伙子有前途!
    StepfenShawn
        82
    StepfenShawn  
    OP
       Feb 10, 2021 via Android
    @Limius 写咗错字真係丢架,到时连住 bug 一齐改。
    大陆宜家都用普通话教学,好多人都未学过粤语正字(包括我)
    Linuk
        83
    Linuk  
       Feb 11, 2021 via Android
    对比了一下东北编程好奇问一下这个语言怎么定义一个 list
    StepfenShawn
        84
    StepfenShawn  
    OP
       Feb 11, 2021 via Android
    @Linuk 可以用赋值语句
    讲嘢: A 系 |[1, 2, 3]|
    不过我想了一个新的语句声明 list:
    |1, 2, 3| 拍住上 -> A
    这样写就优美很多
    支持这个语法的代码其实已经写好了,不过现在我还在调循环嵌套的 bug,估计今晚就能上传代码
    StepfenShawn
        85
    StepfenShawn  
    OP
       Feb 11, 2021 via Android
    @Linuk 更新了,新的 list 定义语法能用了
    StepfenShawn
        86
    StepfenShawn  
    OP
       Feb 11, 2021 via Android
    @phpnote 哈哈哈,代码已更新,之前用 map 实在太耗资源了😂
    cctv6
        87
    cctv6  
       Feb 12, 2021 via Android
    我觉得有必要把英文的<>:-符号都换成中文字符,要不然打几个汉子就得换个输入法,这也太麻烦了
    StepfenShawn
        88
    StepfenShawn  
    OP
       Feb 12, 2021 via Android
    @cdlnls 没错,这就准备去更新代码
    Linuk
        89
    Linuk  
       Feb 13, 2021 via Android
    @StepfenShawn 这语法可以,写起来有点 R 语言和 Ruby 的味道了
    hanghang
        90
    hanghang  
       Feb 13, 2021
    犀撚柒利
    StepfenShawn
        91
    StepfenShawn  
    OP
       Feb 16, 2021 via Android
    @Linuk 已更新,stack 语句能用了
    StepfenShawn
        92
    StepfenShawn  
    OP
       Feb 16, 2021 via Android
    栈的操作,哈哈哈
    有条扑街叫 |Deo 哥|
    顶你 -> |Deo 哥|: 1
    顶你 -> |Deo 哥|: 2
    顶你 -> |Deo 哥|: 3
    丢你 -> |Deo 哥|
    hantsy
        93
    hantsy  
       Feb 17, 2021
    @StepfenShawn 有前途
    StepfenShawn
        94
    StepfenShawn  
    OP
       Feb 17, 2021 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  
       Feb 20, 2021
    Star 佐了,得闲 dl 落黎玩下
    StepfenShawn
        96
    StepfenShawn  
    OP
       Feb 20, 2021 via Android
    @haojunmei 多谢晒!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5786 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 294ms · UTC 03:40 · PVG 11:40 · LAX 20:40 · JFK 23:40
    ♥ Do have faith in what you're doing.