author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 04 Jul 2008 12:05:15 +0000 | |
changeset 4 | fc74bd43a3eb |
parent 3 | 110a9cbf8594 |
child 5 | c110eef5b9ef |
permissions | -rw-r--r-- |
1 | 1 |
"{ Package: 'cvut:fel/cface' }" |
2 |
||
3 |
"{ NameSpace: Cface }" |
|
4 |
||
5 |
Object subclass:#GeneratorCommand |
|
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
6 |
instanceVariableNames:'platform mappings definitions module' |
1 | 7 |
classVariableNames:'' |
8 |
poolDictionaries:'' |
|
9 |
category:'Cface-Generators' |
|
10 |
! |
|
11 |
||
12 |
||
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
13 |
!GeneratorCommand class methodsFor:'projects'! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
14 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
15 |
generateCairo |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
16 |
|
4
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
17 |
|cairoDir cairoDefFile | |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
18 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
19 |
cairoDir := '/home/janfrog/Projects/Cface/libcairo/'. |
4
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
20 |
cairoDefFile := cairoDir , 'libcairo.def'. |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
21 |
|
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
22 |
( |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
23 |
|
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
24 |
Cface::Platform theInstance generatorCommand |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
25 |
definitions: cairoDefFile asFilename; |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
26 |
mappings: Cface::CairoMapping new; |
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
27 |
module:'libcairo.so'; |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
28 |
process |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
29 |
|
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
30 |
) apply. |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
31 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
32 |
"Created: / 03-07-2008 / 23:55:14 / Jan Vrany <vranyj1@fel.cvut.cz>" |
4
fc74bd43a3eb
Minor parser fixes to parse Cairo Xlib stuff
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
33 |
"Modified: / 04-07-2008 / 12:33:56 / Jan Vrany <vranyj1@fel.cvut.cz>" |
2
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
34 |
! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
35 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
36 |
generateSubversion |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
37 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
38 |
|svnDir svnDefFile| |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
39 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
40 |
svnDir := '/home/janfrog/Projects/Cface/libsvn/'. |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
41 |
svnDefFile := svnDir , 'svn_client.h.def'. |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
42 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
43 |
Cface::Platform theInstance generatorCommand |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
44 |
definitions: svnDefFile asFilename; |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
45 |
process |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
46 |
|
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
47 |
"Created: / 03-07-2008 / 23:55:54 / Jan Vrany <vranyj1@fel.cvut.cz>" |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
48 |
! ! |
cfd2c393abfe
Smalltalk/X generator improvements:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
1
diff
changeset
|
49 |
|
1 | 50 |
!GeneratorCommand methodsFor:'accessing'! |
51 |
||
52 |
definitions |
|
53 |
^ definitions |
|
54 |
||
55 |
"Created: / 18-02-2008 / 15:36:22 / janfrog" |
|
56 |
! |
|
57 |
||
58 |
definitions:aFilename |
|
59 |
definitions := self platform parser parse: aFilename contents asString. |
|
60 |
||
61 |
"Created: / 18-02-2008 / 15:36:22 / janfrog" |
|
62 |
! |
|
63 |
||
64 |
mappings |
|
65 |
^ mappings ifNil:[platform mappings] |
|
66 |
||
67 |
"Created: / 18-02-2008 / 15:35:04 / janfrog" |
|
68 |
"Modified: / 27-05-2008 / 14:22:00 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
69 |
! |
|
70 |
||
71 |
mappings:something |
|
72 |
mappings := something. |
|
73 |
||
74 |
"Created: / 18-02-2008 / 15:35:04 / janfrog" |
|
75 |
! |
|
76 |
||
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
77 |
module |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
78 |
^ module |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
79 |
|
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
80 |
"Created: / 04-07-2008 / 07:40:38 / Jan Vrany <vranyj1@fel.cvut.cz>" |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
81 |
! |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
82 |
|
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
83 |
module:something |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
84 |
module := something. |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
85 |
|
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
86 |
"Created: / 04-07-2008 / 07:40:38 / Jan Vrany <vranyj1@fel.cvut.cz>" |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
87 |
! |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
88 |
|
1 | 89 |
platform |
90 |
||
91 |
platform ifNil:[platform := Cface::Platform theInstance]. |
|
92 |
^platform |
|
93 |
||
94 |
"Created: / 18-02-2008 / 15:28:45 / janfrog" |
|
95 |
! |
|
96 |
||
97 |
platform:something |
|
98 |
platform := something. |
|
99 |
||
100 |
"Created: / 18-02-2008 / 15:30:12 / janfrog" |
|
101 |
! |
|
102 |
||
103 |
typeMapper |
|
104 |
||
105 |
^platform typeMapper |
|
106 |
||
107 |
"Created: / 18-02-2008 / 15:30:40 / janfrog" |
|
108 |
! |
|
109 |
||
110 |
typeResolver |
|
111 |
||
112 |
^platform typeResolver |
|
113 |
||
114 |
"Created: / 18-02-2008 / 15:30:32 / janfrog" |
|
115 |
! ! |
|
116 |
||
117 |
!GeneratorCommand methodsFor:'processing'! |
|
118 |
||
119 |
process |
|
120 |
||
121 |
||
122 |
self platform typeResolver process: definitions. |
|
123 |
self platform typeMapper process: definitions using: self mappings. |
|
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
124 |
^self platform generator |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
125 |
module: module; |
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
126 |
process: definitions. |
1 | 127 |
|
128 |
"Created: / 18-02-2008 / 15:25:54 / janfrog" |
|
3
110a9cbf8594
More improvements, now it generates usable Cairo bindings!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
129 |
"Modified: / 04-07-2008 / 07:40:53 / Jan Vrany <vranyj1@fel.cvut.cz>" |
1 | 130 |
! ! |
131 |
||
132 |
!GeneratorCommand class methodsFor:'documentation'! |
|
133 |
||
134 |
version |
|
135 |
^ '$Header: /opt/data/cvs/cvut-fel/cface/Cface__GeneratorCommand.st,v 1.1 2008/02/26 15:58:30 vranyj1 Exp $' |
|
136 |
! ! |