Added SVNMapping. Now it is able to parse libsvn.def
--- a/Cface__CConstNode.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CConstNode.st Thu Jul 10 20:56:08 2008 +0000
@@ -44,6 +44,13 @@
!CConstNode methodsFor:'accessing'!
+ffiTypeSymbol
+
+ ^type ffiTypeSymbol
+
+ "Created: / 10-07-2008 / 20:15:12 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
smalltalkClassName
^ type smalltalkClassName
--- a/Cface__CDefinitionParser.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CDefinitionParser.st Thu Jul 10 20:56:08 2008 +0000
@@ -15,7 +15,7 @@
scannerClass
^Cface::CDefinitionScanner
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionParser class methodsFor:'generated-comments'!
@@ -54,6 +54,14 @@
{ (CArgumentNode new
cName:(name value);
type:type) }
+ | ""("" ""argument"" ""("" Type 'type' "")"" ""value"" 'name' "")""
+ { (CArgumentNode new
+ cName:(name value);
+ type:type) }
+ | ""("" ""argument"" ""("" Type 'type' "")"" ""array"" 'name' "")""
+ { (CArgumentNode new
+ cName:(name value);
+ type:type) }
;
@@ -242,7 +250,7 @@
;
"
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionParser class methodsFor:'generated-starting states'!
@@ -256,7 +264,7 @@
startingStateForDefinitionFile
^2
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionParser methodsFor:'accessing'!
@@ -274,14 +282,23 @@
cName:((nodes at:6) value);
type:(nodes at:4))
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForArgument2:nodes
- ^ FunctionArgumentNode cName:((nodes at:6) value) id:(nodes at:4)
+ ^ ((CArgumentNode new)
+ cName:((nodes at:6) value);
+ type:(nodes at:4))
+
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
- "Created: / 10-02-2008 / 10:26:31 / janfrog"
- "Modified: / 10-02-2008 / 19:08:18 / janfrog"
+reduceActionForArgument3:nodes
+ ^ ((CArgumentNode new)
+ cName:((nodes at:6) value);
+ type:(nodes at:4))
+
+ "Created: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForArguments1:nodes
@@ -304,73 +321,73 @@
type:(nodes at:4);
size:(nodes at:6) value
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType10:nodes
^ CWCharNode new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType1:nodes
^ CUnsignedNode new type:(nodes at:2)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType2:nodes
^ nodes at:2
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType3:nodes
^ CLongNode new type:(nodes at:2)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType4:nodes
^ CShortNode new type:(nodes at:2)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType5:nodes
^ CIntNode new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType6:nodes
^ CCharNode new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType7:nodes
^ CDoubleNode new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType8:nodes
^ CFloatNode new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForBuiltinType9:nodes
^ CVoidNode new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForConst1:nodes
^ CConstNode new type:(nodes at:2)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForDefBody1:nodes
@@ -452,31 +469,31 @@
reduceActionForDefinition1:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForDefinition2:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForDefinition3:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForDefinition4:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForDefinition5:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForDefinition6:nodes
@@ -500,7 +517,7 @@
reduceActionForDefinitionFile1:nodes
^ CDefinitionFileNode new definitions:(nodes at:1)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForEnum1:nodes
@@ -510,7 +527,7 @@
foreign:false;
typedef:false
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForEnum2:nodes
@@ -520,7 +537,7 @@
foreign:true;
typedef:false
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForEnumField1:nodes
@@ -549,7 +566,7 @@
cName:((nodes at:4) value);
intValue:((nodes at:6) value))
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForFunction1:nodes
@@ -558,7 +575,7 @@
arguments:(nodes at:5);
return:(nodes at:7)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForFunctionArguments1:nodes
@@ -581,7 +598,7 @@
arguments:(nodes at:5);
return:(nodes at:7)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForFunctionPrototypeArgument1:nodes
@@ -589,7 +606,7 @@
cName:nil;
type:(nodes at:4)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForFunctionPrototypeArguments1:nodes
@@ -609,7 +626,7 @@
reduceActionForGenerated1:nodes
^ (nodes at:3) value
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForGroup_____Function___Struct___Enum___Union___Typedef1:nodes
@@ -729,7 +746,7 @@
reduceActionForGroup______name_1:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForGroup______number_____name_1:nodes
@@ -885,13 +902,13 @@
reduceActionForOptional__Group______name_1:nodes
^ nil
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForOptional__Group______name_2:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForOptional__Group______type_1:nodes
@@ -945,7 +962,7 @@
reduceActionForPointer1:nodes
^ CPointerNode new type:(nodes at:3)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat_Multiple___name_1:nodes
@@ -965,7 +982,7 @@
reduceActionForRepeat__Argument1:nodes
^ OrderedCollection new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__Argument2:nodes
@@ -973,13 +990,13 @@
add:(nodes at:2);
yourself
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__Definition1:nodes
^ OrderedCollection new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__Definition2:nodes
@@ -987,7 +1004,7 @@
add:(nodes at:2);
yourself
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__EnumField1:nodes
@@ -1007,7 +1024,7 @@
reduceActionForRepeat__EnumValue1:nodes
^ OrderedCollection new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__EnumValue2:nodes
@@ -1015,13 +1032,13 @@
add:(nodes at:2);
yourself
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__FunctionPrototypeArgument1:nodes
^ OrderedCollection new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__FunctionPrototypeArgument2:nodes
@@ -1029,7 +1046,7 @@
add:(nodes at:2);
yourself
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__Group_____Function___Struct___Enum___Union___Typedef1:nodes
@@ -1077,7 +1094,7 @@
reduceActionForRepeat__StructField1:nodes
^ OrderedCollection new
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForRepeat__StructField2:nodes
@@ -1085,13 +1102,13 @@
add:(nodes at:2);
yourself
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForReturn1:nodes
^ nodes at:3
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForStruct1:nodes
@@ -1100,7 +1117,7 @@
fields:(nodes at:4);
foreign:false
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForStruct2:nodes
@@ -1109,7 +1126,7 @@
fields:(nodes at:4);
foreign:true
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForStructField1:nodes
@@ -1118,7 +1135,7 @@
offset:(nodes at:8) value asNumber;
type:(nodes at:4)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForStructField2:nodes
@@ -1127,7 +1144,7 @@
offset:(nodes at:8) value asNumber;
type:(nodes at:4)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForStructField3:nodes
@@ -1136,7 +1153,7 @@
offset:(nodes at:8) value asNumber;
type:(nodes at:4)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForStructField4:nodes
@@ -1208,55 +1225,55 @@
reduceActionForType1:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType2:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType3:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType4:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType5:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType6:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType7:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType8:nodes
^ nodes at:1
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForType9:nodes
^ CUserDefinedTypeNode new cName:(nodes at:1) value
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForTypedef1:nodes
@@ -1264,7 +1281,7 @@
cName:((nodes at:3) value);
type:(nodes at:4)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForTypedef2:nodes
@@ -1273,7 +1290,7 @@
type:(nodes at:4);
foreign:true
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForTypedefEnum1:nodes
@@ -1314,7 +1331,7 @@
fields:(nodes at:4);
foreign:false
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForUnion2:nodes
@@ -1323,7 +1340,7 @@
fields:(nodes at:4);
foreign:true
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
reduceActionForUnionFields1:nodes
@@ -1412,6 +1429,8 @@
#(54 4 #reduceActionForPointer1:)
#(55 7 #reduceActionForArray1:)
#(56 7 #reduceActionForArgument1:)
+#(56 7 #reduceActionForArgument2:)
+#(56 7 #reduceActionForArgument3:)
#(57 1 #'reduceActionForGroup______name_1:')
#(58 0 #'reduceActionForOptional__Group______name_1:')
#(58 1 #'reduceActionForOptional__Group______name_2:')
@@ -1428,56 +1447,56 @@
#(66 1 #reduceActionForDefinitionFile1:)
)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
transitionTable
^#(
-#[1 0 234 0 12 0 234 0 63 0 13 0 65 0 17 0 66]
-#[1 0 234 0 12 0 234 0 63 0 13 0 65 0 21 0 66]
-#[1 0 25 0 12 0 29 0 38 0 33 0 39 0 37 0 40 0 41 0 41 0 45 0 42 0 49 0 44 0 242 0 63]
+#[1 0 242 0 12 0 242 0 63 0 13 0 65 0 17 0 66]
+#[1 0 242 0 12 0 242 0 63 0 13 0 65 0 21 0 66]
+#[1 0 25 0 12 0 29 0 38 0 33 0 39 0 37 0 40 0 41 0 41 0 45 0 42 0 49 0 44 0 250 0 63]
#[0 0 0 0 63]
#[0 0 0 0 63]
-#[1 0 53 0 11 0 57 0 17 0 61 0 20 0 65 0 22 0 69 0 23 0 73 0 25 0 77 0 29 0 81 0 31 0 85 0 32]
+#[1 0 53 0 11 0 57 0 17 0 61 0 19 0 65 0 20 0 69 0 22 0 73 0 23 0 77 0 25 0 81 0 29 0 85 0 31]
#[0 0 50 0 12 0 63]
#[0 0 54 0 12 0 63]
#[0 0 58 0 12 0 63]
#[0 0 62 0 12 0 63]
#[0 0 46 0 12 0 63]
-#[0 0 238 0 12 0 63]
+#[0 0 246 0 12 0 63]
#[0 0 89 0 33]
#[0 0 93 0 33]
-#[1 0 194 0 12 0 194 0 14 0 97 0 33 0 101 0 57 0 105 0 58]
-#[0 0 109 0 33]
-#[1 0 194 0 12 0 194 0 14 0 97 0 33 0 101 0 57 0 113 0 58]
-#[1 0 194 0 12 0 194 0 14 0 97 0 33 0 101 0 57 0 117 0 58]
-#[1 0 194 0 12 0 194 0 14 0 97 0 33 0 101 0 57 0 121 0 58]
-#[1 0 194 0 12 0 194 0 14 0 97 0 33 0 101 0 57 0 125 0 58]
-#[1 0 194 0 12 0 194 0 14 0 97 0 33 0 101 0 57 0 129 0 58]
+#[1 0 202 0 12 0 202 0 14 0 97 0 33 0 101 0 57 0 105 0 58]
+#[1 0 202 0 12 0 202 0 14 0 97 0 33 0 101 0 57 0 109 0 58]
+#[0 0 113 0 33]
+#[1 0 202 0 12 0 202 0 14 0 97 0 33 0 101 0 57 0 117 0 58]
+#[1 0 202 0 12 0 202 0 14 0 97 0 33 0 101 0 57 0 121 0 58]
+#[1 0 202 0 12 0 202 0 14 0 97 0 33 0 101 0 57 0 125 0 58]
+#[1 0 202 0 12 0 202 0 14 0 97 0 33 0 101 0 57 0 129 0 58]
#[0 0 133 0 12]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 0 201 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
-#[0 0 190 0 12 0 14]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 0 201 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
#[0 0 198 0 12 0 14]
-#[1 0 226 0 12 0 226 0 14 0 225 0 62]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 0 229 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
-#[1 0 226 0 12 0 226 0 14 0 233 0 62]
-#[1 0 214 0 12 0 214 0 14 0 237 0 60]
-#[1 0 214 0 12 0 214 0 14 0 241 0 60]
-#[1 0 214 0 12 0 214 0 14 0 245 0 60]
-#[1 0 214 0 12 0 214 0 14 0 249 0 60]
+#[0 0 206 0 12 0 14]
+#[1 0 222 0 12 0 222 0 14 0 225 0 60]
+#[1 0 234 0 12 0 234 0 14 0 229 0 62]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 0 233 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[1 0 234 0 12 0 234 0 14 0 237 0 62]
+#[1 0 222 0 12 0 222 0 14 0 241 0 60]
+#[1 0 222 0 12 0 222 0 14 0 245 0 60]
+#[1 0 222 0 12 0 222 0 14 0 249 0 60]
#[1 0 70 0 12 0 70 0 14 0 253 0 46]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 1 1 0 53]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 1 5 0 53]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 1 9 0 53]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 1 13 0 53]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 1 1 0 53]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 1 5 0 53]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 1 9 0 53]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 1 13 0 53]
+#[1 1 17 0 1 1 21 0 7 0 61 0 19 0 65 0 20 0 73 0 23 0 77 0 25 0 81 0 29 0 85 0 31 1 25 0 32]
#[0 0 158 0 14]
#[0 0 154 0 14]
-#[1 1 17 0 7 0 61 0 20 0 69 0 23 0 73 0 25 1 21 0 26 0 77 0 29 1 25 0 30 0 81 0 31 0 85 0 32]
-#[0 0 166 0 14]
#[0 0 162 0 14]
#[0 0 170 0 14]
+#[0 0 166 0 14]
#[0 0 174 0 14]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 29 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 29 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
#[0 0 114 0 14]
#[0 0 102 0 14]
#[0 0 106 0 14]
@@ -1488,13 +1507,13 @@
#[0 0 86 0 14]
#[0 0 90 0 14]
#[0 0 94 0 14]
-#[1 1 37 0 12 1 41 0 14 1 45 0 61]
-#[0 1 49 0 14]
-#[1 1 37 0 12 1 53 0 14 1 45 0 61]
-#[1 1 57 0 12 1 61 0 14 1 65 0 59]
-#[1 1 57 0 12 1 69 0 14 1 65 0 59]
-#[1 1 57 0 12 1 73 0 14 1 65 0 59]
-#[1 1 57 0 12 1 77 0 14 1 65 0 59]
+#[1 1 37 0 12 1 41 0 14 1 45 0 59]
+#[1 1 49 0 12 1 53 0 14 1 57 0 61]
+#[0 1 61 0 14]
+#[1 1 49 0 12 1 65 0 14 1 57 0 61]
+#[1 1 37 0 12 1 69 0 14 1 45 0 59]
+#[1 1 37 0 12 1 73 0 14 1 45 0 59]
+#[1 1 37 0 12 1 77 0 14 1 45 0 59]
#[1 1 81 0 12 1 85 0 14 1 89 0 56]
#[0 0 142 0 14]
#[0 0 138 0 14]
@@ -1502,17 +1521,17 @@
#[0 0 146 0 14]
#[0 1 93 0 33]
#[0 1 97 0 12]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 101 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 101 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
#[0 0 134 0 14]
#[0 0 34 0 12 0 63]
-#[0 1 105 0 21]
+#[0 1 105 0 18]
+#[0 0 18 0 12 0 14 0 63]
+#[0 0 226 0 12 0 14]
+#[0 1 109 0 8]
#[0 0 22 0 12 0 14 0 63]
-#[0 0 230 0 12 0 14]
+#[0 0 238 0 12 0 14]
#[0 0 30 0 12 0 63]
#[0 0 26 0 12 0 14 0 63]
-#[0 1 109 0 19]
-#[0 0 18 0 12 0 14 0 63]
-#[0 0 218 0 12 0 14]
#[0 0 14 0 12 0 14 0 63]
#[0 0 10 0 12 0 14 0 63]
#[0 0 6 0 12 0 14 0 63]
@@ -1520,20 +1539,20 @@
#[1 1 117 0 12 1 121 0 47]
#[0 0 74 0 12 0 14]
#[0 1 125 0 12]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 129 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 129 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
#[0 1 133 0 14]
#[0 1 137 0 12]
#[0 1 141 0 12]
#[0 1 145 0 12]
-#[0 1 149 0 8]
+#[0 1 149 0 2]
#[0 1 153 0 14]
#[1 0 122 0 12 0 122 0 14 1 157 0 50]
#[0 1 161 0 14]
#[0 0 178 0 14]
-#[0 1 165 0 33]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 169 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 173 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 177 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 165 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[0 1 169 0 33]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 173 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 1 177 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
#[0 0 38 0 12 0 63]
#[1 1 181 0 12 1 185 0 14 1 189 0 49]
#[0 1 193 0 34]
@@ -1545,37 +1564,55 @@
#[1 1 117 0 12 1 217 0 47]
#[0 0 126 0 12 0 14]
#[0 1 221 0 14]
-#[0 1 225 0 34]
-#[1 1 229 0 11 1 233 0 21 1 237 0 33]
-#[0 1 241 0 33]
+#[1 1 225 0 8 1 229 0 11 1 233 0 33]
+#[0 1 237 0 34]
+#[1 1 241 0 7 1 245 0 8 1 249 0 33]
#[0 0 78 0 14]
-#[0 1 245 0 12]
-#[0 1 249 0 14]
+#[0 1 253 0 12]
+#[0 2 1 0 14]
#[0 0 182 0 14]
-#[0 1 253 0 14]
-#[0 2 1 0 18]
-#[0 2 5 0 18]
-#[0 2 9 0 18]
-#[0 2 13 0 14]
-#[1 0 137 0 1 0 141 0 2 0 145 0 3 0 149 0 4 0 153 0 5 0 157 0 6 0 161 0 12 0 165 0 15 0 169 0 16 0 173 0 24 0 177 0 27 0 181 0 28 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 2 17 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
+#[0 2 5 0 21]
+#[0 2 9 0 21]
+#[0 2 13 0 21]
+#[0 2 17 0 14]
+#[0 2 21 0 14]
+#[0 2 25 0 14]
+#[0 2 29 0 14]
+#[1 0 137 0 3 0 141 0 4 0 145 0 5 0 149 0 6 0 153 0 12 0 157 0 15 0 161 0 16 0 165 0 24 0 169 0 26 0 173 0 27 0 177 0 28 0 181 0 30 0 185 0 33 0 189 0 38 0 193 0 39 0 197 0 40 2 33 0 48 0 205 0 51 0 209 0 52 0 213 0 53 0 217 0 54 0 221 0 55]
#[0 0 130 0 14]
-#[0 0 222 0 12 0 14]
-#[0 2 21 0 34]
-#[0 2 25 0 34]
-#[0 2 29 0 34]
+#[0 2 37 0 34]
+#[0 2 41 0 34]
+#[0 2 45 0 34]
+#[0 0 230 0 12 0 14]
+#[0 0 194 0 12 0 14]
+#[0 0 190 0 12 0 14]
#[0 0 186 0 12 0 14]
-#[0 2 33 0 14]
-#[0 2 37 0 14]
-#[0 2 41 0 14]
-#[0 2 45 0 14]
#[0 2 49 0 14]
+#[0 2 53 0 14]
+#[0 2 57 0 14]
+#[0 2 61 0 14]
+#[0 2 65 0 14]
+#[0 0 214 0 12 0 14]
+#[0 0 218 0 12 0 14]
#[0 0 210 0 12 0 14]
-#[0 0 206 0 12 0 14]
-#[0 0 202 0 12 0 14]
#[0 0 118 0 12 0 14]
)
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
+!CDefinitionParser methodsFor:'private'!
+
+performReduceMethod: aSymbol with: items
+
+ | cNode |
+ cNode := super performReduceMethod: aSymbol with: items.
+ (cNode isKindOf: CNode) ifTrue:
+ [cNode line: scanner lineNumber].
+ ^cNode
+
+ "Created: / 10-07-2008 / 15:59:04 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:05:24 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionParser methodsFor:'private-error handling'!
--- a/Cface__CDefinitionScanner.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CDefinitionScanner.st Thu Jul 10 20:56:08 2008 +0000
@@ -33,7 +33,7 @@
<comment> : \# [^\r\n]* ;
"
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:48 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner class methodsFor:'generated-initialization'!
@@ -41,54 +41,54 @@
initializeKeywordMap
keywordMap := Dictionary new.
#( #(36 'argument' 13)
- #(36 'array' 26)
- #(36 'char' 5)
- #(36 'const' 28)
- #(36 'double' 16)
+ #(36 'array' 7)
+ #(36 'char' 15)
+ #(36 'const' 30)
+ #(36 'double' 24)
#(36 'enum' 20)
- #(36 'field' 19)
- #(36 'float' 15)
+ #(36 'field' 18)
+ #(36 'float' 27)
#(36 'function' 11)
- #(36 'int' 6)
- #(36 'long' 4)
- #(36 'return' 8)
- #(36 'short' 3)
- #(36 'signed' 1)
- #(36 'struct' 32)
+ #(36 'int' 16)
+ #(36 'long' 6)
+ #(36 'return' 2)
+ #(36 'short' 5)
+ #(36 'signed' 3)
+ #(36 'struct' 31)
#(36 'typedef' 22)
- #(36 'union' 29)
- #(36 'unsigned' 2)
- #(36 'value' 21)
- #(36 'void' 24)
- #(36 'wchar_t' 27)
+ #(36 'union' 25)
+ #(36 'unsigned' 4)
+ #(36 'value' 8)
+ #(36 'void' 26)
+ #(36 'wchar_t' 28)
#(33 'argument' 13)
- #(33 'array' 26)
- #(33 'char' 5)
- #(33 'const' 28)
- #(33 'double' 16)
+ #(33 'array' 7)
+ #(33 'char' 15)
+ #(33 'const' 30)
+ #(33 'double' 24)
#(33 'enum' 20)
- #(33 'field' 19)
- #(33 'float' 15)
+ #(33 'field' 18)
+ #(33 'float' 27)
#(33 'function' 11)
- #(33 'int' 6)
- #(33 'long' 4)
- #(33 'return' 8)
- #(33 'short' 3)
- #(33 'signed' 1)
- #(33 'struct' 32)
+ #(33 'int' 16)
+ #(33 'long' 6)
+ #(33 'return' 2)
+ #(33 'short' 5)
+ #(33 'signed' 3)
+ #(33 'struct' 31)
#(33 'typedef' 22)
- #(33 'union' 29)
- #(33 'unsigned' 2)
- #(33 'value' 21)
- #(33 'void' 24)
- #(33 'wchar_t' 27) )
+ #(33 'union' 25)
+ #(33 'unsigned' 4)
+ #(33 'value' 8)
+ #(33 'void' 26)
+ #(33 'wchar_t' 28) )
do:[:each |
(keywordMap at:each first ifAbsentPut:[ Dictionary new ]) at:(each at:2)
put:each last
].
^ keywordMap
- "Modified: / 09-07-2008 / 21:25:59 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner methodsFor:'generated-scanner'!
@@ -110,7 +110,7 @@
].
^ self reportLastMatch
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
scan2
@@ -149,7 +149,7 @@
].
^ self reportLastMatch
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
scan3
@@ -1185,7 +1185,7 @@
^ self reportLastMatch
].
(currentCharacter == $@) ifTrue:[
- ^ self recordAndReportMatch:#( 18 ).
+ ^ self recordAndReportMatch:#( 21 ).
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 33 36 ).
@@ -1833,7 +1833,7 @@
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
- self recordMatch:#( 7 36 ).
+ self recordMatch:#( 1 36 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -2081,7 +2081,7 @@
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
- self recordMatch:#( 30 36 ).
+ self recordMatch:#( 32 36 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -2420,7 +2420,7 @@
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
- self recordMatch:#( 31 36 ).
+ self recordMatch:#( 29 36 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -3113,7 +3113,7 @@
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
- self recordMatch:#( 25 36 ).
+ self recordMatch:#( 19 36 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -3154,7 +3154,7 @@
].
^ self reportLastMatch
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner methodsFor:'generated-tokens'!
@@ -3162,13 +3162,13 @@
emptySymbolTokenId
^63
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
errorTokenId
^64
- "Modified: / 09-07-2008 / 21:26:00 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 19:55:47 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner class methodsFor:'documentation'!
--- a/Cface__CDerivedTypeNode.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CDerivedTypeNode.st Thu Jul 10 20:56:08 2008 +0000
@@ -86,6 +86,8 @@
!CDerivedTypeNode methodsFor:'printing'!
printOn:stream indent:level
+
+ self printLineOn: stream indent: level.
self smalltalkNamespace
ifNotNil:[
stream
@@ -104,7 +106,7 @@
].
"Created: / 18-02-2008 / 14:33:01 / janfrog"
- "Modified: / 10-07-2008 / 08:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:05:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDerivedTypeNode methodsFor:'testing'!
--- a/Cface__CFunctionNode.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CFunctionNode.st Thu Jul 10 20:56:08 2008 +0000
@@ -162,7 +162,9 @@
!CFunctionNode methodsFor:'printing'!
-printOn:stream indent:level
+printOn:stream indent:level
+
+ self printLineOn: stream indent: level.
self smalltalkNamespace
ifNotNil:[
stream
@@ -214,7 +216,7 @@
"Created: / 18-02-2008 / 14:27:37 / janfrog"
"Modified: / 04-03-2008 / 10:57:11 / janfrog"
- "Modified: / 10-07-2008 / 08:01:16 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:05:29 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CFunctionNode methodsFor:'private'!
--- a/Cface__CNode.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CNode.st Thu Jul 10 20:56:08 2008 +0000
@@ -3,7 +3,7 @@
"{ NameSpace: Cface }"
Object subclass:#CNode
- instanceVariableNames:''
+ instanceVariableNames:'line'
classVariableNames:''
poolDictionaries:''
category:'Cface-C AST'
@@ -12,6 +12,18 @@
!CNode methodsFor:'accessing'!
+line
+ ^ line
+
+ "Created: / 10-07-2008 / 20:05:15 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+line:something
+ line := something.
+
+ "Created: / 10-07-2008 / 20:05:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
priority
^50
@@ -21,6 +33,16 @@
!CNode methodsFor:'printing'!
+printLineOn: stream indent: level
+
+ line ifNil:[^self].
+ stream nextPutAll:';; Line: '; nextPutAll: line printString; cr.
+ stream next: level put: Character tab.
+
+ "Created: / 10-07-2008 / 15:58:13 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:05:31 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
printOn: stream
self printOn: stream indent: 0
@@ -30,9 +52,11 @@
printOn: stream indent: level
+ stream next: level put: Character tab.
super printOn: stream
"Created: / 17-02-2008 / 18:10:30 / janfrog"
+ "Modified: / 10-07-2008 / 20:05:18 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CNode methodsFor:'testing'!
--- a/Cface__CTypedefNode.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__CTypedefNode.st Thu Jul 10 20:56:08 2008 +0000
@@ -104,6 +104,7 @@
printOn: stream indent: level
+ self printLineOn: stream indent: level.
stream
nextPutAll: '(typedef '; cr;
next: level + 1 put: Character tab; nextPutAll: cName; cr;
@@ -113,6 +114,7 @@
"Created: / 17-02-2008 / 18:13:13 / janfrog"
"Modified: / 18-02-2008 / 15:12:01 / janfrog"
+ "Modified: / 10-07-2008 / 20:05:26 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CTypedefNode methodsFor:'visiting'!
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Cface__SVNMapping.st Thu Jul 10 20:56:08 2008 +0000
@@ -0,0 +1,76 @@
+"{ Package: 'cvut:fel/cface' }"
+
+"{ NameSpace: Cface }"
+
+TypeMapping subclass:#SVNMapping
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Cface-Mappings'
+!
+
+!SVNMapping methodsFor:'accessing'!
+
+smalltalkClassNameForDerivedType:cType
+ |svnName|
+
+ svnName := cType cName.
+ svnName = 'svn_client_ctx' ifTrue:[
+ ^ #Context
+ ].
+ (svnName startsWith:'svn_') ifTrue:[
+ svnName := svnName copyFrom:5
+ ].
+ (svnName endsWith:'_t') ifTrue:[
+ svnName := svnName copyTo:(svnName size - 2)
+ ].
+ ^ (self smalltalkize:svnName) capitalized asSymbol
+
+ "
+ Cface::CairoMappings new
+ classForType:(Cface::EnumNode new name:'_cairo_subpixel_order_t')
+
+ Cface::CairoMappings new
+ classForType:(Cface::EnumNode new name:'_cairo_status_t')"
+ "Answers class which should contain function call"
+
+ "Modified: / 17-02-2008 / 22:18:24 / janfrog"
+ "Created: / 10-07-2008 / 20:26:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespaceForDerivedType: type
+
+ (type cName startsWith: 'svn') ifTrue:[^#SVN].
+ (type cName startsWith: 'apr') ifTrue:[^#APR].
+ ^super smalltalkNamespaceForDerivedType: type
+
+ "Created: / 10-07-2008 / 20:26:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkPackage
+
+ ^#'stx:goodies/libsvn'
+
+ "Created: / 10-07-2008 / 20:26:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkSelectorForFunction: cFunction
+
+ | selector |
+ selector := cFunction cName.
+ cFunction isFirstArgumentCPointerToCStructure ifTrue:
+ [|firstArgTypeCname|
+ firstArgTypeCname := cFunction arguments first type type cName.
+ (firstArgTypeCname first = $_) ifTrue:
+ [ firstArgTypeCname := firstArgTypeCname copyFrom:2].
+ (selector startsWith:firstArgTypeCname) ifTrue:
+ [selector := selector copyFrom: firstArgTypeCname size + 2]].
+
+ (selector startsWith:'cairo_')
+ ifTrue:[selector := (cFunction cName at: 7) asString , (selector copyFrom: 8)].
+ ^self smalltalkizeSelector: selector forFunction: cFunction.
+
+ "Modified: / 18-02-2008 / 14:58:43 / janfrog"
+ "Created: / 10-07-2008 / 20:26:25 / Jan Vrany <vranyj1@fel.cvut.cz>"
+! !
+
--- a/Cface__TypeCollector.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__TypeCollector.st Thu Jul 10 20:56:08 2008 +0000
@@ -101,6 +101,7 @@
visitCTypedefNode: node
| oldNode |
+ node cName = node type cName ifTrue:[^self].
oldNode := typeMap at: node cName ifAbsent:nil.
oldNode
ifNil:
@@ -110,7 +111,7 @@
[typeMap at: node cName put: node type]]
"Created: / 12-02-2008 / 22:55:53 / janfrog"
- "Modified: / 04-07-2008 / 15:03:19 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:10:20 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
visitCUnionNode: anObject
--- a/Cface__TypeMapper.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__TypeMapper.st Thu Jul 10 20:56:08 2008 +0000
@@ -65,7 +65,7 @@
visitCEnumNode:cEnum
cEnum isAnonymous ifFalse:[
cEnum
- smalltalkNamespace:mappings smalltalkNamespace;
+ smalltalkNamespace:(mappings smalltalkNamespaceForEnum: cEnum);
smalltalkPackage:(mappings smalltalkPackage);
smalltalkClassName:(mappings smalltalkClassNameForEnum:cEnum);
smalltalkCategory: (mappings smalltalkCategoryForEnum: cEnum)
@@ -74,7 +74,7 @@
"Created: / 17-02-2008 / 20:58:53 / janfrog"
"Modified: / 17-02-2008 / 22:24:58 / janfrog"
- "Modified: / 10-07-2008 / 08:02:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:25:21 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
visitCEnumValueNode:cEnum
@@ -89,13 +89,13 @@
visitCFunctionNode:cFunction
cFunction
kind:(mappings kindForFunction:cFunction);
- smalltalkNamespace:mappings smalltalkNamespace;
+ smalltalkNamespace:(mappings smalltalkNamespaceForFunction: cFunction);
smalltalkClassName:(mappings smalltalkClassNameForFunction:cFunction);
smalltalkSelector:(mappings smalltalkSelectorForFunction:cFunction).
super visitCFunctionNode:cFunction
"Created: / 17-02-2008 / 22:10:44 / janfrog"
- "Modified: / 10-07-2008 / 08:01:27 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:25:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
visitCStructFieldNode: cEnum
@@ -110,7 +110,7 @@
visitCStructNode:cStruct
cStruct isAnonymous ifFalse:[
cStruct
- smalltalkNamespace:mappings smalltalkNamespace;
+ smalltalkNamespace:(mappings smalltalkNamespaceForStruct: cStruct);
smalltalkPackage:(mappings smalltalkPackage);
smalltalkClassName:(mappings smalltalkClassNameForStruct:cStruct);
smalltalkCategory: (mappings smalltalkCategoryForStruct: cStruct)
@@ -119,13 +119,13 @@
"Created: / 17-02-2008 / 21:12:55 / janfrog"
"Modified: / 17-02-2008 / 22:24:51 / janfrog"
- "Modified: / 10-07-2008 / 08:03:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:25:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
visitCUnionNode:cUnion
cUnion isAnonymous ifFalse:[
cUnion
- smalltalkNamespace:mappings smalltalkNamespace;
+ smalltalkNamespace:(mappings smalltalkNamespaceForUnion: cUnion);
smalltalkPackage:(mappings smalltalkPackage);
smalltalkClassName:(mappings smalltalkClassNameForStruct:cUnion);
smalltalkCategory: (mappings smalltalkCategoryForUnion: cUnion)
@@ -133,7 +133,7 @@
super visitCUnionNode:cUnion
"Created: / 17-02-2008 / 22:25:27 / janfrog"
- "Modified: / 10-07-2008 / 08:03:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:25:56 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!TypeMapper class methodsFor:'documentation'!
--- a/Cface__TypeMapping.st Thu Jul 10 07:31:14 2008 +0000
+++ b/Cface__TypeMapping.st Thu Jul 10 20:56:08 2008 +0000
@@ -3,7 +3,7 @@
"{ NameSpace: Cface }"
Object subclass:#TypeMapping
- instanceVariableNames:'smalltalkPackage'
+ instanceVariableNames:'smalltalkPackage smalltalkNamespace'
classVariableNames:''
poolDictionaries:''
category:'Cface-Mappings'
@@ -33,9 +33,10 @@
smalltalkCategoryForDerivedType:cType
- ^self smalltalkNamespace , ' - C Types'
+ ^(self smalltalkNamespaceForDerivedType: cType) , ' - C Types'
"Created: / 10-07-2008 / 08:06:58 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:30:28 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkCategoryForEnum: enum
@@ -64,9 +65,10 @@
!
smalltalkClassNameForDerivedType:cType
- ^ self smalltalkize:cType cName
+ ^ (self smalltalkize:cType cName) capitalized asSymbol
"Created: / 10-07-2008 / 08:05:42 / Jan Vrany <vranyj1@fel.cvut.cz>"
+ "Modified: / 10-07-2008 / 20:29:30 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkClassNameForEnum:cEnum
@@ -126,9 +128,51 @@
smalltalkNamespace
- ^#Smalltalk
+ ^smalltalkNamespace ? #Smalltalk
"Created: / 17-02-2008 / 20:51:05 / janfrog"
+ "Modified: / 10-07-2008 / 20:34:14 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespace:something
+ smalltalkNamespace := something.
+
+ "Created: / 10-07-2008 / 20:23:36 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespaceForDerivedType: cType
+
+ ^self smalltalkNamespace
+
+ "Created: / 10-07-2008 / 20:23:22 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespaceForEnum: cType
+
+ ^self smalltalkNamespaceForDerivedType: cType
+
+ "Created: / 10-07-2008 / 20:24:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespaceForFunction: cType
+
+ ^self smalltalkNamespaceForDerivedType: cType
+
+ "Created: / 10-07-2008 / 20:24:08 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespaceForStruct: cType
+
+ ^self smalltalkNamespaceForDerivedType: cType
+
+ "Created: / 10-07-2008 / 20:24:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
+!
+
+smalltalkNamespaceForUnion: cType
+
+ ^self smalltalkNamespaceForDerivedType: cType
+
+ "Created: / 10-07-2008 / 20:24:55 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
smalltalkPackage