[Xorp-cvs] SF.net SVN: xorp:[11669] trunk/xorp/xrl/scripts/Xif/parse.py

bms_fbsd at users.sourceforge.net bms_fbsd at users.sourceforge.net
Thu Dec 3 15:45:55 PST 2009


Revision: 11669
          http://xorp.svn.sourceforge.net/xorp/?rev=11669&view=rev
Author:   bms_fbsd
Date:     2009-12-03 23:45:55 +0000 (Thu, 03 Dec 2009)

Log Message:
-----------
Make the use of the name:list<member_type> syntax mandatory in the
XIF parser. XIF files must now fully declare the types embedded in
any XrlAtomLists they instantiate.

Obtained from:  xorp-thrift branch

Modified Paths:
--------------
    trunk/xorp/xrl/scripts/Xif/parse.py

Modified: trunk/xorp/xrl/scripts/Xif/parse.py
===================================================================
--- trunk/xorp/xrl/scripts/Xif/parse.py	2009-12-03 23:39:30 UTC (rev 11668)
+++ trunk/xorp/xrl/scripts/Xif/parse.py	2009-12-03 23:45:55 UTC (rev 11669)
@@ -105,6 +105,7 @@
 
         validate_name(file, lineno, "Atom", name, '_-')
 
+        # Parse <type>\<<member_type>\> (\<\> are literal angle brackets).
         lab = string.find(type, "<")
         member_type = None
         if lab != -1:
@@ -117,12 +118,12 @@
         if xrl_atom_type.has_key(type) == 0:
             quit(file, lineno, "Atom type \"%s\" not amongst those known %s"
                  % (type, xrl_atom_type.keys()))
-
         xa = XrlArg(name, type)
         if type == 'list':
-            # TODO: Force syntax check that member_type is present.
+            # Deal with type of members embedded in the container. These
+            # are now mandatory for XIF in this branch.
             if xrl_atom_type.has_key(member_type) == 0:
-                warn(file, lineno, "Member atom type \"%s\" not amongst those known %s" % (member_type, xrl_atom_type.keys()))
+                quit(file, lineno, "Member atom type \"%s\" not amongst those known %s" % (member_type, xrl_atom_type.keys()))
             xa.set_member_type(member_type)
 
         xrl_args.append(xa)


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Xorp-cvs mailing list