factor/basis/alien/syntax/syntax.factor

44 lines
1.2 KiB
Factor
Raw Normal View History

! Copyright (C) 2005, 2010 Slava Pestov, Alex Chapman.
2007-09-20 18:09:08 -04:00
! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays alien alien.c-types alien.enums alien.arrays
alien.strings kernel math namespaces parser sequences words
quotations math.parser splitting grouping effects assocs
combinators lexer strings.parser alien.parser fry vocabs.parser
words.constant alien.libraries ;
2007-09-20 18:09:08 -04:00
IN: alien.syntax
2009-10-28 14:38:27 -04:00
SYNTAX: DLL" lexer get skip-blank parse-string dlopen suffix! ;
2007-09-20 18:09:08 -04:00
2009-10-28 14:38:27 -04:00
SYNTAX: ALIEN: 16 scan-base <alien> suffix! ;
2007-09-20 18:09:08 -04:00
2009-10-28 14:38:27 -04:00
SYNTAX: BAD-ALIEN <bad-alien> suffix! ;
SYNTAX: LIBRARY: scan current-library set ;
2007-09-20 18:09:08 -04:00
SYNTAX: FUNCTION:
(FUNCTION:) make-function define-declared ;
SYNTAX: FUNCTION-ALIAS:
scan create-function
(FUNCTION:) (make-function) define-declared ;
2007-09-20 18:09:08 -04:00
SYNTAX: CALLBACK:
(CALLBACK:) define-inline ;
SYNTAX: TYPEDEF:
scan-c-type CREATE-C-TYPE dup save-location typedef ;
2007-09-20 18:09:08 -04:00
2010-04-13 00:02:55 -04:00
SYNTAX: ENUM:
parse-enum define-enum ;
2009-09-15 16:18:54 -04:00
SYNTAX: C-TYPE:
void CREATE-C-TYPE typedef ;
2009-09-15 16:18:54 -04:00
SYNTAX: &:
scan current-library get '[ _ _ address-of ] append! ;
SYNTAX: C-GLOBAL: scan-c-type CREATE-WORD define-global ;
SYNTAX: pointer:
scan-c-type <pointer> suffix! ;