From e5e653340114025675a0e4c088733111413af452 Mon Sep 17 00:00:00 2001 From: SoniEx2 Date: Thu, 11 Apr 2019 13:49:31 -0300 Subject: [PATCH] Add anti-LPeg rationale --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index ebb76b8..f000fde 100644 --- a/README.md +++ b/README.md @@ -14,3 +14,11 @@ which is equivalent to: This syntax sugar is similar to the "methods" syntax sugar ([Lua 5.3 §3.4.10](http://www.lua.org/manual/5.3/manual.html#3.4.10), [Lua 5.2 §3.4.9](http://www.lua.org/manual/5.2/manual.html#3.4.9), [Lua 5.1 §2.5.8](http://www.lua.org/manual/5.1/manual.html#2.5.8)), and, indeed, `mytable` is only evaluated once. + +Why not use LPeg? +----------------- + +The use of a custom parsing library boils down to two reasons: + +1. LPeg can't stream or produce partial outputs. This just makes it difficult to use for making a compiler. +2. LPeg can't process tables. It's still possible to use LPeg to parse table-based structures, but one must serialize them beforehand, which is... far from ideal, to say the least.