]> gitweb.factorcode.org Git - factor.git/commitdiff
peg.ebnf: remove un-necessary ebnf-ignore-repeat{0,1}.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 14 Apr 2021 18:37:28 +0000 (11:37 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 14 Apr 2021 18:37:28 +0000 (11:37 -0700)
basis/peg/ebnf/ebnf.factor

index 859784a27e63927ce0c4364f13a3611216292ecd..1b1208b991838d5a5b47c8f116023771a209893f 100644 (file)
@@ -54,8 +54,6 @@ TUPLE: ebnf-sequence elements ;
 TUPLE: ebnf-repeat0 group ;
 TUPLE: ebnf-repeat1 group ;
 TUPLE: ebnf-ignore group ;
-TUPLE: ebnf-ignore-repeat0 group ;
-TUPLE: ebnf-ignore-repeat1 group ;
 TUPLE: ebnf-optional group ;
 TUPLE: ebnf-whitespace group ;
 TUPLE: ebnf-tokenizer elements ;
@@ -77,8 +75,6 @@ C: <ebnf-sequence> ebnf-sequence
 C: <ebnf-repeat0> ebnf-repeat0
 C: <ebnf-repeat1> ebnf-repeat1
 C: <ebnf-ignore> ebnf-ignore
-C: <ebnf-ignore-repeat0> ebnf-ignore-repeat0
-C: <ebnf-ignore-repeat1> ebnf-ignore-repeat1
 C: <ebnf-optional> ebnf-optional
 C: <ebnf-whitespace> ebnf-whitespace
 C: <ebnf-tokenizer> ebnf-tokenizer
@@ -88,16 +84,10 @@ C: <ebnf-var> ebnf-var
 C: <ebnf-semantic> ebnf-semantic
 C: <ebnf> ebnf
 
-MIXIN: ebnf-ignored
-
-INSTANCE: ebnf-ignore ebnf-ignored
-INSTANCE: ebnf-ignore-repeat0 ebnf-ignored
-INSTANCE: ebnf-ignore-repeat1 ebnf-ignored
-
 : filter-hidden ( seq -- seq )
     ! Remove elements that produce no AST from sequence
     [ ebnf-ensure-not? ] reject [ ebnf-ensure? ] reject
-    [ ebnf-ignored? ] reject ;
+    [ ebnf-ignore? ] reject ;
 
 : syntax ( string -- parser )
     ! Parses the string, ignoring white space, and
@@ -194,8 +184,8 @@ INSTANCE: ebnf-ignore-repeat1 ebnf-ignored
                 any-character-parser ,
             ] choice*
             [ dup , "~" token hide , ] seq* [ first <ebnf-ignore> ] action ,
-            [ dup , "*~" token hide , ] seq* [ first <ebnf-ignore-repeat0> ] action ,
-            [ dup , "+~" token hide , ] seq* [ first <ebnf-ignore-repeat1> ] action ,
+            [ dup , "*~" token hide , ] seq* [ first <ebnf-repeat0> <ebnf-ignore> ] action ,
+            [ dup , "+~" token hide , ] seq* [ first <ebnf-repeat1> <ebnf-ignore> ] action ,
             [ dup , "*" token hide , ] seq* [ first <ebnf-repeat0> ] action ,
             [ dup , "+" token hide , ] seq* [ first <ebnf-repeat1> ] action ,
             [ dup , "?[" token ensure-not , "?" token hide , ] seq* [ first <ebnf-optional> ] action ,
@@ -254,10 +244,10 @@ DEFER: choice-parser
     [ <ebnf-ignore> ] "~" syntax grouped ;
 
 : ignore-repeat0-parser ( -- parser )
-    [ <ebnf-ignore-repeat0> ] "*~" syntax grouped ;
+    [ <ebnf-repeat0> <ebnf-ignore> ] "*~" syntax grouped ;
 
 : ignore-repeat1-parser ( -- parser )
-    [ <ebnf-ignore-repeat1> ] "+~" syntax grouped ;
+    [ <ebnf-repeat1> <ebnf-ignore> ] "+~" syntax grouped ;
 
 : optional-parser ( -- parser )
     [ <ebnf-optional> ] "?" syntax grouped ;
@@ -431,12 +421,6 @@ M: ebnf-ensure-not (transform)
 M: ebnf-ignore (transform)
     transform-group [ drop ignore ] action ;
 
-M: ebnf-ignore-repeat0 (transform)
-    transform-group repeat0 hide ;
-
-M: ebnf-ignore-repeat1 (transform)
-    transform-group repeat1 hide ;
-
 M: ebnf-repeat0 (transform)
     transform-group repeat0 ;