From: Joe Groff Date: Sun, 27 Sep 2009 23:47:02 +0000 (-0500) Subject: Merge branch 'master' into no-c-type-string X-Git-Tag: 0.97~5462^2~7 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=89045e3fd0c346b02bb3d20b147505df17ad8ee5;hp=f8251d2045c4b8955bb2cccfba33a9ca2674d589 Merge branch 'master' into no-c-type-string --- diff --git a/basis/alien/parser/parser.factor b/basis/alien/parser/parser.factor index d58f9a315c..16a994a8a7 100644 --- a/basis/alien/parser/parser.factor +++ b/basis/alien/parser/parser.factor @@ -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 )