
1 Cofyc OP 不知道如何贴代码,用 "----" 代替了缩进。 |
2 Cofyc OP 补充:macosx 下开发,还没 port 到 linux |
4 ultragtx 2012-08-29 23:40:14 +08:00 nb |
5 miaoever 2012-08-29 23:43:34 +08:00 也想自己言,但不知道何做起,看本原理的,感偏理,上不知道如何一步一步下手,主指教,多。 |
7 Cofyc OP @thedevil7 下手总是从最开始的入手。 1+2*3 这是一个算式,但也是大多语言的一部分。如果你看过编译原理,里面会提到 lex, yacc 等工具,分别是词法和语法解析生产工具(目前主要使用其后代,re2c,bison等)。而这些工具的手册里就有如何实现一个计算器的范例。可以从这里开始实践并学习。 |
8 haiyang416 2012-08-30 00:14:37 +08:00 只为了鼓励下楼主。 |
9 udonmai 2012-08-30 00:16:23 +08:00 赞~ 最喜欢能做到自己想做的事的人了! |
10 Cofyc OP @thedevil7 最开始 -> 最基础 之后去逐步了解编译器、解析器的组成与运行环节,了解参与其中的数据结构及其实现等等。 我看的编译原理书是"龙"书 (Compilers: Principles, Techniques, and Tools),对这方面讲解的非常好。 最好对照一门开源语言一起看,推荐 Python 和 Lua。这两门语言的语言,是我读起来最容易,也是我个人好的代码编写方式。 慢慢地让自己草稿上的符号变成程序中有意义的部分,然后设计语法,让它们动起来。 还有就是,思考语言本身,以及何为语言很重要。 |
11 Cofyc OP 语言的语言 -> 语言的源码 悲剧,ipad 上打了好多错别字,不好意思。。。 |
14 Cofyc OP 主贴没法修改了,不过只是语法示例,这样缩进看上去也很不错。 |
15 DeepBlue 2012-08-30 15:14:32 +08:00 理想和兴趣是最值得赞扬的 Linux诞生的时候世界上也不缺OS么。。 语言设计我是彻底的门外汉,无能评论,但是我有个建议不妨考虑一下。 给语言定一个定位。 像PHP致力于WEB开发,Lua专注于嵌入式,Go的定位貌似是系统开发? 给语言一个明确的定位会给自己一个方向与目标,也能直观的让别人知道这语言能做什么。(当然,如果定位是学习就当我没说…… |
16 dn 2012-08-30 18:03:35 +08:00 可能不会去用这个东西,但是还是支持一次。造轮子的过程应该能学到很多东西。 |
17 zxy 2012-08-30 18:24:49 +08:00 |
18 zxy 2012-08-30 18:26:10 +08:00 ,勘误,贴错了,不认真的后果 http://gist.github.com/3525706 |
19 cabinw 2012-08-30 18:28:44 +08:00 鼓励! |
20 jimbray 2012-08-30 18:36:02 +08:00 NB |
21 Js 2012-08-30 18:54:34 +08:00 赞, 话说那两例子除了True和None,整体好有lua的赶脚 |
23 Hualin 2012-08-30 19:17:49 +08:00 好赞 v2ex 上也有这样另类的GEEK |
24 Cofyc OP @DeepBlue 关于定位,一直在思考,只是能定什么位与能做出什么直接有关,等能站在前人的肩膀上,才能确定吧。虽然目标确定,但主要以学习为主。感谢建议 ;-) |
25 Cofyc OP 关于语法,Lua/Python/Ruby 是我直接的借鉴。 三者语法都是极简。我在设计语法时,也是不允许一点冗余。 一些地方比它们还要简单,比如合用 then/do。当然目前语言还很小。 |
26 iminto 2012-08-31 09:54:25 +08:00 跟lua 比较接近 |
27 adow 2012-08-31 10:20:37 +08:00 LZ NB 啊 |
28 lemonleo 2012-12-10 22:05:05 +08:00 顶楼主,很GEEK |