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

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

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

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

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

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

    开发不易,路过请给颗 star 吧❤️❤️❤️
    第 1 条附言  ·  287 天前
    第 2 条附言  ·  68 天前
    96 条回复    2021-02-20 12:19:34 +08:00
    Xusually
        1
    Xusually  
       298 天前
    好家伙!
    czfy
        2
    czfy  
       298 天前
    落操场玩跑步

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