]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' into no-c-type-string
authorJoe Groff <arcata@gmail.com>
Sun, 27 Sep 2009 23:47:02 +0000 (18:47 -0500)
committerJoe Groff <arcata@gmail.com>
Sun, 27 Sep 2009 23:47:02 +0000 (18:47 -0500)
basis/alien/parser/parser.factor

index d58f9a315ce1534bdce2e61afc8ba8afecf5717f..16a994a8a7722e26ddf77e8bde24c69d723337a1 100644 (file)
@@ -6,17 +6,17 @@ kernel parser sequences splitting words fry locals lexer
 namespaces summary math vocabs.parser ;
 IN: alien.parser
 
-: parse-c-type-name ( name -- word/string )
-    [ search ] keep or ;
+: parse-c-type-name ( name -- word )
+    dup search [ nip ] [ no-word ] if* ;
 
 : parse-c-type ( string -- array )
     {
         { [ dup "void" =            ] [ drop void ] }
         { [ CHAR: ] over member?    ] [ parse-array-type parse-c-type-name prefix ] }
         { [ dup search c-type-word? ] [ parse-c-type-name ] }
-        { [ dup c-types get at      ] [ ] }
+        { [ "**" ?tail              ] [ drop void* ] }
         { [ "*" ?tail               ] [ parse-c-type-name resolve-pointer-type ] }
-        [ no-c-type ]
+        [ parse-c-type-name no-c-type ]
     } cond ;
 
 : scan-c-type ( -- c-type )