28 lines
1.0 KiB
Factor
28 lines
1.0 KiB
Factor
USING: help.markup help.syntax locals locals.types quotations strings
|
|
vocabs.parser ;
|
|
IN: locals.parser
|
|
|
|
HELP: in-lambda?
|
|
{ $var-description { $link t } " if we're currently parsing a lambda with lexical variables." } ;
|
|
|
|
HELP: parse-def
|
|
{ $values
|
|
{ "name/paren" string }
|
|
{ "def" "a " { $link def } " or a " { $link multi-def } }
|
|
}
|
|
{ $description "Parses the lexical variable bindings following a " { $link POSTPONE: :> } " token." } ;
|
|
|
|
HELP: with-lambda-scope
|
|
{ $values { "assoc" "local variables" } { "reader-quot" quotation } { "quot" quotation } }
|
|
{ $description "Runs the quotation in a lambda scope. That means that any local variables are available for lookup in the " { $link manifest } ", but are cleaned up after the quotation finishes." } ;
|
|
|
|
ARTICLE: "locals.parser" "Utility words used by locals parsing words"
|
|
"Words for parsing local words."
|
|
$nl
|
|
"Words for parsing variable assignments:"
|
|
{ $subsections parse-def parse-multi-def parse-single-def }
|
|
"Parsers for word and method definitions:"
|
|
{ $subsections (::) (M::) } ;
|
|
|
|
ABOUT: "locals.parser"
|