diff --git a/extra/peg/parsers/parsers-docs.factor b/extra/peg/parsers/parsers-docs.factor index 91b084f89d..1991cba0eb 100755 --- a/extra/peg/parsers/parsers-docs.factor +++ b/extra/peg/parsers/parsers-docs.factor @@ -1,9 +1,19 @@ -! Copyright (C) 2007 Chris Double. +! Copyright (C) 2008 Chris Double, Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: help.markup help.syntax peg peg.parsers.private unicode.categories ; IN: peg.parsers +HELP: 1token +{ $values + { "ch" "a character" } + { "parser" "a parser" } +} { $description + "Calls 1string on a character and returns a parser that matches that character." +} { $examples + { $example "USING: peg peg.parsers prettyprint ;" "\"a\" CHAR: a 1token parse parse-result-ast ." "\"a\"" } +} { $see-also 'string' } ; + HELP: (list-of) { $values { "items" "a sequence" } diff --git a/extra/peg/parsers/parsers.factor b/extra/peg/parsers/parsers.factor index 5e82756853..87306e1469 100755 --- a/extra/peg/parsers/parsers.factor +++ b/extra/peg/parsers/parsers.factor @@ -21,6 +21,8 @@ M: just-parser compile ( parser -- quot ) MEMO: just ( parser -- parser ) just-parser construct-boa init-parser ; +MEMO: 1token ( ch -- parser ) 1string token ; + r over 2seq r> [ repeat1 ] [ repeat0 ] if [ concat ] action 2seq