LPEG】的更多相关文章

原文地址:http://lua-users.org/wiki/LpegTutorial 简单匹配 LPeg是一个用于文本匹配的有力表达方式,比Lua原生的字符串匹配和标准正则表达式更优异.但是,就像其他任何语言一样,你需要知道简单的词汇和如何组合他们. 最佳的学习方式,是通过交互式对话,熟悉基本的模式.首先,我们定义一些缩写: $ lua -llpeg Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio > match = lpeg.match…
local lpeg = require "lpeg"    function f0() end;    function f1() return "a" end    function f2() return "a","b" end    function ittable(t)        for key, value in pairs(t) do            print ("table:",…
原文:http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html   译者序: 这个是官方的LPeg的文档.这段时间学习LPeg的时候发现国内关于LPeg的文章很少,所以决定把文档翻译一下. 翻译的不是很完整,只是常用的一部分,会慢慢的翻译下去,有同学能帮我补全的话就太感谢了. 介绍: LPeg是lua中一个新的模式匹配(pattern-matching)的库,基于 Parsing Expression Grammars (PEGs).本文是一个关于LPe…
通过 LPeg 介绍解析表达式语法(Parsing Expression Grammars) 译者: FreeBlues 修订版本: 1.00 最新链接: http://www.cnblogs.com/freeblues/p/8436523.html 说明: 本文是对 An introduction to Parsing Expression Grammars with LPeg 的翻译, 此文非常好, 从最简单的模式(Pattern)讲起, 逐步扩展, 最终完成一个计算器表达式的解析器, 非常…
这是sproto系列文章的第三篇,可以参考前面的<为sproto添加python绑定>.<为python-sproto添加map支持>. sproto是云风设计的序列化协议,用于高效的打包解包游戏协议数据.有点类似Google推出的protobuf,但是比protobuf要快.结构上有点类似cap'n Proto,但是没有打算直接使用其作为内存组织结构,因此少了数据对齐的部分.目前使用场景主要是在游戏客户端和服务器端的RPC协议上. sproto比较有趣的一点,是可以自描述,用sp…
                               好的       小巧: 20000行C代码 可以编译进182K的可执行文件 (Linux下).       可移植: 只要是有ANSI C 编译器的平台都可以编译. 你可以看到它可以在几乎所有的平台上运行:从 microcontrollers Lego Minstorms NXT, 到 移动平台, 到 游戏主机,甚至 浏览器 (翻译成JavaScript). 作为一个嵌入式可扩展语言 提供了简单直接的 C/C++交互接口.     …
Simple Matching LPeg is a powerful notation for matching text data, which is more capable than Lua string patterns and standard regular expressions. However, like any language you need to know the basic words and how to combine them. The best way to…
2016-03-05 更新: 之前编译的库,在 Android 下 Lua_Number 和 Lua_Integer 被编译为了32位,导致从 C# 到 Lua 过程中有64位到32位整型转换会出现溢出出错,出现异常大的负整数. 以下修改或是之前遗漏的部分均使用红色表示. 2016-11-21 更新: 之前编译的库都是用的是 32位的 NDK(当时vs2015还不支持最新的64位ndk),如果你是用64位的 NDK 编译请注意兼容性问题:其二请注意安卓打包的库目录问题,安卓库 "libs&quo…
先要将proto文件编译成.pb文件,然后再动态绑定实现lua protobuffer,这就需要了解云风做的pbc的项目,地址为:https://github.com/cloudwu/pbc/blob/master/binding/lua/README.md 具体的方式是,下载pbc的项目:在pbc/binding/lua下面编译出protobuf.so放在LUA_PATH下面,或者将protobuf.lua放在LUA_PATH下,就可以调用protobuf中的库方法cd pbc/binding…
记录下命令 git clone https://github.com/cloudwu/skynet.git sudo apt-get install autoconf sudo apt-get install libreadline-dev make linux lua5.3.0 发现个不错的skynet研究网站http://forthxu.com/blog/skynet.html Read Wiki https://github.com/cloudwu/skynet/wiki The FAQ…