]> gitweb.factorcode.org Git - factor.git/blob - basis/gobject-introspection/gobject-introspection.factor
Merge branch 'doc-fixes' of git://github.com/keitahaga/factor
[factor.git] / basis / gobject-introspection / gobject-introspection.factor
1 ! Copyright (C) 2010 Anton Gorenko.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors combinators gobject-introspection.common
4 gobject-introspection.ffi gobject-introspection.loader
5 gobject-introspection.types kernel lexer locals namespaces parser
6 sequences xml ;
7 IN: gobject-introspection
8
9 <PRIVATE
10
11 :: define-gir-vocab ( file-name -- )
12     file-name file>xml xml>repository
13     {
14         [ namespace>> name>> current-namespace-name set-global ]
15         [ def-ffi-repository ]
16     } cleave
17     V{ } clone implement-structs set-global ;
18
19 PRIVATE>
20
21 SYNTAX: GIR: scan define-gir-vocab ;
22
23 SYNTAX: IMPLEMENT-STRUCTS:
24     ";" parse-tokens
25     implement-structs [ swap append! ] change-global ;
26
27 SYNTAX: FOREIGN-ATOMIC-TYPE:
28     scan-token scan-object swap register-atomic-type ;
29
30 SYNTAX: FOREIGN-ENUM-TYPE:
31     scan-token scan-object swap register-enum-type ;
32
33 SYNTAX: FOREIGN-RECORD-TYPE:
34     scan-token scan-object swap register-record-type ;