certi-cvs
[Top][All Lists]
Advanced

[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]
         




reply via email to

[Prev in Thread] Current Thread [Next in Thread]