-USING: xmode.loader xmode.utilities xmode.rules namespaces
-strings splitting assocs sequences kernel io.files xml memoize
-words globs combinators io.encodings.utf8 io.pathnames sorting
-accessors regexp unicode.case xml.data xml.traversal
-xml.syntax ;
+USING: accessors assocs globs io.pathnames kernel memoize
+namespaces regexp sequences sorting splitting strings
+unicode.case xml xml.data xml.syntax xml.traversal xmode.loader
+xmode.rules xmode.utilities ;
IN: xmode.catalog
TUPLE: mode file file-name-glob first-line-glob ;
-USING: xmode.loader.syntax xmode.tokens xmode.rules
-xmode.keyword-map xml.data xml.traversal xml assocs kernel
-combinators sequences math.parser namespaces parser
-xmode.utilities regexp io.files accessors xml.syntax ;
+USING: accessors assocs kernel math.parser namespaces sequences
+xml xml.data xml.syntax xml.traversal xmode.keyword-map
+xmode.loader.syntax xmode.rules xmode.tokens xmode.utilities ;
IN: xmode.loader
! Based on org.gjt.sp.jedit.XModeHandler
! Copyright (C) 2007, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors xmode.tokens xmode.rules xmode.keyword-map
-xml.data xml.traversal xml assocs kernel combinators sequences
-math.parser namespaces make parser lexer xmode.utilities
-regexp io.files splitting arrays xml.syntax xml.syntax.private ;
+USING: accessors arrays assocs combinators kernel lexer make
+namespaces parser sequences splitting xml.data xml.syntax
+xml.syntax.private xml.traversal xmode.rules xmode.tokens
+xmode.utilities ;
IN: xmode.loader.syntax
! Rule tag parsing utilities
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel namespaces make xmode.rules xmode.tokens
-xmode.marker.state xmode.marker.context xmode.utilities
-xmode.catalog sequences math assocs combinators strings
-regexp splitting ascii combinators.short-circuit accessors ;
+USING: accessors ascii assocs combinators
+combinators.short-circuit kernel make math namespaces regexp
+sequences strings xmode.marker.state xmode.rules xmode.tokens
+xmode.utilities ;
IN: xmode.marker
! Next two words copied from parser-combinators
: (check-word-break) ( -- )
check-rule
-
+
1 current-rule-set default>> next-token, ;
: rule-set-empty? ( ruleset -- ? )