aboutsummaryrefslogtreecommitdiff
path: root/nomsu.peg
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-06-12 15:12:27 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-06-12 15:14:07 -0700
commitb5fb8933af283d2b873a03ded085e8b69f374e81 (patch)
tree5cf00c528eb339d5a9f4491652f8a9a0601d943b /nomsu.peg
parent0c9973ff0363e400d3d284339b77197c40c3f60c (diff)
Removed dependency on 'immutable' library. This lets LuaJIT do more
aggressive optimizations and generally helps performance. Some safety is lost, but I think the performance gains, reduced complexity, and reduced dependencies are worth it.
Diffstat (limited to 'nomsu.peg')
-rw-r--r--nomsu.peg4
1 files changed, 2 insertions, 2 deletions
diff --git a/nomsu.peg b/nomsu.peg
index ec40211..2de5292 100644
--- a/nomsu.peg
+++ b/nomsu.peg
@@ -98,11 +98,11 @@ text_interpolation:
inline_text_interpolation /
("\" indented_expression nodent "..")
-number (Number): (("-"? (([0-9]+ "." [0-9]+) / ("." [0-9]+) / ([0-9]+)))-> tonumber)
+number (Number): {| {:value: (("-"? (([0-9]+ "." [0-9]+) / ("." [0-9]+) / ([0-9]+)))-> tonumber) :} |}
-- Variables can be nameless (i.e. just %) and can't contain operators like apostrophe
-- which is a hack to allow %'s to parse as "%" and "' s" separately
-variable (Var): "%" { (%ident_char+ ((!"'" %operator_char+) / %ident_char+)*)? }
+variable (Var): "%" {| {:value: (%ident_char+ ((!"'" %operator_char+) / %ident_char+)*)? :} |}
inline_list (List):
!('[..]')