USING: arrays compiler.units definitions help.markup help.syntax
-kernel lexer math namespaces quotations parser.private sequences
-source-files strings vectors vocabs vocabs.parser words words.symbol ;
+kernel lexer math namespaces quotations sequences source-files strings
+vectors vocabs vocabs.parser words words.symbol ;
IN: parser
ARTICLE: "reading-ahead" "Reading ahead"
USING: accessors arrays assocs classes compiler.units effects
eval generic grouping io.pathnames io.streams.string kernel
-lexer math multiline namespaces parser parser.private sequences
-sets source-files source-files.errors strings tools.crossref
+lexer math multiline namespaces parser sequences sets
+source-files source-files.errors strings tools.crossref
tools.test vocabs vocabs.parser words words.symbol splitting ;
IN: parser.tests
[ "Added \"" "\" vocabulary to search path" surround note. ] bi
] [ create-word-in ] if ;
-<PRIVATE
-
: ignore-forwards ( seq -- seq' )
[ forward-reference? ] reject ;
[ length 1 = ] [ ?first dup [ private? not ] [ ] ?if ] bi and
auto-use? get and ;
-PRIVATE>
-
! True branch is a singleton public word with no name conflicts
! False branch, singleton private words need confirmation regardless
! of name conflicts