byucc.jhdl.parsers.edif.visitor
Interface Visitor

All Known Implementing Classes:
DepthFirstVisitor

public interface Visitor

All void visitors must implement this interface.


Method Summary
 void visit(abs n)
          f0 -> "(" f1 -> "abs" f2 -> numberValue() f3 -> ")"
 void visit(acLoad n)
          f0 -> f1 -> f2 -> ( miNoMaxValue() | miNoMaxDisplay() ) f3 ->
 void visit(after n)
          f0 -> f1 -> f2 -> miNoMaxValue() f3 -> ( logicAssign() | follow() | maintain() | comment() | userData() )* f4 ->
 void visit(and n)
          f0 -> "(" f1 -> "and" f2 -> ( booleanValue() )* f3 -> ")"
 void visit(annotate n)
          f0 -> f1 -> f2 -> ( stringValue() | stringDisplay() ) f3 ->
 void visit(apply n)
          f0 -> f1 -> f2 -> cycle() f3 -> ( logicInput() | logicOutput() | comment() | userData() )* f4 ->
 void visit(arc n)
          f0 -> f1 -> f2 -> pointValue() f3 -> pointValue() f4 -> pointValue() f5 ->
 void visit(array n)
          f0 -> f1 -> f2 -> nameDef() f3 -> integerValue() f4 -> ( integerValue() )* f5 ->
 void visit(arrayMacro n)
          f0 -> f1 -> f2 -> plug() f3 ->
 void visit(arrayRelatedInfo n)
          f0 -> f1 -> f2 -> ( arrayMacro() | arraySite() | baseArray() ) f3 -> ( comment() | userData() )* f4 ->
 void visit(arraySite n)
          f0 -> f1 -> f2 -> socket() f3 ->
 void visit(atLeast n)
          f0 -> f1 -> f2 -> numberValue() f3 ->
 void visit(atMost n)
          f0 -> f1 -> f2 -> numberValue() f3 ->
 void visit(author n)
          f0 -> f1 -> f2 -> f3 ->
 void visit(baseArray n)
          f0 -> f1 -> f2 ->
 void visit(becomes n)
          f0 -> f1 -> f2 -> ( logicNameRef() | logicList() | logicOneOf() ) f3 ->
 void visit(between n)
          f0 -> f1 -> f2 -> ( atLeast() | greaterThan() ) f3 -> ( atMost() | lessThan() ) f4 ->
 void visit(booleanDisplay n)
          f0 -> f1 -> f2 -> booleanValue() f3 -> ( display() )* f4 ->
 void visit(booleanMap n)
          f0 -> f1 -> f2 -> booleanValue() f3 ->
 void visit(booleanValue n)
          f0 -> myFalse() | myTrue() | valueNameRef() | and() | or() | not() | xor() | equal() | increasing() | strictlyIncreasing()
 void visit(borderPattern n)
          f0 -> f1 -> f2 -> integerValue() f3 -> integerValue() f4 -> myBoolean() f5 ->
 void visit(borderWidth n)
          f0 -> f1 -> f2 -> integerValue() f3 ->
 void visit(boundingBox n)
          f0 -> f1 -> f2 -> rectangle() f3 ->
 void visit(ceiling n)
          f0 -> "(" f1 -> "ceiling" f2 -> numberValue() f3 -> ")"
 void visit(cell n)
          f0 -> f1 -> f2 -> cellNameDef() f3 -> cellType() f4 -> ( status() | view() | viewMap() | property() | comment() | userData() )* f5 ->
 void visit(cellNameDef n)
          f0 -> nameDef()
 void visit(cellNameRef n)
          f0 -> nameRef()
 void visit(cellRef n)
          f0 -> f1 -> f2 -> cellNameRef() f3 -> [ libraryRef() ] f4 ->
 void visit(cellType n)
          f0 -> f1 -> f2 -> ( | | ) f3 ->
 void visit(change n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() | portList() ) f3 -> [ transition() | becomes() ] f4 ->
 void visit(circle n)
          f0 -> f1 -> f2 -> pointValue() f3 -> pointValue() f4 -> ( property() )* f5 ->
 void visit(color n)
          f0 -> f1 -> f2 -> scaledInteger() f3 -> scaledInteger() f4 -> scaledInteger() f5 ->
 void visit(comment n)
          f0 -> f1 -> f2 -> ( )* f3 ->
 void visit(commentGraphics n)
          f0 -> f1 -> f2 -> ( annotate() | figure() | instance() | boundingBox() | property() )* f3 ->
 void visit(compound n)
          f0 -> f1 -> f2 -> ( logicNameRef() )* f3 ->
 void visit(concat n)
          f0 -> "(" f1 -> "concat" f2 -> ( stringValue() )* f3 -> ")"
 void visit(connectLocation n)
          f0 -> f1 -> f2 -> ( figure() )* f3 ->
 void visit(constant n)
          f0 -> "(" f1 -> "constant" f2 -> valueNameDef() f3 -> typedValue() f4 -> ")"
 void visit(constraint n)
          f0 -> "(" f1 -> "constraint" f2 -> booleanValue() f3 -> ( property() )* f4 -> ")"
 void visit(contents n)
          f0 -> "(" f1 -> "contents" f2 -> ( instance() | offPageConnector() | figure() | section() | net() | netBundle() | page() | commentGraphics() | portImplementation() | timing() | simulate() | when() | follow() | logicPort() | boundingBox() | constant() | constraint() | variable() | comment() | userData() )* f3 -> ")"
 void visit(cornerType n)
          f0 -> f1 -> f2 -> ( | | ) f3 ->
 void visit(criticality n)
          f0 -> f1 -> f2 -> ( integerValue() | integerDisplay() ) f3 ->
 void visit(currentMap n)
          f0 -> f1 -> f2 -> miNoMaxValue() f3 ->
 void visit(curve n)
          f0 -> f1 -> f2 -> ( arc() | pointValue() )* f3 ->
 void visit(cycle n)
          f0 -> f1 -> f2 -> integerValue() f3 -> [ duration() ] f4 ->
 void visit(dataOrigin n)
          f0 -> f1 -> f2 -> f3 -> [ version() ] f4 ->
 void visit(dcFaninLoad n)
          f0 -> f1 -> f2 -> ( numberValue() | numberDisplay() ) f3 ->
 void visit(dcFanoutLoad n)
          f0 -> f1 -> f2 -> ( numberValue() | numberDisplay() ) f3 ->
 void visit(dcMaxFanin n)
          f0 -> f1 -> f2 -> ( numberValue() | numberDisplay() ) f3 ->
 void visit(dcMaxFanout n)
          f0 -> f1 -> f2 -> ( numberValue() | numberDisplay() ) f3 ->
 void visit(delay n)
          f0 -> f1 -> f2 -> ( miNoMaxValue() | miNoMaxDisplay() ) f3 ->
 void visit(delta n)
          f0 -> f1 -> f2 -> ( pointValue() )* f3 ->
 void visit(derivation n)
          f0 -> f1 -> f2 -> ( | | ) f3 ->
 void visit(design n)
          f0 -> f1 -> f2 -> designNameDef() f3 -> cellRef() f4 -> ( status() | property() | comment() | userData() )* f5 ->
 void visit(designator n)
          f0 -> f1 -> f2 -> ( stringValue() | stringDisplay() ) f3 ->
 void visit(designNameDef n)
          f0 -> nameDef()
 void visit(difference n)
          f0 -> f1 -> f2 -> ( figureGroupRef() | figureOp() ) f3 -> ( figureGroupRef() | figureOp() )* f4 ->
 void visit(direction n)
          f0 -> f1 -> f2 -> ( | | ) f3 ->
 void visit(display n)
          f0 -> f1 -> f2 -> ( figureGroupNameRef() | figureGroupOverride() ) f3 -> [ justify() ] f4 -> [ orientation() ] f5 -> [ origin() ] f6 ->
 void visit(divide n)
          f0 -> "(" f1 -> "divide" f2 -> numberValue() f3 -> ( numberValue() )* f4 -> ")"
 void visit(dominates n)
          f0 -> f1 -> f2 -> ( logicNameRef() )* f3 ->
 void visit(dot n)
          f0 -> f1 -> f2 -> pointValue() f3 -> ( property() )* f4 ->
 void visit(duration n)
          f0 -> f1 -> f2 -> numberValue() f3 ->
 void visit(e n)
          f0 -> f1 -> f2 -> f3 -> f4 ->
 void visit(edif n)
          f0 -> f1 -> f2 -> edifFileName() f3 -> edifVersion() f4 -> edifLevel() f5 -> keywordMap() f6 -> ( status() | external() | library() | design() | comment() | userData() )* f7 ->
 void visit(edifFileName n)
          f0 -> nameDef()
 void visit(edifLevel n)
          f0 -> f1 -> f2 -> f3 ->
 void visit(edifVersion n)
          f0 -> f1 -> f2 -> f3 -> f4 -> f5 ->
 void visit(enclosureDistance n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> figureGroupObject() f5 -> ( range() | singleValueSet() ) f6 -> ( comment() | userData() )* f7 ->
 void visit(endType n)
          f0 -> f1 -> f2 -> ( | | ) f3 ->
 void visit(entry n)
          f0 -> f1 -> f2 -> ( match() | change() | steady() ) f3 -> ( logicRef() | portRef() | noChange() | table() ) f4 -> [ delay() | loadDelay() ] f5 ->
 void visit(equal n)
          f0 -> "(" "equal" numberValue() | ( numberValue() )* ")"
 void visit(event n)
          f0 -> f1 -> f2 -> ( portRef() | portList() | portGroup() | netRef() | netGroup() ) f3 -> ( transition() | becomes() )* f4 ->
 void visit(exactly n)
          f0 -> f1 -> f2 -> numberValue() f3 ->
 void visit(external n)
          f0 -> f1 -> f2 -> libraryNameDef() f3 -> edifLevel() f4 -> technology() f5 -> ( status() | cell() | comment() | userData() )* f6 ->
 void visit(fabricate n)
          f0 -> f1 -> f2 -> layerNameDef() f3 -> figureGroupNameRef() f4 ->
 void visit(figure n)
          f0 -> f1 ->
f2 -> ( figureGroupNameRef() | figureGroupOverride() ) f3 -> ( circle() | dot() | openShape() | path() | polygon() | rectangle() | shape() | comment() | userData() )* f4 ->
 void visit(figureArea n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> ( range() | singleValueSet() ) f5 -> ( comment() | userData() )* f6 ->
 void visit(figureGroup n)
          f0 -> f1 -> f2 -> figureGroupNameDef() f3 -> ( cornerType() | endType() | pathWidth() | borderWidth() | color() | fillPattern() | textHeight() | visible() | includeFigureGroup() | property() | comment() | userData() )* f4 ->
 void visit(figureGroupNameDef n)
          f0 -> nameDef()
 void visit(figureGroupNameRef n)
          f0 -> nameDef()
 void visit(figureGroupObject n)
          f0 -> f1 -> f2 -> ( figureGroupNameRef() | figureGroupRef() | figureOp() ) f3 ->
 void visit(figureGroupOverride n)
          f0 -> f1 -> f2 -> figureGroupNameRef() f3 -> ( cornerType() | endType() | pathWidth() | borderWidth() | color() | fillPattern() | borderPattern() | textHeight() | visible() | property() | comment() | userData() )* f4 ->
 void visit(figureGroupRef n)
          f0 -> f1 -> f2 -> figureGroupNameRef() f3 -> [ libraryRef() ] f4 ->
 void visit(figureOp n)
          f0 -> ( difference() | intersection() | inverse() | oversize() | union() )
 void visit(figurePerimeter n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> ( range() | singleValueSet() ) f5 -> ( comment() | userData() )* f6 ->
 void visit(figureWidth n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> ( range() | singleValueSet() ) f5 -> ( comment() | userData() )* f6 ->
 void visit(fillPattern n)
          f0 -> f1 -> f2 -> integerValue() f3 -> integerValue() f4 -> myBoolean() f5 ->
 void visit(fix n)
          f0 -> "(" f1 -> "fix" f2 -> numberValue() f3 -> ")"
 void visit(floor n)
          f0 -> "(" f1 -> "floor" f2 -> numberValue() f3 -> ")"
 void visit(follow n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() ) f3 -> ( portRef() | table() ) f4 -> [ delay() | loadDelay() ] f5 ->
 void visit(forbiddenEvent n)
          f0 -> f1 -> f2 -> timeInterval() f3 -> ( event() )* f4 ->
 void visit(form n)
          f0 -> f1 -> keywordNameRef() f2 -> ( | | ident() | form() )* f3 ->
 void visit(globalPortRef n)
          f0 -> f1 -> f2 -> portNameRef() f3 ->
 void visit(greaterThan n)
          f0 -> f1 -> f2 -> numberValue() f3 ->
 void visit(gridMap n)
          f0 -> f1 -> f2 -> numberValue() f3 -> numberValue() f4 ->
 void visit(ident n)
          f0 -> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
 void visit(ignore n)
          f0 -> f1 -> f2 ->
 void visit(includeFigureGroup n)
          f0 -> f1 -> f2 -> ( figureGroupRef() | figureOp() ) f3 ->
 void visit(increasing n)
          f0 -> "(" f1 -> "increasing" f2 -> numberValue() f3 -> ( numberValue() )* f4 -> ")"
 void visit(initial n)
          f0 -> f1 -> f2 ->
 void visit(instance n)
          f0 -> f1 -> f2 -> instanceNameDef() f3 -> ( viewRef() | viewList() ) f4 -> ( transform() | parameterAssign() | portInstance() | designator() | timing() | property() | comment() | userData() )* f5 ->
 void visit(instanceBackAnnotate n)
          f0 -> f1 -> f2 -> instanceRef() f3 -> ( designator() | timing() | property() | comment() )* f4 ->
 void visit(instanceGroup n)
          f0 -> f1 -> f2 -> ( instanceRef() )* f3 ->
 void visit(instanceMap n)
          f0 -> f1 -> f2 -> ( instanceRef() | instanceGroup() | comment() | userData() )* f3 ->
 void visit(instanceNameDef n)
          f0 -> nameDef() | array()
 void visit(instanceNameRef n)
          f0 -> nameRef() | member()
 void visit(instanceRef n)
          f0 -> f1 -> f2 -> instanceNameRef() f3 -> [ instanceRef() | viewRef() ] f4 ->
 void visit(integer n)
          f0 -> f1 -> f2 -> ( integerValue() | integerDisplay() | integer() )* f3 ->
 void visit(integerDisplay n)
          f0 -> f1 -> f2 -> integerValue() f3 -> ( display() )* f4 ->
 void visit(integerValue n)
          f0 -> | valueNameRef() | floor() | ceiling() | fix() | mod() | xCoord() | yCoord() | abs() | max() | min() | negate() | product() | subtract() | sum()
 void visit(interFigureGroupSpacing n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> figureGroupObject() f5 -> ( range() | singleValueSet() ) f6 -> ( comment() | userData() )* f7 ->
 void visit(intersection n)
          f0 -> f1 -> f2 -> ( figureGroupRef() | figureOp() ) f3 -> ( figureGroupRef() | figureOp() )* f4 ->
 void visit(intraFigureGroupSpacing n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> ( range() | singleValueSet() ) f5 -> ( comment() | userData() )* f6 ->
 void visit(inverse n)
          f0 -> f1 -> f2 -> ( figureGroupRef() | figureOp() ) f3 ->
 void visit(isolated n)
          f0 -> f1 -> f2 ->
 void visit(joined n)
          f0 -> f1 -> f2 -> ( portRef() | portList() | globalPortRef() )* f3 ->
 void visit(justify n)
          f0 -> f1 -> f2 -> ( | | | | | | | | ) f3 ->
 void visit(keywordDisplay n)
          f0 -> f1 -> f2 -> keywordNameRef() f3 -> ( display() )* f4 ->
 void visit(keywordLevel n)
          f0 -> f1 -> f2 -> f3 ->
 void visit(keywordMap n)
          f0 -> f1 -> f2 -> keywordLevel() f3 -> ( comment() )* f4 ->
 void visit(keywordNameRef n)
          f0 -> ident()
 void visit(layerNameDef n)
          f0 -> nameDef()
 void visit(lessThan n)
          f0 -> f1 -> f2 -> numberValue() f3 ->
 void visit(library n)
          f0 -> f1 -> f2 -> libraryNameDef() f3 -> edifLevel() f4 -> technology() f5 -> ( status() | cell() | comment() | userData() )* f6 ->
 void visit(libraryNameDef n)
          f0 -> nameDef()
 void visit(libraryNameRef n)
          f0 -> nameRef()
 void visit(libraryRef n)
          f0 -> f1 -> f2 -> libraryNameRef() f3 ->
 void visit(listOfNets n)
          f0 -> f1 -> f2 -> ( net() )* f3 ->
 void visit(listOfPorts n)
          f0 -> f1 -> f2 -> ( port() | portBundle() )* f3 ->
 void visit(loadDelay n)
          f0 -> f1 -> f2 -> ( miNoMaxValue() | miNoMaxDisplay() ) f3 -> ( miNoMaxValue() | miNoMaxDisplay() ) f4 ->
 void visit(logicAssign n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() ) f3 -> ( portRef() | logicRef() | table() ) f4 -> [ delay() | loadDelay() ] f5 ->
 void visit(logicInput n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() | portList() ) f3 -> logicWaveform() f4 ->
 void visit(logicList n)
          f0 -> f1 -> f2 -> ( logicNameRef() | logicOneOf() | ignore() )* f3 ->
 void visit(logicMapInput n)
          f0 -> f1 -> f2 -> ( logicRef() )* f3 ->
 void visit(logicMapOutput n)
          f0 -> f1 -> f2 -> ( logicRef() )* f3 ->
 void visit(logicNameDef n)
          f0 -> nameDef()
 void visit(logicNameRef n)
          f0 -> nameRef()
 void visit(logicOneOf n)
          f0 -> f1 -> f2 -> ( logicNameRef() | logicList() )* f3 ->
 void visit(logicOutput n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() | portList() ) f3 -> logicWaveform() f4 ->
 void visit(logicPort n)
          f0 -> f1 -> f2 -> portNameDef() f3 -> ( property() | comment() | userData() )* f4 ->
 void visit(logicRef n)
          f0 -> f1 -> f2 -> logicNameRef() f3 -> [ libraryRef() ] f4 ->
 void visit(logicValue n)
          f0 -> f1 -> f2 -> logicNameDef() f3 -> ( voltageMap() | currentMap() | booleanMap() | compound() | weak() | strong() | dominates() | logicMapOutput() | logicMapInput() | isolated() | resolves() | property() | comment() | userData() )* f4 ->
 void visit(logicWaveform n)
          f0 -> f1 -> f2 -> ( logicNameRef() | logicList() | logicOneOf() | ignore() )* f3 ->
 void visit(maintain n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() ) f3 -> [ delay() | loadDelay() ] f4 ->
 void visit(match n)
          f0 -> f1 -> f2 -> ( portNameRef() | portRef() | portList() ) f3 -> ( logicNameRef() | logicList() | logicOneOf() ) f4 ->
 void visit(max n)
          f0 -> "(" f1 -> "max" f2 -> numberValue() f3 -> ( numberValue() )* f4 -> ")"
 void visit(member n)
          f0 -> f1 -> f2 -> nameRef() f3 -> integerValue() f4 -> ( integerValue() )* f5 ->
 void visit(min n)
          f0 -> "(" f1 -> "min" f2 -> numberValue() f3 -> ( numberValue() )* f4 -> ")"
 void visit(miNoMax n)
          f0 -> f1 -> f2 -> ( miNoMaxValue() | miNoMaxDisplay() | miNoMax() )* f3 ->
 void visit(miNoMaxDisplay n)
          f0 -> f1 -> f2 -> miNoMaxValue() f3 -> ( display() )* f4 ->
 void visit(miNoMaxValue n)
          f0 -> numberValue() | mnm()
 void visit(mnm n)
          f0 -> f1 -> f2 -> ( numberValue() | undefined() | unconstrained() ) f3 -> ( numberValue() | undefined() | unconstrained() ) f4 -> ( numberValue() | undefined() | unconstrained() ) f5 ->
 void visit(mod n)
          f0 -> "(" f1 -> "mod" f2 -> integerValue() f3 -> integerValue() f4 -> ")"
 void visit(multipleValueSet n)
          f0 -> f1 -> f2 -> ( rangeVector() )* f3 ->
 void visit(mustJoin n)
          f0 -> f1 -> f2 -> ( portRef() | portList() | weakJoined() | joined() )* f3 ->
 void visit(myBoolean n)
          f0 -> f1 -> f2 -> ( booleanValue() | booleanDisplay() | myBoolean() )* f3 ->
 void visit(myFalse n)
          f0 -> f1 -> f2 ->
 void visit(myInterface n)
          f0 -> "(" f1 -> "interface" f2 -> ( port() | portBundle() | symbol() | protectionFrame() | arrayRelatedInfo() | parameter() | joined() | mustJoin() | weakJoined() | permutable() | timing() | simulate() | designator() | constant() | constraint() | variable() | property() | comment() | userData() )* f3 -> ")"
 void visit(myTrue n)
          f0 -> f1 -> f2 ->
 void visit(name n)
          f0 -> f1 -> f2 -> ident() f3 -> ( display() )* f4 ->
 void visit(nameDef n)
          f0 -> ident() | name() | rename()
 void visit(nameRef n)
          f0 -> ident() | name()
 void visit(negate n)
          f0 -> "(" f1 -> "negate" f2 -> numberValue() f3 -> ")"
 void visit(net n)
          f0 -> f1 -> f2 -> netNameDef() f3 -> joined() f4 -> ( criticality() | netDelay() | figure() | net() | instance() | commentGraphics() | property() | comment() | userData() )* f5 ->
 void visit(netBackAnnotate n)
          f0 -> f1 -> f2 -> netRef() f3 -> ( netDelay() | criticality() | property() | comment() )* f4 ->
 void visit(netBundle n)
          f0 -> f1 -> f2 -> netNameDef() f3 -> listOfNets() f4 -> ( figure() | commentGraphics() | property() | comment() | userData() )* f5 ->
 void visit(netDelay n)
          f0 -> f1 -> f2 -> derivation() f3 -> delay() f4 -> ( transition() | becomes() )* f5 ->
 void visit(netGroup n)
          f0 -> f1 -> f2 -> ( netNameRef() | netRef() )* f3 ->
 void visit(netMap n)
          f0 -> f1 -> f2 -> ( netRef() | netGroup() | comment() | userData() )* f3 ->
 void visit(netNameDef n)
          f0 -> nameDef() | array()
 void visit(netNameRef n)
          f0 -> nameRef() | member()
 void visit(netRef n)
          f0 -> f1 -> f2 -> netNameRef() f3 -> [ netRef() | instanceRef() | viewRef() ] f4 ->
 void visit(noChange n)
          f0 -> f1 -> f2 ->
 void visit(NodeList n)
           
 void visit(NodeListOptional n)
           
 void visit(NodeOptional n)
           
 void visit(NodeSequence n)
           
 void visit(NodeToken n)
           
 void visit(nonPermutable n)
          f0 -> f1 -> f2 -> ( portRef() | permutable() )* f3 ->
 void visit(not n)
          f0 -> "(" f1 -> "not" f2 -> booleanValue() f3 -> ")"
 void visit(notAllowed n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> ( comment() | userData() )* f5 ->
 void visit(notchSpacing n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> ( range() | singleValueSet() ) f5 -> ( comment() | userData() )* f6 ->
 void visit(number n)
          f0 -> f1 -> f2 -> ( numberValue() | numberDisplay() | number() )* f3 ->
 void visit(numberDefinition n)
          f0 -> f1 -> f2 -> ( scale() | gridMap() | comment() )* f3 ->
 void visit(numberDisplay n)
          f0 -> f1 -> f2 -> numberValue() f3 -> ( display() )* f4 ->
 void visit(numberValue n)
          f0 -> scaledInteger() | valueNameRef() | floor() | ceiling() | fix() | mod() | xCoord() | yCoord() | abs() | max() | min() | negate() | product() | subtract() | sum()
 void visit(offPageConnector n)
          f0 -> f1 -> f2 -> portNameDef() f3 -> ( unused() | property() | comment() | userData() )* f4 ->
 void visit(offsetEvent n)
          f0 -> f1 -> f2 -> event() f3 -> numberValue() f4 ->
 void visit(openShape n)
          f0 -> f1 -> f2 -> curve() f3 -> ( property() )* f4 ->
 void visit(or n)
          f0 -> "(" f1 -> "or" f2 -> ( booleanValue() )* f3 -> ")"
 void visit(orientation n)
          f0 -> f1 -> f2 -> ( | | | | | | | ) f3 ->
 void visit(origin n)
          f0 -> f1 -> f2 -> pointValue() f3 ->
 void visit(overhangDistance n)
          f0 -> f1 -> f2 -> ruleNameDef() f3 -> figureGroupObject() f4 -> figureGroupObject() f5 -> ( range() | singleValueSet() ) f6 -> ( comment() | userData() )* f7 ->