1 ! Copyright (C) 2005, 2008 Slava Pestov, Alex Chapman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors arrays alien alien.c-types alien.structs
4 alien.arrays alien.strings kernel math namespaces parser
5 sequences words quotations math.parser splitting grouping
6 effects assocs combinators lexer strings.parser alien.parser
10 : DLL" lexer get skip-blank parse-string dlopen parsed ; parsing
12 : ALIEN: scan string>number <alien> parsed ; parsing
14 : BAD-ALIEN <bad-alien> parsed ; parsing
16 : LIBRARY: scan "c-library" set ; parsing
19 scan "c-library" get scan ";" parse-tokens
20 [ "()" subseq? not ] filter
21 define-function ; parsing
24 scan scan typedef ; parsing
27 scan in get parse-definition define-struct ; parsing
30 scan parse-definition define-union ; parsing
35 [ [ create-in ] dip 1quotation define ] 2each ;
40 '[ _ _ load-library dlsym ] over push-all ; parsing