]> gitweb.factorcode.org Git - factor.git/blobdiff - core/classes/tuple/parser/parser.factor
core: trim using lists with lint.vocabs tool
[factor.git] / core / classes / tuple / parser / parser.factor
index 7d02a5c0631804518d6374f483998e2e0261bf5c..eedfe0cc0a725ecdcf4ed3feb457357028c0c85e 100644 (file)
@@ -1,8 +1,8 @@
 ! Copyright (C) 2008, 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays assocs classes.parser classes.tuple
-combinators kernel lexer make parser parser.notes sequences
-sets slots ;
+combinators kernel lexer make parser parser.notes sequences sets
+slots ;
 IN: classes.tuple.parser
 
 : slot-names ( slots -- seq )
@@ -26,7 +26,7 @@ ERROR: duplicate-slot-names names ;
 
 : check-duplicate-slots ( slots -- )
     slot-names duplicates
-    [ throw-duplicate-slot-names ] unless-empty ;
+    [ duplicate-slot-names ] unless-empty ;
 
 ERROR: invalid-slot-name name ;
 
@@ -40,7 +40,7 @@ ERROR: invalid-slot-name name ;
     !
     ! : ...
     {
-        { [ dup { ":" "(" "<" "\"" "!" } member? ] [ throw-invalid-slot-name ] }
+        { [ dup { ":" "(" "<" "\"" "!" } member? ] [ invalid-slot-name ] }
         { [ 2dup = ] [ drop f ] }
         [ dup "{" = [ drop parse-long-slot-name ] when , t ]
     } cond nip ;
@@ -72,12 +72,12 @@ ERROR: bad-literal-tuple ;
 ERROR: bad-slot-name class slot ;
 
 : check-slot-name ( class slots name -- name )
-    2dup swap slot-named [ 2nip ] [ nip throw-bad-slot-name ] if ;
+    2dup swap slot-named [ 2nip ] [ nip bad-slot-name ] if ;
 
 : parse-slot-value ( class slots -- )
     scan-token check-slot-name scan-object 2array , scan-token {
         { "}" [ ] }
-        [ throw-bad-literal-tuple ]
+        [ bad-literal-tuple ]
     } case ;
 
 : (parse-slot-values) ( class slots -- )
@@ -85,25 +85,25 @@ ERROR: bad-slot-name class slot ;
     scan-token {
         { "{" [ (parse-slot-values) ] }
         { "}" [ 2drop ] }
-        [ 2nip throw-bad-literal-tuple ]
+        [ 2nip bad-literal-tuple ]
     } case ;
 
 : parse-slot-values ( class slots -- values )
     [ (parse-slot-values) ] { } make ;
 
-GENERIC# boa>object 1 ( class slots -- tuple )
+GENERIC#: boa>object 1 ( class slots -- tuple )
 
 M: tuple-class boa>object
     swap slots>tuple ;
 
 : check-slot-exists ( class initials slot-spec/f index/f name -- class initials slot-spec index )
-    over [ drop ] [ nip nip nip throw-bad-slot-name ] if ;
+    over [ drop ] [ 3nip bad-slot-name ] if ;
 
 : slot-named-checked ( class initials name slots -- class initials slot-spec )
     over [ slot-named* ] dip check-slot-exists drop ;
 
 : assoc>object ( class slots values -- tuple )
-    [ [ [ initial>> ] map <enum> ] keep ] dip
+    [ [ [ initial>> ] map <enumerated> ] keep ] dip
     swap [ [ slot-named-checked ] curry dip ] curry assoc-map
     assoc-union! seq>> boa>object ;
 
@@ -112,7 +112,7 @@ M: tuple-class boa>object
         { "f" [ drop \ } parse-until boa>object ] }
         { "{" [ 2dup parse-slot-values assoc>object ] }
         { "}" [ drop new ] }
-        [ throw-bad-literal-tuple ]
+        [ bad-literal-tuple ]
     } case ;
 
 : parse-tuple-literal ( -- tuple )