学习下编译原理,请问 有没有 golang 写一门脚本语言的课程?
类似框架也行,公司一个项目要开发一门很简单的语言给非技术人员使用
![]() | 1 lwch 2021-11-17 18:46:24 +08:00 https://github.com/lwch/QLanguage/tree/dev/Source/QParserGenerator 有 cpp 版本的 LALR(1)Generator |
![]() | 2 hidemyself 2021-11-17 18:48:35 +08:00 antlr? |
![]() | 3 sadfQED2 2021-11-17 18:50:18 +08:00 via Android 需求是什么,你就算开发出来一门编程语言,非技术人员也照样不会用吧。 如果要让他们在你系统里面写逻辑的话在你项目里面嵌入 lua 或者 js 即可 |
![]() | 4 DollarKiller OP @sadfQED2 需求 就是 对不同类型的 JSON 写 Validate 规则 |
5 kassadin 2021-11-17 19:02:57 +08:00 Writing An Interpreter In Go |
![]() | 6 sadfQED2 2021-11-17 19:06:02 +08:00 via Android ![]() @DollarKiller 我的个龟龟,这么个需求你就要造一个编程语言,下次遇到格式化 json 你得造个 cpu 了 |
![]() | 7 Buges 2021-11-17 19:17:52 +08:00 via Android go 类型系统残废,写 parser 太费劲。 并且你这需求真的有必要弄个 dsl 出来?写个前端让非技术人员点几下生成 json schema 就行了。 |
![]() | 8 YUX PRO ![]() |
![]() | 9 ruanimal 2021-11-17 22:44:19 +08:00 ![]() @DollarKiller jsonschema ? |
10 feilong 2021-11-18 08:30:43 +08:00 via Android 如果真要走编译原理路线那就是利用 antlr 的 golang 后端了,但是为啥是 golang ?我觉得你可能需要的是这种东西 -> https://robotframework.org/ |
![]() | 13 macscsbf 2021-11-18 16:44:42 +08:00 你可以看看 flux |
14 jones2000 2021-11-18 17:47:06 +08:00 看编译原理的书就可以呀, 计算机专业大学都开这门课的。 词法分析-》语法分析-》生成抽象语法树( AST )就可以了呀。 根据 AST 就可以转成其语言的代码了。不难,花时间看书就可以。 |
15 77yf77yf77yf 2021-11-18 17:50:28 +08:00 需求上来看完全没必要这么干 要推荐而且是 golang 的话可以看看 webassembly 原理与核心技术 |
16 Donahue 2021-11-18 18:12:16 +08:00 推荐 Nand2Tetris 项目, 编译原理的书先简单看一遍, 然后做这个项目的 part 2: jack-compiler, 然后再看书就很明朗了 |
17 koebehshian 2021-11-18 23:16:19 +08:00 Lua 开源的,可以先看 1.1 版本,比较简单 |