[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/scripts GenMsgBase.py CERTI_Message.msg G...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/scripts GenMsgBase.py CERTI_Message.msg G... |
Date: |
Fri, 05 Mar 2010 18:15:36 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 10/03/05 18:15:36
Modified files:
scripts : GenMsgBase.py CERTI_Message.msg GenMsgCXX.py
GenMsgAST.py
Log message:
Handle native message with multiple [same] language line
Handle native message with no language line at all
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenMsgBase.py?cvsroot=certi&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/CERTI_Message.msg?cvsroot=certi&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenMsgCXX.py?cvsroot=certi&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/certi/scripts/GenMsgAST.py?cvsroot=certi&r1=1.1&r2=1.2
Patches:
Index: GenMsgBase.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenMsgBase.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- GenMsgBase.py 5 Mar 2010 13:57:08 -0000 1.2
+++ GenMsgBase.py 5 Mar 2010 18:15:35 -0000 1.3
@@ -19,7 +19,7 @@
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
## USA
##
-## $Id: GenMsgBase.py,v 1.2 2010/03/05 13:57:08 erk Exp $
+## $Id: GenMsgBase.py,v 1.3 2010/03/05 18:15:35 erk Exp $
## ----------------------------------------------------------------------------
"""
@@ -182,8 +182,9 @@
self.indent()
if (native.hasRepresentation()):
stream.write(self.getIndent()+ "representation " +
native.getRepresentation()+"\n")
- for l in native.languages.values():
- stream.write(self.getIndent()+"language " + l.name + "
["+l.statement+"]\n")
+ for (k,v) in native.languages.items():
+ for l in v:
+ stream.write(self.getIndent()+"language " + k + "
["+l.statement+"]\n")
self.unIndent()
stream.write("}\n")
Index: CERTI_Message.msg
===================================================================
RCS file: /sources/certi/certi/scripts/CERTI_Message.msg,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- CERTI_Message.msg 5 Mar 2010 13:57:08 -0000 1.11
+++ CERTI_Message.msg 5 Mar 2010 18:15:35 -0000 1.12
@@ -40,12 +40,12 @@
}
native LogicalTimeInterval {
- language CXX [//unimplemented]
+ language CXX [//unimplemented 1]
+ language CXX [//unimplemented 2]
language Java [import hla.rti.AttributeHandleSet;]
}
native SuppliedAttributes {
- language CXX [//unimplemented]
language Java [import hla.rti.SuppliedAttributes;]
}
@@ -76,7 +76,7 @@
}
native Handle {
- representation uint64
+ representation uint32
language CXX [#include "certi.hh"]
}
@@ -152,6 +152,12 @@
language CXX [#include "certi.hh"]
}
+native ParameterHandleValuePairSet {
+ representation combine
+ language CXX [#include "RTItypes.hh"]
+ language Java [import hla.rti.SuppliedParameters]
+}
+
native EventRetractionHandle {
language CXX [#include "RTItypes.hh"]
language CXX [typedef RTI::EventRetractionHandle EventRetractionHandle;]
Index: GenMsgCXX.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenMsgCXX.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- GenMsgCXX.py 5 Mar 2010 13:57:08 -0000 1.2
+++ GenMsgCXX.py 5 Mar 2010 18:15:35 -0000 1.3
@@ -19,7 +19,7 @@
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
## USA
##
-## $Id: GenMsgCXX.py,v 1.2 2010/03/05 13:57:08 erk Exp $
+## $Id: GenMsgCXX.py,v 1.3 2010/03/05 18:15:35 erk Exp $
## ----------------------------------------------------------------------------
"""
@@ -246,8 +246,8 @@
headerProtectMacroName = supposedHeaderName
else:
(headerProtectMacroName,ext) = os.path.splitext(self.AST.name)
- headerProtectMacroName = "%s_HH" % headerProtectMacroName.upper()
+ headerProtectMacroName = "%s_HH" % headerProtectMacroName.upper()
stream.write("#ifndef %s\n"%headerProtectMacroName)
stream.write("#define %s\n"%headerProtectMacroName)
# add necessary standard and global includes
@@ -259,12 +259,14 @@
# add include coming from native type specification
stream.write(self.commentLineBeginWith+" ****-**** Includes coming
from native types ****-****\n")
for native in self.AST.natives:
- line = native.getLanguage(self.generatorName()).statement
+ if native.hasLanguage(self.generatorName()):
+ for line in native.getLanguageLines(self.generatorName()):
# we are only interested in native "include" statement
- if line.find("#include")>=0 and (not line in self.included.keys()):
+ stmt = line.statement
+ if stmt.find("#include")>=0 and (not stmt in
self.included.keys()):
self.writeComment(stream, native)
- stream.write(line+"\n")
- self.included[line]=1
+ stream.write(stmt+"\n")
+ self.included[stmt]=1
# Generate namespace for specified package package
# we may have nested namespace
self.openNamespaces(stream)
@@ -278,13 +280,15 @@
stream.write(self.getIndent()+self.commentLineBeginWith)
stream.write(" - with typedef (see below [if any])\n")
for native in self.AST.natives:
- line = native.getLanguage("CXX").statement
+ if native.hasLanguage(self.generatorName()):
+ for line in native.getLanguageLines(self.generatorName()):
+ stmt = line.statement
# we are only interested in native statement
# which are not #include
- if line.find("typedef")>=0 and (not line in
self.typedefed.keys()):
+ if stmt.find("typedef")>=0 and (not stmt in
self.typedefed.keys()):
self.writeComment(stream, native)
- stream.write(self.getIndent()+line+"\n")
- self.typedefed[line]=1
+ stream.write(self.getIndent()+stmt+"\n")
+ self.typedefed[stmt]=1
# Generate enum
lastname = ""
@@ -304,7 +308,7 @@
else:
stream.write(self.getIndent())
if (enumval.name==lastname):
- stream.write("%s " % enumval.name)
+ stream.write("%s \n" % enumval.name)
else:
stream.write("%s, " % enumval.name)
self.writeComment(stream, enumval)
Index: GenMsgAST.py
===================================================================
RCS file: /sources/certi/certi/scripts/GenMsgAST.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- GenMsgAST.py 5 Mar 2010 13:57:08 -0000 1.1
+++ GenMsgAST.py 5 Mar 2010 18:15:35 -0000 1.2
@@ -19,7 +19,7 @@
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
## USA
##
-## $Id: GenMsgAST.py,v 1.1 2010/03/05 13:57:08 erk Exp $
+## $Id: GenMsgAST.py,v 1.2 2010/03/05 18:15:35 erk Exp $
## ----------------------------------------------------------------------------
"""
@@ -321,6 +321,7 @@
A C{NaptiveType} is a simple C{ASTElement} whose
name is the name the native type.
"""
+
def __init__(self,name,lines):
super(NativeType,self).__init__(name=name)
# store language line list in a dictionnary
@@ -329,14 +330,21 @@
self.representation = None
for l in lines:
if isinstance(l,NativeType.LanguageLine):
- self.languages[l.name] = l
+ if l.name in self.languages.keys():
+ self.languages[l.name].append(l)
+ else:
+ self.languages[l.name] = list()
+ self.languages[l.name].append(l)
else:
self.representation = l.representation
def __repr__(self):
return "native %s" % self.name
- def getLanguage(self,language):
+ def hasLanguage(self,language):
+ return (language in self.languages.keys())
+
+ def getLanguageLines(self,language):
if language in self.languages.keys():
return self.languages[language]