16 岁高中生开发的粤语编程语言在 github 上开源 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
This topic created in 1904 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     847 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 231ms UTC 21:39 PVG 05:39 LAX 14:39 JFK 17:39
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86