|
@@ -5,6 +5,14 @@ class BootstrapVisitor(PrimitivesVisitor):
|
|
def __init__(self, args):
|
|
def __init__(self, args):
|
|
PrimitivesVisitor.__init__(self, args)
|
|
PrimitivesVisitor.__init__(self, args)
|
|
|
|
|
|
|
|
+ for f in args:
|
|
|
|
+ if "--prepend:" in f:
|
|
|
|
+ self.prepend_name = f.split(":", 1)[1]
|
|
|
|
+ break
|
|
|
|
+ else:
|
|
|
|
+ self.prepend_name = "auto"
|
|
|
|
+
|
|
|
|
+
|
|
def dump(self):
|
|
def dump(self):
|
|
link_id = 0
|
|
link_id = 0
|
|
call = self.value(Action("call"))
|
|
call = self.value(Action("call"))
|
|
@@ -19,18 +27,18 @@ class BootstrapVisitor(PrimitivesVisitor):
|
|
output = []
|
|
output = []
|
|
for t, data in self.output:
|
|
for t, data in self.output:
|
|
if t == "N":
|
|
if t == "N":
|
|
- output.append("Node auto_%s()\n" % data)
|
|
|
|
|
|
+ output.append("Node %s_%s()\n" % (self.prepend_name, data))
|
|
elif t == "V":
|
|
elif t == "V":
|
|
name, value = data
|
|
name, value = data
|
|
name = name if self.first != name else "initial_IP"
|
|
name = name if self.first != name else "initial_IP"
|
|
- output.append("Node auto_%s(%s)\n" % (name, value))
|
|
|
|
|
|
+ output.append("Node %s_%s(%s)\n" % (self.prepend_name, name, value))
|
|
elif t == "D":
|
|
elif t == "D":
|
|
source, value, target = data
|
|
source, value, target = data
|
|
source = source if self.first != source else "auto_initial_IP"
|
|
source = source if self.first != source else "auto_initial_IP"
|
|
target = target if self.first != target else "auto_initial_IP"
|
|
target = target if self.first != target else "auto_initial_IP"
|
|
|
|
|
|
- source = "auto_%s" % source if isinstance(source, int) else source
|
|
|
|
- target = "auto_%s" % target if isinstance(target, int) else target
|
|
|
|
|
|
+ source = "%s_%s" % (self.prepend_name, source if isinstance(source, int) else source)
|
|
|
|
+ target = "%s_%s" % (self.prepend_name, target if isinstance(target, int) else target)
|
|
# output.append("D %s,%s,%s\n" % (source, value, target))
|
|
# output.append("D %s,%s,%s\n" % (source, value, target))
|
|
linkname = "%s_%s_%s" % (source, link_id, target)
|
|
linkname = "%s_%s_%s" % (source, link_id, target)
|
|
link_id += 1
|
|
link_id += 1
|
|
@@ -41,8 +49,8 @@ class BootstrapVisitor(PrimitivesVisitor):
|
|
name, source, target = data
|
|
name, source, target = data
|
|
source = source if self.first != source else "auto_initial_IP"
|
|
source = source if self.first != source else "auto_initial_IP"
|
|
target = target if self.first != target else "auto_initial_IP"
|
|
target = target if self.first != target else "auto_initial_IP"
|
|
- name = "auto_%s" % name if isinstance(name, int) else name
|
|
|
|
- source = "auto_%s" % source if isinstance(source, int) else source
|
|
|
|
- target = "auto_%s" % target if isinstance(target, int) else target
|
|
|
|
|
|
+ name = "%s_%s" % (self.prepend_name, name if isinstance(name, int) else name)
|
|
|
|
+ source = "%s_%s" % (self.prepend_name, source if isinstance(source, int) else source)
|
|
|
|
+ target = "%s_%s" % (self.prepend_name, target if isinstance(target, int) else target)
|
|
output.append("Edge _%s(_%s, _%s)\n" % (name, source, target))
|
|
output.append("Edge _%s(_%s, _%s)\n" % (name, source, target))
|
|
return ''.join(output)
|
|
return ''.join(output)
|