chiark / gitweb /
Minor performance fixes for grammar regexp
authorJeff Ober <jober@ziprecruiter.com>
Tue, 14 Jan 2020 14:17:39 +0000 (09:17 -0500)
committerJeff Ober <jober@ziprecruiter.com>
Tue, 14 Jan 2020 14:17:39 +0000 (09:17 -0500)
lib/TOML/Tiny/Grammar.pm

index df365a9622c2e43e3d4fe6793e9f4f63ff27cb3a..3ac41681b9efd40ecc53e793e1fd0f7006ae7bf3 100644 (file)
@@ -27,10 +27,10 @@ our $TOML = qr{
     | (?&InlineTable)
   )
 
-  (?<NLSeq> \x0A | (?: \x0D \x0A))
+  (?<NLSeq> (?> \x0D? \x0A))
   (?<NL> (?&NLSeq) | (?&Comment))
 
-  (?<WSChar> [ \x20 \x09 ])       # (space, tab)
+  (?<WSChar> \x20 | \x09)       # (space, tab)
   (?<WS> (?&WSChar)*)
 
   (?<Comment> \x23 .* (?&NLSeq)?)
@@ -44,7 +44,7 @@ our $TOML = qr{
 
     \[\[ (?&Key) \]\] \n
     (?:
-        (?: (?&KeyValuePair) \n )
+        (?: (?&KeyValuePair) (?=(?&NLSeq)) )
       | (?&ArrayOfTables)
       | (?&Table)
     )*
@@ -126,7 +126,7 @@ our $TOML = qr{
   #-----------------------------------------------------------------------------
   # Boolean
   #-----------------------------------------------------------------------------
-  (?<Boolean> \b(?:true)|(?:false))\b
+  (?<Boolean> \b(?:true)|(?:false)\b)
 
   #-----------------------------------------------------------------------------
   # Integer