想学习下编译原理,请问 有没有 golang 写一门脚本语言的课程?

2021-11-17 18:43:16 +08:00
 DollarKiller

学习下编译原理,请问 有没有 golang 写一门脚本语言的课程?

类似框架也行,公司一个项目要开发一门很简单的语言给非技术人员使用

2589 次点击
所在节点    程序员
17 条回复
lwch
2021-11-17 18:46:24 +08:00
hidemyself
2021-11-17 18:48:35 +08:00
antlr?
sadfQED2
2021-11-17 18:50:18 +08:00
需求是什么,你就算开发出来一门编程语言,非技术人员也照样不会用吧。

如果要让他们在你系统里面写逻辑的话在你项目里面嵌入 lua 或者 js 即可
DollarKiller
2021-11-17 18:54:48 +08:00
@sadfQED2 需求 就是 对不同类型的 JSON 写 Validate 规则
kassadin
2021-11-17 19:02:57 +08:00
Writing An Interpreter In Go
sadfQED2
2021-11-17 19:06:02 +08:00
@DollarKiller 我的个龟龟,这么个需求你就要造一个编程语言,下次遇到格式化 json 你得造个 cpu 了
Buges
2021-11-17 19:17:52 +08:00
go 类型系统残废,写 parser 太费劲。
并且你这需求真的有必要弄个 dsl 出来?写个前端让非技术人员点几下生成 json schema 就行了。
YUX
2021-11-17 19:43:44 +08:00
《自己动手实现 Lua:虚拟机、编译器和标准库》

https://item.jd.com/12458778.html
ruanimal
2021-11-17 22:44:19 +08:00
@DollarKiller jsonschema ?
feilong
2021-11-18 08:30:43 +08:00
如果真要走编译原理路线那就是利用 antlr 的 golang 后端了,但是为啥是 golang ?我觉得你可能需要的是这种东西 -> https://robotframework.org/
FungKao
2021-11-18 10:31:02 +08:00
@kassadin 我翻译过这本书,不过被作者私信了
wangyzj
2021-11-18 13:21:51 +08:00
@YUX #8 我也想推荐这本来着
macscsbf
2021-11-18 16:44:42 +08:00
你可以看看 flux
jones2000
2021-11-18 17:47:06 +08:00
看编译原理的书就可以呀, 计算机专业大学都开这门课的。 词法分析-》语法分析-》生成抽象语法树( AST )就可以了呀。 根据 AST 就可以转成其语言的代码了。不难,花时间看书就可以。
77yf77yf77yf
2021-11-18 17:50:28 +08:00
需求上来看完全没必要这么干
要推荐而且是 golang 的话可以看看 webassembly 原理与核心技术
Donahue
2021-11-18 18:12:16 +08:00
推荐 Nand2Tetris 项目, 编译原理的书先简单看一遍, 然后做这个项目的 part 2: jack-compiler, 然后再看书就很明朗了
koebehshian
2021-11-18 23:16:19 +08:00
Lua 开源的,可以先看 1.1 版本,比较简单

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

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

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

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

© 2021 V2EX