我在设计开发的编程语言, Hello, World 跑通了

299 天前
 daqing

语言暂时取名叫:Emo 。

目前实现了函数和类的调用。

看图说话:

9452 次点击
所在节点    分享创造
89 条回复
asdhak
299 天前
@fsq #12 语言已换壳为本
jsq2627
299 天前
> V2EX 第 51 号会员

哇 真大佬
2024
299 天前
可以开源出来吗,代码学习学习
Pantheoon
299 天前
文件后缀为啥是 emo?是因为写这个语言的这段时间情绪状态不高吗
OnlyO
299 天前
厉害, 支持, 虽然我看着感觉像是 Kotlin
fcten
299 天前
objective-go
Nzelites
299 天前
虽然一下没理解设计思路 但是看起来挺有趣的
iamzuoxinyu
299 天前
提一点:如果你的类型不作为运行时的一种数据(类似 lua/js 那种 prototype oriented 模式),new 作为关键字,最好不要用函数调用的语法, 否则 new() 的第一个参数传入类型名字其实也挺奇怪的(除非)。
Ghostisbored
299 天前
都已经卷到这个程度了么
mayli
299 天前
@daqing 恭喜你,搞定了本科阶段的编译原理大作业。
byp
299 天前
啥时候自举啊
yangliudi123
299 天前
编译器不是必须的,解释器也行。
caola
299 天前
6 啊,我也有过自己写一套语言。
我的想法是开发一个全部只有 字符串(string) 一种类型的语言,这样就不用去处理各种类型上的烦事,考虑到内存分配问题可以提前手动指定是属于 tinytext 、text 、mediumtext 、longtext ,默认是自动变长的。随着以后的计机算性能越来越好,这种单一类型的语言性能不会很差,重要的是开发效率上去了。
与 PHP 不同的是 这个语言是面向底层级的语言,与 rust 一样要属于内存安全型。

好了,我的想象已经完了,但我肯定不会去开发的,除非财务自由了再考虑付出行动研究。
newtype0092
299 天前
想起来以前做游戏的时候,用 lua 这种没有 class 的脚本语言需要模拟 class 的时候就会定义一个类似这样的 new 方法来初始化。

这里 new 的第二个参数是个 kv 字典,如何保证 k 和 class 的成员属性对应就很麻烦,能处理的方式非常多,对 class 这种基础特性来说就有点太自由了。
asche910
299 天前
本来想找找茬的,一看“V2EX 第 51 号会员”,算了,我不够格
Jirajine
299 天前
@caola #53 上一个只有字符串一种类型的语言是 shell 脚本,还有一个 Tcl 也能算。开发效率如何我就不说什么了。
qcbf111
299 天前
@finab flutter-dart 就是这样写的
Kilerd
299 天前
看了看源码:
手搓 parser 、没有抽象出 VM ,用了 native golang 来做 eval ,没有抽象出 opcode 和 bytecode

还在初始阶段就是了。 看起来是一个强类型的解析式语言
lambdaX999
299 天前
确实像 swift
daqing
299 天前
@MrLiu04 你有 API 接口,就肯定可以呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1089110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX