Lua5.0 语法分析
2015-09-06 13:39
309 查看
写着写着,又来到了这里。
这次是写还是不写,嗯,这是一个问题。
先说点题外话,没准也算是题内。
经过这段时间的代码阅读,分析,调试,感觉自己的代码控制力提高了一些。
当然了,不单是 Lua 相关的,也有其它的工作中的代码阅读。
相比之下,还是工作中阅读的代码量要更大一些,更快一些。
究其原因,可能是工作中的代码阅读的目的性要更强一些吧。
打个比方,工作中的代码阅读是为了解决某个很具体的问题。
带着问题去阅读代码,针对性更强一些。
也比较容易把关注点集中在相关的代码上,这个过程中不自觉地就忽略了其它的不相关的代码。
而这个 Lua 代码分析系列中的代码阅读则是另一种情况。
这是代码赏析,我很想把代码的方方面面都找到。
把那些展现出来的美好的代码,隐藏在代码背后的闪光点和精心的设计都挖掘出来。
看着看着就迷失了,迷失在字节码间,在循环之中,在跳转之时。
不知不觉间,最初的目标已经达到,甚至超越。
回顾一下最初的计划,如今已然完成!
语法分析这块和编译原理的联系太紧密了。
如果不了解一点编译原理相关的知识,硬看的话虽然能看懂,可是会很累。
LL(1) 文法还是很直观的,精简的像是工艺品。
手册的最后面有完整的语法 EBNF 。
照着看就可以了,在实际编码的时候有一定的转换,不过不影响调代码。
在 Lua4.0 的时候看了一个语法分析的输出 "hello, world" 的代码调用过程。
这里就不再重复一遍了。
Don't repeat yourself!
嗯,是的。
好像还没有开始呢,实际上已经结束了。
走了这么久,快到终点了,突然开始置疑比赛本身。
程序的世界,真的很精彩啊!
路漫漫其修远兮,吾将上下而求索!
这次是写还是不写,嗯,这是一个问题。
先说点题外话,没准也算是题内。
经过这段时间的代码阅读,分析,调试,感觉自己的代码控制力提高了一些。
当然了,不单是 Lua 相关的,也有其它的工作中的代码阅读。
相比之下,还是工作中阅读的代码量要更大一些,更快一些。
究其原因,可能是工作中的代码阅读的目的性要更强一些吧。
打个比方,工作中的代码阅读是为了解决某个很具体的问题。
带着问题去阅读代码,针对性更强一些。
也比较容易把关注点集中在相关的代码上,这个过程中不自觉地就忽略了其它的不相关的代码。
而这个 Lua 代码分析系列中的代码阅读则是另一种情况。
这是代码赏析,我很想把代码的方方面面都找到。
把那些展现出来的美好的代码,隐藏在代码背后的闪光点和精心的设计都挖掘出来。
看着看着就迷失了,迷失在字节码间,在循环之中,在跳转之时。
不知不觉间,最初的目标已经达到,甚至超越。
回顾一下最初的计划,如今已然完成!
语法分析这块和编译原理的联系太紧密了。
如果不了解一点编译原理相关的知识,硬看的话虽然能看懂,可是会很累。
LL(1) 文法还是很直观的,精简的像是工艺品。
手册的最后面有完整的语法 EBNF 。
照着看就可以了,在实际编码的时候有一定的转换,不过不影响调代码。
在 Lua4.0 的时候看了一个语法分析的输出 "hello, world" 的代码调用过程。
这里就不再重复一遍了。
Don't repeat yourself!
嗯,是的。
好像还没有开始呢,实际上已经结束了。
走了这么久,快到终点了,突然开始置疑比赛本身。
程序的世界,真的很精彩啊!
路漫漫其修远兮,吾将上下而求索!
相关文章推荐
- string evaluated instead to freemarker.template.SimpleScalar
- UPYUN 的 ngx_lua 应用实践 » 社区 » Ruby China
- Lua 基本语法
- tengine+lua实现时时在线图片缩放,剪切。 - epiclight的colorful world - 开源中国社区
- FPN/lua-sdk-for-UPYUN - GitCafe
- Tengine + Lua + GraphicsMagick 实现图片自动裁剪/缩放 - 腾勇的个人页面 - 开源中国社区
- cloudflare的新waf,用Lua实现的 - 囧囧有神的专栏 - 博客频道 - CSDN.NET
- tengine+lua实现时时在线图片缩放,剪切。 - epiclight的colorful world - 开源中国社区
- sphinx下的lua客户端 - IT博客汇
- 生产环境中 Ngx_lua 使用技巧和应用的范例 - 推酷
- 让lua支持base64和md5 - xu_ya_fei的专栏 - 博客频道 - CSDN.NET
- 使用Lua和OpenResty搭建验证码服务器 - JavaChen Blog
- lua调试器与编辑器开源项目luacode(源自decoda)
- lua和luajit在mac模拟器中的运行比较
- 测试了几款 C# 脚本引擎 , Jint , Jurassic , Nlua, ClearScript
- Lua学习笔记之——类与继承的简单实现
- 快速入门lua脚本语言
- [LeetCode#150]Evaluate Reverse Polish Notation
- Lua与C#交互
- How to deploy the Cloudera Evaluation Cluster in Azure