From 00d09d20e224bf2ec46dd4fc99bdfe906ff62b98 Mon Sep 17 00:00:00 2001 From: Chris Double <chris@bethia.(none)> Date: Mon, 7 Apr 2008 12:07:44 +1200 Subject: [PATCH 1/3] Remove MATCH-VARS not used in pegs --- extra/peg/peg.factor | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/extra/peg/peg.factor b/extra/peg/peg.factor index 8d5d1c1560..3635abac84 100755 --- a/extra/peg/peg.factor +++ b/extra/peg/peg.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2008 Chris Double. ! See http://factorcode.org/license.txt for BSD license. USING: kernel sequences strings fry namespaces math assocs shuffle - vectors arrays combinators.lib math.parser match + vectors arrays combinators.lib math.parser unicode.categories sequences.lib compiler.units parser words quotations effects memoize accessors locals effects splitting ; IN: peg @@ -265,8 +265,6 @@ SYMBOL: id TUPLE: token-parser symbol ; -MATCH-VARS: ?token ; - : parse-token ( input string -- result ) #! Parse the string, returning a parse result dup >r ?head-slice [ @@ -388,9 +386,6 @@ M: optional-parser (compile) ( parser -- quot ) p1>> compiled-parser 1quotation '[ @ check-optional ] ; TUPLE: semantic-parser p1 quot ; -MATCH-VARS: ?quot ; - -MATCH-VARS: ?parser ; : check-semantic ( result quot -- result ) over [ @@ -421,8 +416,6 @@ M: ensure-not-parser (compile) ( parser -- quot ) TUPLE: action-parser p1 quot ; -MATCH-VARS: ?action ; - : check-action ( result quot -- result ) over [ over ast>> swap call >>ast From a0939436272ac899f0d14f0939563a5cbfcf2d07 Mon Sep 17 00:00:00 2001 From: Chris Double <chris@bethia.(none)> Date: Mon, 7 Apr 2008 12:50:07 +1200 Subject: [PATCH 2/3] Remove match from peg.parsers USING: list --- extra/peg/parsers/parsers.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/peg/parsers/parsers.factor b/extra/peg/parsers/parsers.factor index 49035ea43c..3bbb61b846 100755 --- a/extra/peg/parsers/parsers.factor +++ b/extra/peg/parsers/parsers.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2008 Chris Double, Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: kernel sequences strings namespaces math assocs shuffle - vectors arrays combinators.lib math.parser match + vectors arrays combinators.lib math.parser unicode.categories sequences.deep peg peg.private peg.search math.ranges words memoize ; IN: peg.parsers From 463a1991cae6c861e88ee54a3bb256f1b3ff5c44 Mon Sep 17 00:00:00 2001 From: Chris Double <chris@bethia.(none)> Date: Mon, 7 Apr 2008 13:02:56 +1200 Subject: [PATCH 3/3] Fix peg help --- extra/peg/parsers/parsers-docs.factor | 4 ++-- extra/peg/peg-docs.factor | 4 ++-- extra/peg/peg.factor | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/extra/peg/parsers/parsers-docs.factor b/extra/peg/parsers/parsers-docs.factor index d49f1158dd..d71fdaea3b 100755 --- a/extra/peg/parsers/parsers-docs.factor +++ b/extra/peg/parsers/parsers-docs.factor @@ -173,7 +173,7 @@ HELP: range-pattern "of characters separated with a dash (-) represents the " "range of characters from the first to the second, inclusive." { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"a\" \"_a-zA-Z\" range-pattern parse parse-result-ast 1string ." "\"a\"" } - { $example "USING: peg peg.parsers prettyprint ;" "\"0\" \"^0-9\" range-pattern parse ." "f" } + { $example "USING: peg peg.parsers prettyprint strings ;" "\"a\" \"_a-zA-Z\" range-pattern parse parse-result-ast 1string ." "\"a\"" } + { $example "USING: peg peg.parsers prettyprint ;\n\"0\" \"^0-9\" range-pattern parse ." "f" } } } ; diff --git a/extra/peg/peg-docs.factor b/extra/peg/peg-docs.factor index 5f200be78e..10e05a2512 100644 --- a/extra/peg/peg-docs.factor +++ b/extra/peg/peg-docs.factor @@ -104,8 +104,8 @@ HELP: semantic "Returns a parser that succeeds if the 'p1' parser succeeds and the quotation called with " "the AST produced by 'p1' on the stack returns true." } { $examples - { $example "\"A\" [ drop t ] satisfy [ 66 > ] semantic parse" "f" } - { $example "\"C\" [ drop t ] satisfy [ 66 > ] semantic parse parse-result-ast " "67" } + { $example "USING: kernel math peg prettyprint ;" "\"A\" [ drop t ] satisfy [ 66 > ] semantic parse ." "f" } + { $example "USING: kernel math peg prettyprint ;" "\"C\" [ drop t ] satisfy [ 66 > ] semantic parse parse-result-ast ." "67" } } ; HELP: ensure diff --git a/extra/peg/peg.factor b/extra/peg/peg.factor index 3635abac84..ee9037ff25 100755 --- a/extra/peg/peg.factor +++ b/extra/peg/peg.factor @@ -241,7 +241,7 @@ GENERIC: (compile) ( parser -- quot ) : compiled-parse ( state word -- result ) swap [ execute ] with-packrat ; inline -: parse ( state parser -- result ) +: parse ( input parser -- result ) dup word? [ compile ] unless compiled-parse ; <PRIVATE