diff --git a/basis/alien/parser/parser.factor b/basis/alien/parser/parser.factor index ab09383d7c..9a24f7cd4d 100644 --- a/basis/alien/parser/parser.factor +++ b/basis/alien/parser/parser.factor @@ -24,6 +24,12 @@ IN: alien.parser [ drop \ } parse-until >array ] [ parse-c-type ] if ; +: reset-c-type ( word -- ) + { "c-type" "pointer-c-type" } reset-props ; + +: CREATE-C-TYPE ( -- word ) + scan current-vocab create dup reset-c-type ; + : normalize-c-arg ( type name -- type' name' ) [ length ] [ diff --git a/basis/alien/syntax/syntax.factor b/basis/alien/syntax/syntax.factor index fac45176a3..0e3b569fff 100644 --- a/basis/alien/syntax/syntax.factor +++ b/basis/alien/syntax/syntax.factor @@ -19,7 +19,7 @@ SYNTAX: FUNCTION: (FUNCTION:) define-declared ; SYNTAX: TYPEDEF: - scan-c-type CREATE typedef ; + scan-c-type CREATE-C-TYPE typedef ; SYNTAX: C-STRUCT: scan current-vocab parse-definition define-struct ; deprecated