diff --git a/.bzrignore b/.bzrignore index 6e4e32b9a82793a418aab0ea43411d7f1cb12ef1..0e898a1d90654a6287c295470ca29175a3742cdc 100644 --- a/.bzrignore +++ b/.bzrignore @@ -19,9 +19,3 @@ examples/x3d/X3DAST GeneratedAspects.jrag Parser.java PrettyPrint.java -xdf.ast -xdf.jjt -examples/actors/xdf/xdfAST -examples/actors/xlim/xlimAST -examples/actors/xlimAST -examples/actors/xdfAST diff --git a/examples/actors/xdf/MergeActors.jrag b/examples/actors/xdf/MergeActors.jrag index 4dcf792c6ddea69747ebc7edd8b8245a388dd869..5849d6859660e7484cc24d7f67b8095598c1cca5 100644 --- a/examples/actors/xdf/MergeActors.jrag +++ b/examples/actors/xdf/MergeActors.jrag @@ -45,6 +45,8 @@ aspect MergeActors { i.next = i.next.next; } } + // Now generate files for the newly merged actor instances. + for (Instance i : getInstances()) {} } // void Connection.mergeActors() { // Instance src = getSource(); @@ -72,6 +74,11 @@ aspect Misc { set.add(this); return set; } + + public HashSet<Instance> XDF.getInstances() { + return getInstances(new HashSet<Instance>()); + } + syn HashSet<Instance> Element.getInstances(HashSet<Instance> inst) = inst; } aspect Rewrites { @@ -82,7 +89,7 @@ aspect Rewrites { return new ComplexElement(); } } - rewrite Instance + rewrite Instance { when (remove_me) to ComplexElement { return new ComplexElement(); } diff --git a/examples/actors/xdf/SSR.jrag b/examples/actors/xdf/SSR.jrag index 9f972178f30a927aa372e383b1f31e1ab8d731f2..6038b7fabc1d1e72e7d28f88107c326656e81ecb 100644 --- a/examples/actors/xdf/SSR.jrag +++ b/examples/actors/xdf/SSR.jrag @@ -30,15 +30,15 @@ aspect SSR { aspect SDF { syn boolean Instance.isSDF() = xlimInstance().isSDF(); - syn xlimAST.design Instance.xlimInstance() { + syn xlimAST.Start Instance.xlimInstance() { try { System.out.println("Trying to open: "+name()); xlimAST.XmlParser parser = new xlimAST.XmlParser(new FileReader(name()+".xlim")); - return (xlimAST.design) parser.Start().getSpecification().getElement(0); + return parser.Start(); } catch (Exception e) { System.out.println( name()+".xlim not found"); // e.printStackTrace(); - return new xlimAST.design(); + return new xlimAST.Start(); } } } diff --git a/examples/actors/xdf/xdf.ast b/examples/actors/xdf/xdf.ast new file mode 100644 index 0000000000000000000000000000000000000000..a340e597ed28fca467acf44a18c4167c76b90714 --- /dev/null +++ b/examples/actors/xdf/xdf.ast @@ -0,0 +1,68 @@ +// -*-Java-*- + +// Automatically generated JastAdd abstract grammar file +// Predefined types +Start ::= Specification; +Specification ::= XmlHeader [DocType] Element*; +XmlHeader ::= Attribute*; +DocType ::= <STRING>; +abstract Thing : ComplexElement ::=; +abstract Element; +ComplexElement : Element ::= Attribute* Element*; +ValueElement : ComplexElement; +abstract SimpleElement : Element; +StringElement : SimpleElement ::= <LITERAL>; +IntElement : SimpleElement ::= <LITERAL>; +FloatElement : SimpleElement ::= <LITERAL>; +Attribute ::= AttrValue; +AttrValue ::= <LITERAL>; +Encoding : Attribute ::=; +Version : Attribute ::=; +XmlnsXsi : Attribute ::=; +XsiNoNamespaceSchemaLocation : Attribute ::=; + +// Generated types +Output : ComplexElement ::= ; +Class : ComplexElement ::= ; +Op : ComplexElement ::= ; +Parameter : ComplexElement ::= ; +QID : ComplexElement ::= ; +text_end_line : Attribute ::= ; +Connection : ComplexElement ::= ; +Note : ComplexElement ::= ; +text_begin_line : Attribute ::= ; +name : Attribute ::= ; +from : Attribute ::= ; +Instance : ComplexElement ::= ; +Entry : ComplexElement ::= ; +dst_port : Attribute ::= ; +Guards : ComplexElement ::= ; +src : Attribute ::= ; +ID : ComplexElement ::= ; +Action : ComplexElement ::= ; +Import : ComplexElement ::= ; +Port : ComplexElement ::= ; +literal_kind : Attribute ::= ; +Transition : ComplexElement ::= ; +assignable : Attribute ::= ; +initial_state : Attribute ::= ; +ActionTags : ComplexElement ::= ; +Args : ComplexElement ::= ; +dst : Attribute ::= ; +id : Attribute ::= ; +Expr : ComplexElement ::= ; +port : Attribute ::= ; +text_begin_col : Attribute ::= ; +src_port : Attribute ::= ; +text_end_col : Attribute ::= ; +value : Attribute ::= ; +Decl : ComplexElement ::= ; +Input : ComplexElement ::= ; +kind : Attribute ::= ; +Stmt : ComplexElement ::= ; +Type : ComplexElement ::= ; +XDF : ComplexElement ::= ; +_Attribute : ComplexElement ::= ; +Schedule : ComplexElement ::= ; +_to : Attribute ::= ; +Actor : ComplexElement ::= ; diff --git a/examples/actors/xdf/xdf.jjt b/examples/actors/xdf/xdf.jjt new file mode 100644 index 0000000000000000000000000000000000000000..543d1e7daa4a3640dea3a7ab428c0ec67e785f51 --- /dev/null +++ b/examples/actors/xdf/xdf.jjt @@ -0,0 +1,589 @@ +/* -*-Java-*- */ + +options { + MULTI = true; + VISITOR = true; + NODE_DEFAULT_VOID = true; + NODE_SCOPE_HOOK = false; + NODE_PREFIX = ""; + JAVA_UNICODE_ESCAPE = true; + STATIC = false; +} + +PARSER_BEGIN(XmlParser) + package xdfAST; + public class XmlParser { +} +PARSER_END(XmlParser) + +//----------------------------------------------// +// LEXICAL TOKENS // +//----------------------------------------------// +<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* WHITE SPACE */ +{ + " " + | + "\t" + | + "\n" + | + "\r" + | + "\f" +}// WHITE SPACE + +<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* COMMENTS */ +{ + < "<!--" ( ~["-"] | ( "-" ~["-"] ) )* "-->"> +}// COMMENTS + +<DEFAULT> TOKEN : /* Reserved Words */ +{ + <XML : "xml"> + | <DOCTYPE : "DOCTYPE"> + | <PUBLIC : "PUBLIC"> + | <encoding : "encoding"> + | <version : "version"> + | <XsiNoNamespaceSchemaLocation : "xsi:noNamespaceSchemaLocation"> + | <XmlnsXsi : "xmlns:xsi"> + | <Output : "Output" > + | <Class : "Class" > + | <Op : "Op" > + | <Parameter : "Parameter" > + | <QID : "QID" > + | <text_end_line : "text-end-line" > + | <Connection : "Connection" > + | <Note : "Note" > + | <text_begin_line : "text-begin-line" > + | <name : "name" > + | <from : "from" > + | <Instance : "Instance" > + | <Entry : "Entry" > + | <dst_port : "dst-port" > + | <Guards : "Guards" > + | <src : "src" > + | <ID : "ID" > + | <Action : "Action" > + | <Import : "Import" > + | <Port : "Port" > + | <literal_kind : "literal-kind" > + | <Transition : "Transition" > + | <assignable : "assignable" > + | <initial_state : "initial-state" > + | <ActionTags : "ActionTags" > + | <Args : "Args" > + | <dst : "dst" > + | <id : "id" > + | <Expr : "Expr" > + | <port : "port" > + | <text_begin_col : "text-begin-col" > + | <src_port : "src-port" > + | <text_end_col : "text-end-col" > + | <value : "value" > + | <Decl : "Decl" > + | <Input : "Input" > + | <kind : "kind" > + | <Stmt : "Stmt" > + | <Type : "Type" > + | <XDF : "XDF" > + | <_Attribute : "Attribute" > + | <Schedule : "Schedule" > + | <_to : "to" > + | <Actor : "Actor" > +}// Reserved Words + +<DEFAULT, BOUNDS> TOKEN : /* LITERALS */ +{ + < INTEGER_LITERAL: + <DECIMAL_LITERAL> (["l","L"])? + | + <HEX_LITERAL> (["l","L"])? + | + <OCTAL_LITERAL> (["l","L"])? + > + | + < #DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* > + | + < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ > + | + < #OCTAL_LITERAL: "0" (["0"-"7"])* > + | + < FLOAT_LITERAL: + (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? (["f","F","d","D"])? + | + "." (["0"-"9"])+ (<EXPONENT>)? (["f","F","d","D"])? + | + (["0"-"9"])+ <EXPONENT> (["f","F","d","D"])? + | + (["0"-"9"])+ (<EXPONENT>)? ["f","F","d","D"] + > + | + < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ > + | + < CHARACTER_LITERAL: + "'" + ( (~["'","\\","\n","\r"]) + | + ("\\" + ( ["n","t","b","r","f","\\","'","\""] + | + ["0"-"7"] ( ["0"-"7"] )? + | + ["0"-"3"] ["0"-"7"] ["0"-"7"] + ) + ) + ) + "'" + > + | + < STRING_LITERAL: + ("\"" + ( (~["\"","\n","\r"]) + )* + "\"") + | ("\'" + ( (~["\'","\n","\r"]) + )* + "\'") + > +}// LITERALS +<DEFAULT, BOUNDS> TOKEN : /* IDENTIFIERS */ +{ + < IDENTIFIER: <LETTER> (<LETTER>|<DIGIT>|"-")* > + | + < #LETTER: + [ + "\u0024", + "\u0041"-"\u005a", + "\u005f", + "\u0061"-"\u007a", + "\u00c0"-"\u00d6", + "\u00d8"-"\u00f6", + "\u00f8"-"\u00ff", + "\u0100"-"\u1fff", + "\u3040"-"\u318f", + "\u3300"-"\u337f", + "\u3400"-"\u3d2d", + "\u4e00"-"\u9fff", + "\uf900"-"\ufaff" + ] + > + | + < #DIGIT: + [ + "\u0030"-"\u0039", + "\u0660"-"\u0669", + "\u06f0"-"\u06f9", + "\u0966"-"\u096f", + "\u09e6"-"\u09ef", + "\u0a66"-"\u0a6f", + "\u0ae6"-"\u0aef", + "\u0b66"-"\u0b6f", + "\u0be7"-"\u0bef", + "\u0c66"-"\u0c6f", + "\u0ce6"-"\u0cef", + "\u0d66"-"\u0d6f", + "\u0e50"-"\u0e59", + "\u0ed0"-"\u0ed9", + "\u1040"-"\u1049" + ] + > +}// IDENTIFIERS +<DEFAULT,BOUNDS> TOKEN : /* SEPARATORS */ +{ + < LBRACE : "{" > + | < RBRACE : "}" > + | < LBRACKET : "[" > + | < RBRACKET : "]" > + | < SEMICOLON : ";" > + | < LTSLASH : "</" > : DEFAULT + | < LTBANG : "<!" > : DEFAULT + | < LT : "<" > : DEFAULT + | < LTQ : "<?" > : DEFAULT + | < GT : ">" > : BOUNDS + | < QGT : "?>" > : BOUNDS +}// SEPARATORS +<DEFAULT,BOUNDS> TOKEN : /* OPERATORS */ +{ + < ASSIGN : "=" > +}// OPERATORS +Start Start() #Start : {} +{ + Specification() + { return jjtThis; } +} + +void Specification() #Specification : {} +{ + XmlHeader() + ( [DocType()] ) #Opt(true) + ElementList() +} + +void DocType() #DocType : {String s;} +{ + <LTBANG> + { + s = new String(); + if (getToken(1).kind != GT ) { + s += getData(); + } + } + {jjtThis.setSTRING(s);} +} + +JAVACODE +String getData() { + StringBuffer s = new StringBuffer(); +// jjtThis.someData = true; + while ((getToken(1)).kind != LT && (getToken(1)).kind != LTSLASH) { + Token t = getNextToken(); + if (t.specialToken != null) { + Token tmp_t = t.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + s.append(tmp_t.image); + tmp_t = tmp_t.next; + } + } + s.append(t.image); + s.append(" "); + } + return s.toString(); +} + +void XmlHeader() #XmlHeader : {} +{ + <LTQ> <XML> AttributeList() <QGT> +} + +void ElementList() #List : {} +{ + (Element())* +} + +void AttributeList() #List : {} +{ + (Attribute())* +} + +void AttrValue() #AttrValue : { Token t; } +{ + t = <STRING_LITERAL> + {jjtThis.setLITERAL(t.image);} +} + +void Encoding() #Encoding : {} +{ + <encoding> "=" AttrValue() +} + +void Version() #Version : {} +{ + <version> "=" AttrValue() +} + +void XsiNoNamespaceSchemaLocation() #XsiNoNamespaceSchemaLocation : {} +{ + <XsiNoNamespaceSchemaLocation> "=" AttrValue() +} + +void XmlnsXsi() #XmlnsXsi : {} +{ + <XmlnsXsi> "=" AttrValue() +} + +void Element() : {} +{ + ( <LT> ( + ActionTags() + | Stmt() + | _Attribute() + | Action() + | QID() + | Transition() + | Output() + | Parameter() + | XDF() + | Args() + | Entry() + | Expr() + | Note() + | Guards() + | Actor() + | Decl() + | ID() + | Type() + | Import() + | Op() + | Port() + | Input() + | Class() + | Schedule() + | Connection() + | Instance() + )) + | SimpleElement() +} + +void SimpleElement() : {} +{ + IntElement() + | FloatElement() + | StringElement() +} + +void IntElement() #IntElement : { Token t; } +{ + t = <INTEGER_LITERAL> + {jjtThis.setLITERAL(t.image);} +} + +void FloatElement() #FloatElement : { Token t; } +{ + t = <FLOAT_LITERAL> + {jjtThis.setLITERAL(t.image);} +} + +void StringElement() #StringElement : { Token t;String s; } +{ + t = <IDENTIFIER> + { + s = t.image; + if (getToken(1).kind != GT ) { + s += getData(); + } + } + {jjtThis.setLITERAL(s);} +} +void Attribute() : {} +{ + Encoding() + | Version() + | XsiNoNamespaceSchemaLocation() + | XmlnsXsi() + | _to() + | literal_kind() + | src() + | kind() + | text_begin_col() + | port() + | dst_port() + | initial_state() + | id() + | value() + | from() + | text_end_line() + | text_end_col() + | src_port() + | assignable() + | text_begin_line() + | dst() + | name() + +} + +void Output() #Output : {} +{ + <Output> AttributeList() + ( <GT> ElementList() "</" <Output> ">" | ElementList() "/>" ) +} +void Class() #Class : {} +{ + <Class> AttributeList() + ( <GT> ElementList() "</" <Class> ">" | ElementList() "/>" ) +} +void Op() #Op : {} +{ + <Op> AttributeList() + ( <GT> ElementList() "</" <Op> ">" | ElementList() "/>" ) +} +void Parameter() #Parameter : {} +{ + <Parameter> AttributeList() + ( <GT> ElementList() "</" <Parameter> ">" | ElementList() "/>" ) +} +void QID() #QID : {} +{ + <QID> AttributeList() + ( <GT> ElementList() "</" <QID> ">" | ElementList() "/>" ) +} +void text_end_line() #text_end_line : {} +{ + <text_end_line> "=" AttrValue() +} +void Connection() #Connection : {} +{ + <Connection> AttributeList() + ( <GT> ElementList() "</" <Connection> ">" | ElementList() "/>" ) +} +void Note() #Note : {} +{ + <Note> AttributeList() + ( <GT> ElementList() "</" <Note> ">" | ElementList() "/>" ) +} +void text_begin_line() #text_begin_line : {} +{ + <text_begin_line> "=" AttrValue() +} +void name() #name : {} +{ + <name> "=" AttrValue() +} +void from() #from : {} +{ + <from> "=" AttrValue() +} +void Instance() #Instance : {} +{ + <Instance> AttributeList() + ( <GT> ElementList() "</" <Instance> ">" | ElementList() "/>" ) +} +void Entry() #Entry : {} +{ + <Entry> AttributeList() + ( <GT> ElementList() "</" <Entry> ">" | ElementList() "/>" ) +} +void dst_port() #dst_port : {} +{ + <dst_port> "=" AttrValue() +} +void Guards() #Guards : {} +{ + <Guards> AttributeList() + ( <GT> ElementList() "</" <Guards> ">" | ElementList() "/>" ) +} +void src() #src : {} +{ + <src> "=" AttrValue() +} +void ID() #ID : {} +{ + <ID> AttributeList() + ( <GT> ElementList() "</" <ID> ">" | ElementList() "/>" ) +} +void Action() #Action : {} +{ + <Action> AttributeList() + ( <GT> ElementList() "</" <Action> ">" | ElementList() "/>" ) +} +void Import() #Import : {} +{ + <Import> AttributeList() + ( <GT> ElementList() "</" <Import> ">" | ElementList() "/>" ) +} +void Port() #Port : {} +{ + <Port> AttributeList() + ( <GT> ElementList() "</" <Port> ">" | ElementList() "/>" ) +} +void literal_kind() #literal_kind : {} +{ + <literal_kind> "=" AttrValue() +} +void Transition() #Transition : {} +{ + <Transition> AttributeList() + ( <GT> ElementList() "</" <Transition> ">" | ElementList() "/>" ) +} +void assignable() #assignable : {} +{ + <assignable> "=" AttrValue() +} +void initial_state() #initial_state : {} +{ + <initial_state> "=" AttrValue() +} +void ActionTags() #ActionTags : {} +{ + <ActionTags> AttributeList() + ( <GT> ElementList() "</" <ActionTags> ">" | ElementList() "/>" ) +} +void Args() #Args : {} +{ + <Args> AttributeList() + ( <GT> ElementList() "</" <Args> ">" | ElementList() "/>" ) +} +void dst() #dst : {} +{ + <dst> "=" AttrValue() +} +void id() #id : {} +{ + <id> "=" AttrValue() +} +void Expr() #Expr : {} +{ + <Expr> AttributeList() + ( <GT> ElementList() "</" <Expr> ">" | ElementList() "/>" ) +} +void port() #port : {} +{ + <port> "=" AttrValue() +} +void text_begin_col() #text_begin_col : {} +{ + <text_begin_col> "=" AttrValue() +} +void src_port() #src_port : {} +{ + <src_port> "=" AttrValue() +} +void text_end_col() #text_end_col : {} +{ + <text_end_col> "=" AttrValue() +} +void value() #value : {} +{ + <value> "=" AttrValue() +} +void Decl() #Decl : {} +{ + <Decl> AttributeList() + ( <GT> ElementList() "</" <Decl> ">" | ElementList() "/>" ) +} +void Input() #Input : {} +{ + <Input> AttributeList() + ( <GT> ElementList() "</" <Input> ">" | ElementList() "/>" ) +} +void kind() #kind : {} +{ + <kind> "=" AttrValue() +} +void Stmt() #Stmt : {} +{ + <Stmt> AttributeList() + ( <GT> ElementList() "</" <Stmt> ">" | ElementList() "/>" ) +} +void Type() #Type : {} +{ + <Type> AttributeList() + ( <GT> ElementList() "</" <Type> ">" | ElementList() "/>" ) +} +void XDF() #XDF : {} +{ + <XDF> AttributeList() + ( <GT> ElementList() "</" <XDF> ">" | ElementList() "/>" ) +} +void _Attribute() #_Attribute : {} +{ + <_Attribute> AttributeList() + ( <GT> ElementList() "</" <_Attribute> ">" | ElementList() "/>" ) +} +void Schedule() #Schedule : {} +{ + <Schedule> AttributeList() + ( <GT> ElementList() "</" <Schedule> ">" | ElementList() "/>" ) +} +void _to() #_to : {} +{ + <_to> "=" AttrValue() +} +void Actor() #Actor : {} +{ + <Actor> AttributeList() + ( <GT> ElementList() "</" <Actor> ">" | ElementList() "/>" ) +} diff --git a/examples/actors/xdfAST/ASTNode$State.java b/examples/actors/xdfAST/ASTNode$State.java new file mode 100644 index 0000000000000000000000000000000000000000..04d990fd0a998785a72d716dcd861e7aaa951b39 --- /dev/null +++ b/examples/actors/xdfAST/ASTNode$State.java @@ -0,0 +1,51 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + +class ASTNode$State extends java.lang.Object { + // Declared in ASTNode.ast at line 46 + + private int[] stack; + + // Declared in ASTNode.ast at line 47 + + private int pos; + + // Declared in ASTNode.ast at line 48 + + public ASTNode$State() { + stack = new int[64]; + pos = 0; + } + + // Declared in ASTNode.ast at line 52 + + private void ensureSize(int size) { + if(size < stack.length) + return; + int[] newStack = new int[stack.length * 2]; + System.arraycopy(stack, 0, newStack, 0, stack.length); + stack = newStack; + } + + // Declared in ASTNode.ast at line 59 + + public void push(int i) { + ensureSize(pos+1); + stack[pos++] = i; + } + + // Declared in ASTNode.ast at line 63 + + public int pop() { + return stack[--pos]; + } + + // Declared in ASTNode.ast at line 66 + + public int peek() { + return stack[pos-1]; + } + + +} diff --git a/examples/actors/xdfAST/ASTNode.java b/examples/actors/xdfAST/ASTNode.java new file mode 100644 index 0000000000000000000000000000000000000000..30dd6dfb86f55dbc69f7f1aba73db17831de4e46 --- /dev/null +++ b/examples/actors/xdfAST/ASTNode.java @@ -0,0 +1,459 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + +// Generated with JastAdd II (http://jastadd.cs.lth.se) version R20090428 + +public class ASTNode<T extends ASTNode> extends SimpleNode implements Cloneable, Iterable<T> { + public void flushCache() { + genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + root_visited = -1; + getInstance_String_visited = new java.util.HashMap(4); + } + @SuppressWarnings({"unchecked", "cast"}) public ASTNode<T> clone() throws CloneNotSupportedException { + ASTNode node = (ASTNode)super.clone(); + node.genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + node.root_visited = -1; + node.getInstance_String_visited = new java.util.HashMap(4); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ASTNode<T> copy() { + try { + ASTNode node = (ASTNode)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ASTNode<T> fullCopy() { + ASTNode res = (ASTNode)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 9 + + public void prettyPrint(String indent, PrintStream pStream) { + for (int i=0; i<getNumChild(); i++) { + getChild(i).prettyPrint(indent,pStream); + } + } + + // Declared in SSR.jrag at line 16 + + + void genSSR(java.io.PrintStream out) { + + } + + // Declared in SSR.jrag at line 205 + + + static String fix(String s) { + if (s.indexOf('"') == 0) { + return s.substring(1,s.length()-1); + } + return s; + } + + // Declared in SSR.jrag at line 211 + + static String unfix(String s) { + if (s.indexOf('"') != 0) { + return "\""+s+"\""; + } + return s; + } + + // Declared in SSR.jrag at line 221 + + int numChildren; + + // Declared in SSR.jrag at line 222 + + int numChildren() {return jjtGetNumChildren();} + + // Declared in ASTNode.ast at line 3 + // Declared in ASTNode.ast line 0 + + public ASTNode(int i) { + super(i); + } + + // Declared in ASTNode.ast at line 6 + + public ASTNode(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in ASTNode.ast at line 10 + + public ASTNode() { + this(0); + + + } + + // Declared in ASTNode.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ASTNode"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in ASTNode.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in ASTNode.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in ASTNode.ast at line 32 + + +public void checkChild(Node n, int i) { +} + + // Declared in ASTNode.ast at line 35 + + + static public boolean generatedWithCircularEnabled = true; + + // Declared in ASTNode.ast at line 36 + + static public boolean generatedWithCacheCycle = true; + + // Declared in ASTNode.ast at line 37 + + static public boolean generatedWithComponentCheck = false; + + // Declared in ASTNode.ast at line 38 + + static public boolean IN_CIRCLE = false; + + // Declared in ASTNode.ast at line 39 + + static public int CIRCLE_INDEX; + + // Declared in ASTNode.ast at line 40 + + static public boolean CHANGE = false; + + // Declared in ASTNode.ast at line 41 + + static public boolean LAST_CYCLE = false; + + // Declared in ASTNode.ast at line 42 + + static public boolean RESET_CYCLE = false; + + // Declared in ASTNode.ast at line 43 + + public static int boundariesCrossed = 0; + + // Declared in ASTNode.ast at line 70 + + protected static ASTNode$State state = new ASTNode$State(); + + // Declared in ASTNode.ast at line 71 + + public boolean in$Circle = false; + + // Declared in ASTNode.ast at line 72 + + public boolean in$Circle() { return in$Circle; } + + // Declared in ASTNode.ast at line 73 + + public void in$Circle(boolean b) { in$Circle = b; } + + // Declared in ASTNode.ast at line 74 + + public boolean is$Final = false; + + // Declared in ASTNode.ast at line 75 + + public boolean is$Final() { return is$Final; } + + // Declared in ASTNode.ast at line 76 + + public void is$Final(boolean b) { is$Final = b; } + + // Declared in ASTNode.ast at line 77 + + protected static final int REWRITE_CHANGE = 1; + + // Declared in ASTNode.ast at line 78 + + protected static final int REWRITE_NOCHANGE = 2; + + // Declared in ASTNode.ast at line 79 + + protected static final int REWRITE_INTERRUPT = 3; + + // Declared in ASTNode.ast at line 80 + + @SuppressWarnings("cast") public T getChild(int i) { + return (T)ASTNode.getChild(this, i); + } + + // Declared in ASTNode.ast at line 83 + + public static ASTNode getChild(ASTNode that, int i) { + ASTNode node = that.getChildNoTransform(i); + if(node.is$Final()) return node; + if(!node.mayHaveRewrite()) { + node.is$Final(that.is$Final()); + return node; + } + if(!node.in$Circle()) { + int rewriteState; + int num = ASTNode.boundariesCrossed; + do { + ASTNode.state.push(ASTNode.REWRITE_CHANGE); + ASTNode oldNode = node; + oldNode.in$Circle(true); + node = node.rewriteTo(); + if(node != oldNode) + that.setChild(node, i); + oldNode.in$Circle(false); + rewriteState = state.pop(); + } while(rewriteState == ASTNode.REWRITE_CHANGE); + if(rewriteState == ASTNode.REWRITE_NOCHANGE && that.is$Final()) { + node.is$Final(true); + ASTNode.boundariesCrossed = num; + } + } + else if(that.is$Final() != node.is$Final()) boundariesCrossed++; + return node; + } + + // Declared in ASTNode.ast at line 111 + + private int childIndex; + + // Declared in ASTNode.ast at line 112 + + public int getIndexOfChild(ASTNode node) { + if(node != null && node.childIndex < getNumChildNoTransform() && node == getChildNoTransform(node.childIndex)) + return node.childIndex; + for(int i = 0; i < getNumChildNoTransform(); i++) + if(getChildNoTransform(i) == node) { + node.childIndex = i; + return i; + } + return -1; + } + + // Declared in ASTNode.ast at line 123 + + + public void addChild(T node) { + setChild(node, getNumChildNoTransform()); + } + + // Declared in ASTNode.ast at line 126 + + @SuppressWarnings("cast") public final T getChildNoTransform(int i) { + return (T)children[i]; + } + + // Declared in ASTNode.ast at line 129 + + public final int getNumChildNoTransform() { + return numChildren(); + } + + // Declared in ASTNode.ast at line 132 + + public int getNumChild() { + return (children == null) ? 0 : children.length; + } + + // Declared in ASTNode.ast at line 135 + + public void setChild(T node, int i) { + if(children == null) { + children = new ASTNode[i + 1]; + } else if (i >= children.length) { + ASTNode c[] = new ASTNode[i + 1]; + System.arraycopy(children, 0, c, 0, children.length); + children = c; + } + children[i] = node; + if(node != null) { node.setParent(this); node.childIndex = i; } + } + + // Declared in ASTNode.ast at line 146 + + public void insertChild(T node, int i) { + if(children == null) { + children = new ASTNode[i + 1]; + children[i] = node; + } else { + ASTNode c[] = new ASTNode[children.length + 1]; + System.arraycopy(children, 0, c, 0, i); + c[i] = node; + if(i < children.length) + System.arraycopy(children, i, c, i+1, children.length-i); + children = c; + } + if(node != null) { node.setParent(this); node.childIndex = i; } + } + + // Declared in ASTNode.ast at line 160 + + public void removeChild(int i) { + if(children != null) { + ASTNode child = (ASTNode) children[i]; + if(child != null) { + child.setParent(null); + child.childIndex = -1; + } + System.arraycopy(children, i+1, children, i, children.length-i-1); + numChildren--; + } + } + + // Declared in ASTNode.ast at line 171 + + public ASTNode getParent() { + if(parent != null && ((ASTNode)parent).is$Final() != is$Final()) { + boundariesCrossed++; + } + return (ASTNode)parent; + } + + // Declared in ASTNode.ast at line 177 + + public void setParent(ASTNode node) { + parent = node; + } + + // Declared in ASTNode.ast at line 180 + + protected static int duringMergeActors = 0; + + // Declared in ASTNode.ast at line 181 + + protected static boolean duringMergeActors() { + if(duringMergeActors == 0) { + return false; + } + else { + state.pop(); + state.push(ASTNode.REWRITE_INTERRUPT); + return true; + } + } + + // Declared in ASTNode.ast at line 191 + + public static void reset() { + IN_CIRCLE = false; + CIRCLE_INDEX = 0; + CHANGE = false; + LAST_CYCLE = false; + boundariesCrossed = 0; + state = new ASTNode$State(); + if(duringMergeActors != 0) { + System.out.println("Warning: resetting duringMergeActors"); + duringMergeActors = 0; + } + } + + // Declared in ASTNode.ast at line 203 + + public java.util.Iterator<T> iterator() { + return new java.util.Iterator<T>() { + private int counter = 0; + public boolean hasNext() { + return counter < getNumChild(); + } + @SuppressWarnings("unchecked") public T next() { + if(hasNext()) + return (T)getChild(counter++); + else + return null; + } + public void remove() { + throw new UnsupportedOperationException(); + } + }; + } + + // Declared in ASTNode.ast at line 220 + + public boolean mayHaveRewrite() { return false; } + + protected java.util.Map genStaticSchedule_HashSet_Instance__visited; + // Declared in SSR.jrag at line 51 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Instance> genStaticSchedule(HashSet<Instance> l) { + Object _parameters = l; +if(genStaticSchedule_HashSet_Instance__visited == null) genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(genStaticSchedule_HashSet_Instance__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: genStaticSchedule in class: "); + genStaticSchedule_HashSet_Instance__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Instance> genStaticSchedule_HashSet_Instance__value = genStaticSchedule_compute(l); + genStaticSchedule_HashSet_Instance__visited.remove(_parameters); + return genStaticSchedule_HashSet_Instance__value; + } + + private HashSet<Instance> genStaticSchedule_compute(HashSet<Instance> l) { return l; } + + protected int root_visited = -1; + // Declared in SSR.jrag at line 118 + @SuppressWarnings({"unchecked", "cast"}) public XDF root() { + if(root_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: root in class: "); + root_visited = boundariesCrossed; + XDF root_value = root_compute(); + root_visited = -1; + return root_value; + } + + private XDF root_compute() { return getParent().root(); } + + protected java.util.Map getInstance_String_visited; + // Declared in SSR.jrag at line 121 + @SuppressWarnings({"unchecked", "cast"}) public Instance getInstance(String s) { + Object _parameters = s; +if(getInstance_String_visited == null) getInstance_String_visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getInstance_String_visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getInstance in class: "); + getInstance_String_visited.put(_parameters, new Integer(boundariesCrossed)); + Instance getInstance_String_value = getInstance_compute(s); + getInstance_String_visited.remove(_parameters); + return getInstance_String_value; + } + + private Instance getInstance_compute(String s) { return null; } + +public ASTNode rewriteTo() { + if(state.peek() == ASTNode.REWRITE_CHANGE) { + state.pop(); + state.push(ASTNode.REWRITE_NOCHANGE); + } + return this; +} + +} diff --git a/examples/actors/xdfAST/Action.java b/examples/actors/xdfAST/Action.java new file mode 100644 index 0000000000000000000000000000000000000000..25895643e5686878ef023bcab214032b75301ecd --- /dev/null +++ b/examples/actors/xdfAST/Action.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Action extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Action clone() throws CloneNotSupportedException { + Action node = (Action)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Action copy() { + try { + Action node = (Action)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Action fullCopy() { + Action res = (Action)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 270 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Action "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Action> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 42 + + public Action(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Action(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Action() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 42 + public Action(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Action"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/ActionTags.java b/examples/actors/xdfAST/ActionTags.java new file mode 100644 index 0000000000000000000000000000000000000000..cb16043e3910e0164ae08f6bd01c5ba7671bef90 --- /dev/null +++ b/examples/actors/xdfAST/ActionTags.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class ActionTags extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public ActionTags clone() throws CloneNotSupportedException { + ActionTags node = (ActionTags)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ActionTags copy() { + try { + ActionTags node = (ActionTags)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ActionTags fullCopy() { + ActionTags res = (ActionTags)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 353 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<ActionTags "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</ActionTags> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 49 + + public ActionTags(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public ActionTags(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public ActionTags() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 49 + public ActionTags(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ActionTags"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Actor.java b/examples/actors/xdfAST/Actor.java new file mode 100644 index 0000000000000000000000000000000000000000..9e9b6783a6266ec285f7d02236896f1cea970593 --- /dev/null +++ b/examples/actors/xdfAST/Actor.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Actor extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Actor clone() throws CloneNotSupportedException { + Actor node = (Actor)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Actor copy() { + try { + Actor node = (Actor)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Actor fullCopy() { + Actor res = (Actor)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 568 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Actor "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Actor> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 68 + + public Actor(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Actor(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Actor() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 68 + public Actor(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Actor"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Args.java b/examples/actors/xdfAST/Args.java new file mode 100644 index 0000000000000000000000000000000000000000..b3ddaa626f4b221a63d2d2d9092ac200a2588222 --- /dev/null +++ b/examples/actors/xdfAST/Args.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Args extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Args clone() throws CloneNotSupportedException { + Args node = (Args)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Args copy() { + try { + Args node = (Args)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Args fullCopy() { + Args res = (Args)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 370 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Args "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Args> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 50 + + public Args(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Args(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Args() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 50 + public Args(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Args"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/AttrValue.java b/examples/actors/xdfAST/AttrValue.java new file mode 100644 index 0000000000000000000000000000000000000000..7e4cdc71d76fe90a1d3fa1e1d0c3bbeb82496bc0 --- /dev/null +++ b/examples/actors/xdfAST/AttrValue.java @@ -0,0 +1,134 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class AttrValue extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public AttrValue clone() throws CloneNotSupportedException { + AttrValue node = (AttrValue)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public AttrValue copy() { + try { + AttrValue node = (AttrValue)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public AttrValue fullCopy() { + AttrValue res = (AttrValue)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 29 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(getLITERAL()); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 18 + + public AttrValue(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public AttrValue(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public AttrValue() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 18 + public AttrValue(String p0) { + setLITERAL(p0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "AttrValue"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 18 + protected String tokenString_LITERAL; + + // Declared in xdf.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xdf.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Attribute.java b/examples/actors/xdfAST/Attribute.java new file mode 100644 index 0000000000000000000000000000000000000000..060fd6d676cabf38ea24fd73a72c7a6e739eae31 --- /dev/null +++ b/examples/actors/xdfAST/Attribute.java @@ -0,0 +1,146 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Attribute extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + isKind_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Attribute clone() throws CloneNotSupportedException { + Attribute node = (Attribute)super.clone(); + node.isKind_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Attribute copy() { + try { + Attribute node = (Attribute)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Attribute fullCopy() { + Attribute res = (Attribute)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 17 + + public Attribute(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Attribute(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Attribute() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 17 + public Attribute(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Attribute"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + + protected int isKind_visited = -1; + // Declared in SSR.jrag at line 173 + @SuppressWarnings({"unchecked", "cast"}) public boolean isKind() { + if(isKind_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isKind in class: "); + isKind_visited = boundariesCrossed; + boolean isKind_value = isKind_compute(); + isKind_visited = -1; + return isKind_value; + } + + private boolean isKind_compute() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Class.java b/examples/actors/xdfAST/Class.java new file mode 100644 index 0000000000000000000000000000000000000000..a2c018fc5e7c4f6f9851aa36c63871bb3972e8f8 --- /dev/null +++ b/examples/actors/xdfAST/Class.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Class extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Class clone() throws CloneNotSupportedException { + Class node = (Class)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Class copy() { + try { + Class node = (Class)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Class fullCopy() { + Class res = (Class)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 70 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Class "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Class> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 26 + + public Class(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Class(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Class() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 26 + public Class(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Class"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/ComplexElement.java b/examples/actors/xdfAST/ComplexElement.java new file mode 100644 index 0000000000000000000000000000000000000000..48883d99a3df4a899d6d5615349afd215b00330f --- /dev/null +++ b/examples/actors/xdfAST/ComplexElement.java @@ -0,0 +1,316 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class ComplexElement extends Element implements Cloneable { + public void flushCache() { + super.flushCache(); + getInstance_String_visited = new java.util.HashMap(4); + name_visited = -1; + id_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public ComplexElement clone() throws CloneNotSupportedException { + ComplexElement node = (ComplexElement)super.clone(); + node.getInstance_String_visited = new java.util.HashMap(4); + node.name_visited = -1; + node.id_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ComplexElement copy() { + try { + ComplexElement node = (ComplexElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ComplexElement fullCopy() { + ComplexElement res = (ComplexElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in MergeActors.jrag at line 85 + + boolean remove_me = false; + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 11 + + public ComplexElement(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public ComplexElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public ComplexElement() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 11 + public ComplexElement(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ComplexElement"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected java.util.Map getInstance_String_visited; + // Declared in SSR.jrag at line 122 + @SuppressWarnings({"unchecked", "cast"}) public Instance getInstance(String s) { + Object _parameters = s; +if(getInstance_String_visited == null) getInstance_String_visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getInstance_String_visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getInstance in class: "); + getInstance_String_visited.put(_parameters, new Integer(boundariesCrossed)); + Instance getInstance_String_value = getInstance_compute(s); + getInstance_String_visited.remove(_parameters); + return getInstance_String_value; + } + + private Instance getInstance_compute(String s) { + Instance inst = null; + for (Element e : getElements()){ + inst = e.getInstance(s); + if (inst!=null) { + return inst; + } + } + return null; + } + + protected int name_visited = -1; + // Declared in SSR.jrag at line 141 + @SuppressWarnings({"unchecked", "cast"}) public String name() { + if(name_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: name in class: "); + name_visited = boundariesCrossed; + String name_value = name_compute(); + name_visited = -1; + return name_value; + } + + private String name_compute() { return ""; } + + protected int id_visited = -1; + // Declared in SSR.jrag at line 194 + @SuppressWarnings({"unchecked", "cast"}) public String id() { + if(id_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: id in class: "); + id_visited = boundariesCrossed; + String id_value = id_compute(); + id_visited = -1; + return id_value; + } + + private String id_compute() { return ""; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Connection.java b/examples/actors/xdfAST/Connection.java new file mode 100644 index 0000000000000000000000000000000000000000..9be7b3ad95af3a2c9e39ac397096f4423eee0245 --- /dev/null +++ b/examples/actors/xdfAST/Connection.java @@ -0,0 +1,408 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Connection extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + getSource_visited = -1; + getDest_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Connection clone() throws CloneNotSupportedException { + Connection node = (Connection)super.clone(); + node.getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + node.genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + node.getSource_visited = -1; + node.getDest_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Connection copy() { + try { + Connection node = (Connection)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Connection fullCopy() { + Connection res = (Connection)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 143 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Connection "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Connection> "); + } + } + + // Declared in SSR.jrag at line 88 + + + String source() { + for (Attribute a : getAttributes()) { + if (a instanceof src) { + return fix(a.getAttrValue().getLITERAL()); + } + } + return ""; + } + + // Declared in SSR.jrag at line 97 + + + void setSource(String src) { + for (Attribute a : getAttributes()) { + if (a instanceof src) { + a.getAttrValue().setLITERAL(src); + } + } + } + + // Declared in SSR.jrag at line 107 + + + String dest() { + for (Attribute a : getAttributes()) { + if (a instanceof dst) { + return fix(a.getAttrValue().getLITERAL()); + } + } + return ""; + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 31 + + public Connection(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Connection(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Connection() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 31 + public Connection(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Connection"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return true; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected java.util.Map getConnections_HashSet_Connection__visited; + // Declared in MergeActors.jrag at line 73 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Connection> getConnections(HashSet<Connection> set) { + Object _parameters = set; +if(getConnections_HashSet_Connection__visited == null) getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getConnections_HashSet_Connection__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getConnections in class: "); + getConnections_HashSet_Connection__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Connection> getConnections_HashSet_Connection__value = getConnections_compute(set); + getConnections_HashSet_Connection__visited.remove(_parameters); + return getConnections_HashSet_Connection__value; + } + + private HashSet<Connection> getConnections_compute(HashSet<Connection> set) { + set.add(this); + return set; + } + + protected java.util.Map genStaticSchedule_HashSet_Instance__visited; + // Declared in SSR.jrag at line 65 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Instance> genStaticSchedule(HashSet<Instance> l) { + Object _parameters = l; +if(genStaticSchedule_HashSet_Instance__visited == null) genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(genStaticSchedule_HashSet_Instance__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: genStaticSchedule in class: "); + genStaticSchedule_HashSet_Instance__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Instance> genStaticSchedule_HashSet_Instance__value = genStaticSchedule_compute(l); + genStaticSchedule_HashSet_Instance__visited.remove(_parameters); + return genStaticSchedule_HashSet_Instance__value; + } + + private HashSet<Instance> genStaticSchedule_compute(HashSet<Instance> l) { + Instance src = getSource(); + Instance dest = getDest(); + if (dest.isSDF() && src.isSDF()) { + src.next = dest; + dest.prev = src; + l.remove(dest); + } + if (src.prev == null) { + l.add(src); + } + if (dest.prev == null) { + l.add(dest); + } + System.out.println(src.name()); + return l; +// Instance dest = getDest(); + } + + protected int getSource_visited = -1; + // Declared in SSR.jrag at line 86 + @SuppressWarnings({"unchecked", "cast"}) public Instance getSource() { + if(getSource_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: getSource in class: "); + getSource_visited = boundariesCrossed; + Instance getSource_value = getSource_compute(); + getSource_visited = -1; + return getSource_value; + } + + private Instance getSource_compute() { return root().getInstance(source()); } + + protected int getDest_visited = -1; + // Declared in SSR.jrag at line 105 + @SuppressWarnings({"unchecked", "cast"}) public Instance getDest() { + if(getDest_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: getDest in class: "); + getDest_visited = boundariesCrossed; + Instance getDest_value = getDest_compute(); + getDest_visited = -1; + return getDest_value; + } + + private Instance getDest_compute() { return root().getInstance(dest()); } + +public ASTNode rewriteTo() { + // Declared in MergeActors.jrag at line 88 + if(remove_me) { + duringMergeActors++; + ASTNode result = rewriteRule0(); + duringMergeActors--; + return result; + } + + return super.rewriteTo(); +} + + // Declared in MergeActors.jrag at line 88 + private ComplexElement rewriteRule0() { +{ + return new ComplexElement(); + } } +} diff --git a/examples/actors/xdfAST/Decl.java b/examples/actors/xdfAST/Decl.java new file mode 100644 index 0000000000000000000000000000000000000000..f511c127df1d742f46e5215698879a349c4d77a5 --- /dev/null +++ b/examples/actors/xdfAST/Decl.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Decl extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Decl clone() throws CloneNotSupportedException { + Decl node = (Decl)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Decl copy() { + try { + Decl node = (Decl)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Decl fullCopy() { + Decl res = (Decl)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 439 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Decl "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Decl> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 59 + + public Decl(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Decl(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Decl() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 59 + public Decl(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Decl"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/DocType.java b/examples/actors/xdfAST/DocType.java new file mode 100644 index 0000000000000000000000000000000000000000..6bae364e57640140e0541b69974994c1743e098a --- /dev/null +++ b/examples/actors/xdfAST/DocType.java @@ -0,0 +1,136 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class DocType extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public DocType clone() throws CloneNotSupportedException { + DocType node = (DocType)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public DocType copy() { + try { + DocType node = (DocType)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public DocType fullCopy() { + DocType res = (DocType)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 23 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print("<!"); + pStream.print(getSTRING()); + pStream.println(); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 8 + + public DocType(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public DocType(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public DocType() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 8 + public DocType(String p0) { + setSTRING(p0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "DocType"+ "\"" + getSTRING() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 8 + protected String tokenString_STRING; + + // Declared in xdf.ast at line 3 + + public void setSTRING(String value) { + tokenString_STRING = value; + } + + // Declared in xdf.ast at line 6 + + public String getSTRING() { + return tokenString_STRING != null ? tokenString_STRING : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Element.java b/examples/actors/xdfAST/Element.java new file mode 100644 index 0000000000000000000000000000000000000000..f9fe4196eb08aab34fe2d2001ae9d2d078272405 --- /dev/null +++ b/examples/actors/xdfAST/Element.java @@ -0,0 +1,152 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public abstract class Element extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + getInstances_HashSet_Instance__visited = new java.util.HashMap(4); + kind_visited = -1; + value_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Element clone() throws CloneNotSupportedException { + Element node = (Element)super.clone(); + node.getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + node.getInstances_HashSet_Instance__visited = new java.util.HashMap(4); + node.kind_visited = -1; + node.value_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + // Declared in MergeActors.jrag at line 12 + + void mergeActors() {} + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 10 + + public Element(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Element(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Element() { + this(0); + + + } + + // Declared in xdf.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Element"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 32 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 35 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 38 + + public boolean mayHaveRewrite() { return false; } + + protected java.util.Map getConnections_HashSet_Connection__visited; + // Declared in MergeActors.jrag at line 66 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Connection> getConnections(HashSet<Connection> set) { + Object _parameters = set; +if(getConnections_HashSet_Connection__visited == null) getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getConnections_HashSet_Connection__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getConnections in class: "); + getConnections_HashSet_Connection__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Connection> getConnections_HashSet_Connection__value = getConnections_compute(set); + getConnections_HashSet_Connection__visited.remove(_parameters); + return getConnections_HashSet_Connection__value; + } + + private HashSet<Connection> getConnections_compute(HashSet<Connection> set) { return set; } + + protected java.util.Map getInstances_HashSet_Instance__visited; + // Declared in MergeActors.jrag at line 81 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Instance> getInstances(HashSet<Instance> inst) { + Object _parameters = inst; +if(getInstances_HashSet_Instance__visited == null) getInstances_HashSet_Instance__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getInstances_HashSet_Instance__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getInstances in class: "); + getInstances_HashSet_Instance__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Instance> getInstances_HashSet_Instance__value = getInstances_compute(inst); + getInstances_HashSet_Instance__visited.remove(_parameters); + return getInstances_HashSet_Instance__value; + } + + private HashSet<Instance> getInstances_compute(HashSet<Instance> inst) { return inst; } + + protected int kind_visited = -1; + // Declared in SSR.jrag at line 161 + @SuppressWarnings({"unchecked", "cast"}) public String kind() { + if(kind_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: kind in class: "); + kind_visited = boundariesCrossed; + String kind_value = kind_compute(); + kind_visited = -1; + return kind_value; + } + + private String kind_compute() { return ""; } + + protected int value_visited = -1; + // Declared in SSR.jrag at line 176 + @SuppressWarnings({"unchecked", "cast"}) public String value() { + if(value_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: value in class: "); + value_visited = boundariesCrossed; + String value_value = value_compute(); + value_visited = -1; + return value_value; + } + + private String value_compute() { return ""; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Encoding.java b/examples/actors/xdfAST/Encoding.java new file mode 100644 index 0000000000000000000000000000000000000000..07c593101f3aa00820dcc65fee6734dd0e861f9b --- /dev/null +++ b/examples/actors/xdfAST/Encoding.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Encoding extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Encoding clone() throws CloneNotSupportedException { + Encoding node = (Encoding)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Encoding copy() { + try { + Encoding node = (Encoding)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Encoding fullCopy() { + Encoding res = (Encoding)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 33 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" encoding="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 19 + + public Encoding(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Encoding(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Encoding() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 19 + public Encoding(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Encoding"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Entry.java b/examples/actors/xdfAST/Entry.java new file mode 100644 index 0000000000000000000000000000000000000000..10c5e288971e7d626db4a43033d492478da78e70 --- /dev/null +++ b/examples/actors/xdfAST/Entry.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Entry extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Entry clone() throws CloneNotSupportedException { + Entry node = (Entry)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Entry copy() { + try { + Entry node = (Entry)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Entry fullCopy() { + Entry res = (Entry)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 209 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Entry "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Entry> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 37 + + public Entry(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Entry(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Entry() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 37 + public Entry(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Entry"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Expr.java b/examples/actors/xdfAST/Expr.java new file mode 100644 index 0000000000000000000000000000000000000000..0a4f06d05188d2758da6b92fe0928ed636d00bbd --- /dev/null +++ b/examples/actors/xdfAST/Expr.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Expr extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Expr clone() throws CloneNotSupportedException { + Expr node = (Expr)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Expr copy() { + try { + Expr node = (Expr)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Expr fullCopy() { + Expr res = (Expr)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 397 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Expr "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Expr> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 53 + + public Expr(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Expr(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Expr() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 53 + public Expr(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Expr"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/FloatElement.java b/examples/actors/xdfAST/FloatElement.java new file mode 100644 index 0000000000000000000000000000000000000000..910e464588c04d401126dac0b86b3c9e60b3e7e8 --- /dev/null +++ b/examples/actors/xdfAST/FloatElement.java @@ -0,0 +1,127 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class FloatElement extends SimpleElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public FloatElement clone() throws CloneNotSupportedException { + FloatElement node = (FloatElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public FloatElement copy() { + try { + FloatElement node = (FloatElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public FloatElement fullCopy() { + FloatElement res = (FloatElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 16 + + public FloatElement(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public FloatElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public FloatElement() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 16 + public FloatElement(String p0) { + setLITERAL(p0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "FloatElement"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 16 + protected String tokenString_LITERAL; + + // Declared in xdf.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xdf.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Guards.java b/examples/actors/xdfAST/Guards.java new file mode 100644 index 0000000000000000000000000000000000000000..7588857814b4f3871f5c61679ea4b99928b6ec93 --- /dev/null +++ b/examples/actors/xdfAST/Guards.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Guards extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Guards clone() throws CloneNotSupportedException { + Guards node = (Guards)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Guards copy() { + try { + Guards node = (Guards)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Guards fullCopy() { + Guards res = (Guards)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 231 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Guards "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Guards> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 39 + + public Guards(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Guards(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Guards() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 39 + public Guards(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Guards"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/ID.java b/examples/actors/xdfAST/ID.java new file mode 100644 index 0000000000000000000000000000000000000000..7663875d068a5ec7c14338d8ce6bac8ed6d7aeb6 --- /dev/null +++ b/examples/actors/xdfAST/ID.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class ID extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public ID clone() throws CloneNotSupportedException { + ID node = (ID)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ID copy() { + try { + ID node = (ID)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ID fullCopy() { + ID res = (ID)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 253 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<ID "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</ID> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 41 + + public ID(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public ID(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public ID() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 41 + public ID(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ID"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Import.java b/examples/actors/xdfAST/Import.java new file mode 100644 index 0000000000000000000000000000000000000000..d8655dc7fb0fc9b37515a6c52a78d118673d6037 --- /dev/null +++ b/examples/actors/xdfAST/Import.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Import extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Import clone() throws CloneNotSupportedException { + Import node = (Import)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Import copy() { + try { + Import node = (Import)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Import fullCopy() { + Import res = (Import)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 287 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Import "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Import> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 43 + + public Import(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Import(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Import() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 43 + public Import(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Import"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Input.java b/examples/actors/xdfAST/Input.java new file mode 100644 index 0000000000000000000000000000000000000000..384d3f8a8a05a972e5393ab80e137f5afbee5e41 --- /dev/null +++ b/examples/actors/xdfAST/Input.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Input extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Input clone() throws CloneNotSupportedException { + Input node = (Input)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Input copy() { + try { + Input node = (Input)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Input fullCopy() { + Input res = (Input)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 456 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Input "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Input> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 60 + + public Input(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Input(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Input() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 60 + public Input(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Input"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Instance.java b/examples/actors/xdfAST/Instance.java new file mode 100644 index 0000000000000000000000000000000000000000..4bc480862bfc4b9976bf23a0e9e78c26d73cbef1 --- /dev/null +++ b/examples/actors/xdfAST/Instance.java @@ -0,0 +1,437 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Instance extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + isSDF_visited = -1; + xlimInstance_visited = -1; + getInstance_String_visited = new java.util.HashMap(4); + name_visited = -1; + id_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Instance clone() throws CloneNotSupportedException { + Instance node = (Instance)super.clone(); + node.isSDF_visited = -1; + node.xlimInstance_visited = -1; + node.getInstance_String_visited = new java.util.HashMap(4); + node.name_visited = -1; + node.id_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Instance copy() { + try { + Instance node = (Instance)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Instance fullCopy() { + Instance res = (Instance)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 192 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Instance "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Instance> "); + } + } + + // Declared in MergeActors.jrag at line 60 + +// void Connection.mergeActors() { +// Instance src = getSource(); +// Instance dest = getDest(); +// if (dest.isSDF() && src.isSDF()) { +// src.merge(dest); +// src.setName(src.name()+"_"+dest.name()); +// } +// } + + void merge(Instance inst) { + xlimInstance().merge(inst.xlimInstance()); + } + + // Declared in SSR.jrag at line 47 + + public Instance next; + + // Declared in SSR.jrag at line 48 + + public Instance prev; + + // Declared in SSR.jrag at line 144 + + + Note getUIDNote() { + for (Element e : getElements()) { + if (e instanceof Note) { +// System.out.println("Checking "+e.kind()); + if (e.kind().equals("UID")) { +// System.out.println(" Yes"); + return (Note) e; + } + } + } + return new Note(); // Probably better than returning null + } + + // Declared in SSR.jrag at line 157 + + + void setName(String s) { + getUIDNote().setValue(s); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 36 + + public Instance(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Instance(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Instance() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 36 + public Instance(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Instance"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return true; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected int isSDF_visited = -1; + // Declared in SSR.jrag at line 31 + @SuppressWarnings({"unchecked", "cast"}) public boolean isSDF() { + if(isSDF_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isSDF in class: "); + isSDF_visited = boundariesCrossed; + boolean isSDF_value = isSDF_compute(); + isSDF_visited = -1; + return isSDF_value; + } + + private boolean isSDF_compute() { return xlimInstance().isSDF(); } + + protected int xlimInstance_visited = -1; + // Declared in SSR.jrag at line 33 + @SuppressWarnings({"unchecked", "cast"}) public xlimAST.Start xlimInstance() { + if(xlimInstance_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: xlimInstance in class: "); + xlimInstance_visited = boundariesCrossed; + xlimAST.Start xlimInstance_value = xlimInstance_compute(); + xlimInstance_visited = -1; + return xlimInstance_value; + } + + private xlimAST.Start xlimInstance_compute() { + try { + System.out.println("Trying to open: "+name()); + xlimAST.XmlParser parser = new xlimAST.XmlParser(new FileReader(name()+".xlim")); + return parser.Start(); + } catch (Exception e) { + System.out.println( name()+".xlim not found"); +// e.printStackTrace(); + return new xlimAST.Start(); + } + } + + protected java.util.Map getInstance_String_visited; + // Declared in SSR.jrag at line 132 + @SuppressWarnings({"unchecked", "cast"}) public Instance getInstance(String s) { + Object _parameters = s; +if(getInstance_String_visited == null) getInstance_String_visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getInstance_String_visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getInstance in class: "); + getInstance_String_visited.put(_parameters, new Integer(boundariesCrossed)); + Instance getInstance_String_value = getInstance_compute(s); + getInstance_String_visited.remove(_parameters); + return getInstance_String_value; + } + + private Instance getInstance_compute(String s) { +// System.out.println(name()+" == "+s); + if (id().equals(s)) { + return this; + } else { + return super.getInstance(s); + } + } + + protected int name_visited = -1; + // Declared in SSR.jrag at line 142 + @SuppressWarnings({"unchecked", "cast"}) public String name() { + if(name_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: name in class: "); + name_visited = boundariesCrossed; + String name_value = name_compute(); + name_visited = -1; + return name_value; + } + + private String name_compute() { return getUIDNote().value(); } + + protected int id_visited = -1; + // Declared in SSR.jrag at line 195 + @SuppressWarnings({"unchecked", "cast"}) public String id() { + if(id_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: id in class: "); + id_visited = boundariesCrossed; + String id_value = id_compute(); + id_visited = -1; + return id_value; + } + + private String id_compute() { + for (int i=0; i<getNumAttribute(); i++) { + Attribute a = getAttribute(i); + if (a instanceof id) { + return fix(a.getAttrValue().getLITERAL()); + } + } + return ""; + } + +public ASTNode rewriteTo() { + // Declared in MergeActors.jrag at line 93 + if(remove_me) { + duringMergeActors++; + ASTNode result = rewriteRule0(); + duringMergeActors--; + return result; + } + + return super.rewriteTo(); +} + + // Declared in MergeActors.jrag at line 93 + private ComplexElement rewriteRule0() { +{ + return new ComplexElement(); + } } +} diff --git a/examples/actors/xdfAST/IntElement.java b/examples/actors/xdfAST/IntElement.java new file mode 100644 index 0000000000000000000000000000000000000000..e1cbafb2f2c4d5562a00c7a537163aea134a32c8 --- /dev/null +++ b/examples/actors/xdfAST/IntElement.java @@ -0,0 +1,127 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class IntElement extends SimpleElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public IntElement clone() throws CloneNotSupportedException { + IntElement node = (IntElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public IntElement copy() { + try { + IntElement node = (IntElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public IntElement fullCopy() { + IntElement res = (IntElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 15 + + public IntElement(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public IntElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public IntElement() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 15 + public IntElement(String p0) { + setLITERAL(p0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "IntElement"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 15 + protected String tokenString_LITERAL; + + // Declared in xdf.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xdf.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/JJTXmlParserState.java b/examples/actors/xdfAST/JJTXmlParserState.java new file mode 100644 index 0000000000000000000000000000000000000000..14456d52ced8bf2226eaf195014a8a0b3bec1394 --- /dev/null +++ b/examples/actors/xdfAST/JJTXmlParserState.java @@ -0,0 +1,123 @@ +/* Generated By:JJTree: Do not edit this line. /home/csandersn/work/actors/xmlSchemCompiler/examples/actors/xdfAST/JJTXmlParserState.java */ + +package xdfAST; + +class JJTXmlParserState { + private java.util.Stack nodes; + private java.util.Stack marks; + + private int sp; // number of nodes on stack + private int mk; // current mark + private boolean node_created; + + JJTXmlParserState() { + nodes = new java.util.Stack(); + marks = new java.util.Stack(); + sp = 0; + mk = 0; + } + + /* Determines whether the current node was actually closed and + pushed. This should only be called in the final user action of a + node scope. */ + boolean nodeCreated() { + return node_created; + } + + /* Call this to reinitialize the node stack. It is called + automatically by the parser's ReInit() method. */ + void reset() { + nodes.removeAllElements(); + marks.removeAllElements(); + sp = 0; + mk = 0; + } + + /* Returns the root node of the AST. It only makes sense to call + this after a successful parse. */ + Node rootNode() { + return (Node)nodes.elementAt(0); + } + + /* Pushes a node on to the stack. */ + void pushNode(Node n) { + nodes.push(n); + ++sp; + } + + /* Returns the node on the top of the stack, and remove it from the + stack. */ + Node popNode() { + if (--sp < mk) { + mk = ((Integer)marks.pop()).intValue(); + } + return (Node)nodes.pop(); + } + + /* Returns the node currently on the top of the stack. */ + Node peekNode() { + return (Node)nodes.peek(); + } + + /* Returns the number of children on the stack in the current node + scope. */ + int nodeArity() { + return sp - mk; + } + + + void clearNodeScope(Node n) { + while (sp > mk) { + popNode(); + } + mk = ((Integer)marks.pop()).intValue(); + } + + + void openNodeScope(Node n) { + marks.push(new Integer(mk)); + mk = sp; + n.jjtOpen(); + } + + + /* A definite node is constructed from a specified number of + children. That number of nodes are popped from the stack and + made the children of the definite node. Then the definite node + is pushed on to the stack. */ + void closeNodeScope(Node n, int num) { + mk = ((Integer)marks.pop()).intValue(); + while (num-- > 0) { + Node c = popNode(); + c.jjtSetParent(n); + n.jjtAddChild(c, num); + } + n.jjtClose(); + pushNode(n); + node_created = true; + } + + + /* A conditional node is constructed if its condition is true. All + the nodes that have been pushed since the node was opened are + made children of the the conditional node, which is then pushed + on to the stack. If the condition is false the node is not + constructed and they are left on the stack. */ + void closeNodeScope(Node n, boolean condition) { + if (condition) { + int a = nodeArity(); + mk = ((Integer)marks.pop()).intValue(); + while (a-- > 0) { + Node c = popNode(); + c.jjtSetParent(n); + n.jjtAddChild(c, a); + } + n.jjtClose(); + pushNode(n); + node_created = true; + } else { + mk = ((Integer)marks.pop()).intValue(); + node_created = false; + } + } +} diff --git a/examples/actors/xdfAST/JavaCharStream.java b/examples/actors/xdfAST/JavaCharStream.java new file mode 100644 index 0000000000000000000000000000000000000000..eb05d6bcf8fede340cb8a35490701a8d6137cff2 --- /dev/null +++ b/examples/actors/xdfAST/JavaCharStream.java @@ -0,0 +1,584 @@ +/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 4.0 */ +package xdfAST; + +/** + * An implementation of interface CharStream, where the stream is assumed to + * contain only ASCII characters (with java-like unicode escape processing). + */ + +public class JavaCharStream +{ + public static final boolean staticFlag = false; + static final int hexval(char c) throws java.io.IOException { + switch(c) + { + case '0' : + return 0; + case '1' : + return 1; + case '2' : + return 2; + case '3' : + return 3; + case '4' : + return 4; + case '5' : + return 5; + case '6' : + return 6; + case '7' : + return 7; + case '8' : + return 8; + case '9' : + return 9; + + case 'a' : + case 'A' : + return 10; + case 'b' : + case 'B' : + return 11; + case 'c' : + case 'C' : + return 12; + case 'd' : + case 'D' : + return 13; + case 'e' : + case 'E' : + return 14; + case 'f' : + case 'F' : + return 15; + } + + throw new java.io.IOException(); // Should never come here + } + + public int bufpos = -1; + int bufsize; + int available; + int tokenBegin; + protected int bufline[]; + protected int bufcolumn[]; + + protected int column = 0; + protected int line = 1; + + protected boolean prevCharIsCR = false; + protected boolean prevCharIsLF = false; + + protected java.io.Reader inputStream; + + protected char[] nextCharBuf; + protected char[] buffer; + protected int maxNextCharInd = 0; + protected int nextCharInd = -1; + protected int inBuf = 0; + protected int tabSize = 8; + + protected void setTabSize(int i) { tabSize = i; } + protected int getTabSize(int i) { return tabSize; } + + protected void ExpandBuff(boolean wrapAround) + { + char[] newbuffer = new char[bufsize + 2048]; + int newbufline[] = new int[bufsize + 2048]; + int newbufcolumn[] = new int[bufsize + 2048]; + + try + { + if (wrapAround) + { + System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); + System.arraycopy(buffer, 0, newbuffer, + bufsize - tokenBegin, bufpos); + buffer = newbuffer; + + System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); + System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos); + bufline = newbufline; + + System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); + System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos); + bufcolumn = newbufcolumn; + + bufpos += (bufsize - tokenBegin); + } + else + { + System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); + buffer = newbuffer; + + System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); + bufline = newbufline; + + System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); + bufcolumn = newbufcolumn; + + bufpos -= tokenBegin; + } + } + catch (Throwable t) + { + throw new Error(t.getMessage()); + } + + available = (bufsize += 2048); + tokenBegin = 0; + } + + protected void FillBuff() throws java.io.IOException + { + int i; + if (maxNextCharInd == 4096) + maxNextCharInd = nextCharInd = 0; + + try { + if ((i = inputStream.read(nextCharBuf, maxNextCharInd, + 4096 - maxNextCharInd)) == -1) + { + inputStream.close(); + throw new java.io.IOException(); + } + else + maxNextCharInd += i; + return; + } + catch(java.io.IOException e) { + if (bufpos != 0) + { + --bufpos; + backup(0); + } + else + { + bufline[bufpos] = line; + bufcolumn[bufpos] = column; + } + throw e; + } + } + + protected char ReadByte() throws java.io.IOException + { + if (++nextCharInd >= maxNextCharInd) + FillBuff(); + + return nextCharBuf[nextCharInd]; + } + + public char BeginToken() throws java.io.IOException + { + if (inBuf > 0) + { + --inBuf; + + if (++bufpos == bufsize) + bufpos = 0; + + tokenBegin = bufpos; + return buffer[bufpos]; + } + + tokenBegin = 0; + bufpos = -1; + + return readChar(); + } + + protected void AdjustBuffSize() + { + if (available == bufsize) + { + if (tokenBegin > 2048) + { + bufpos = 0; + available = tokenBegin; + } + else + ExpandBuff(false); + } + else if (available > tokenBegin) + available = bufsize; + else if ((tokenBegin - available) < 2048) + ExpandBuff(true); + else + available = tokenBegin; + } + + protected void UpdateLineColumn(char c) + { + column++; + + if (prevCharIsLF) + { + prevCharIsLF = false; + line += (column = 1); + } + else if (prevCharIsCR) + { + prevCharIsCR = false; + if (c == '\n') + { + prevCharIsLF = true; + } + else + line += (column = 1); + } + + switch (c) + { + case '\r' : + prevCharIsCR = true; + break; + case '\n' : + prevCharIsLF = true; + break; + case '\t' : + column--; + column += (tabSize - (column % tabSize)); + break; + default : + break; + } + + bufline[bufpos] = line; + bufcolumn[bufpos] = column; + } + + public char readChar() throws java.io.IOException + { + if (inBuf > 0) + { + --inBuf; + + if (++bufpos == bufsize) + bufpos = 0; + + return buffer[bufpos]; + } + + char c; + + if (++bufpos == available) + AdjustBuffSize(); + + if ((buffer[bufpos] = c = ReadByte()) == '\\') + { + UpdateLineColumn(c); + + int backSlashCnt = 1; + + for (;;) // Read all the backslashes + { + if (++bufpos == available) + AdjustBuffSize(); + + try + { + if ((buffer[bufpos] = c = ReadByte()) != '\\') + { + UpdateLineColumn(c); + // found a non-backslash char. + if ((c == 'u') && ((backSlashCnt & 1) == 1)) + { + if (--bufpos < 0) + bufpos = bufsize - 1; + + break; + } + + backup(backSlashCnt); + return '\\'; + } + } + catch(java.io.IOException e) + { + if (backSlashCnt > 1) + backup(backSlashCnt); + + return '\\'; + } + + UpdateLineColumn(c); + backSlashCnt++; + } + + // Here, we have seen an odd number of backslash's followed by a 'u' + try + { + while ((c = ReadByte()) == 'u') + ++column; + + buffer[bufpos] = c = (char)(hexval(c) << 12 | + hexval(ReadByte()) << 8 | + hexval(ReadByte()) << 4 | + hexval(ReadByte())); + + column += 4; + } + catch(java.io.IOException e) + { + throw new Error("Invalid escape character at line " + line + + " column " + column + "."); + } + + if (backSlashCnt == 1) + return c; + else + { + backup(backSlashCnt - 1); + return '\\'; + } + } + else + { + UpdateLineColumn(c); + return (c); + } + } + + /** + * @deprecated + * @see #getEndColumn + */ + + public int getColumn() { + return bufcolumn[bufpos]; + } + + /** + * @deprecated + * @see #getEndLine + */ + + public int getLine() { + return bufline[bufpos]; + } + + public int getEndColumn() { + return bufcolumn[bufpos]; + } + + public int getEndLine() { + return bufline[bufpos]; + } + + public int getBeginColumn() { + return bufcolumn[tokenBegin]; + } + + public int getBeginLine() { + return bufline[tokenBegin]; + } + + public void backup(int amount) { + + inBuf += amount; + if ((bufpos -= amount) < 0) + bufpos += bufsize; + } + + public JavaCharStream(java.io.Reader dstream, + int startline, int startcolumn, int buffersize) + { + inputStream = dstream; + line = startline; + column = startcolumn - 1; + + available = bufsize = buffersize; + buffer = new char[buffersize]; + bufline = new int[buffersize]; + bufcolumn = new int[buffersize]; + nextCharBuf = new char[4096]; + } + + public JavaCharStream(java.io.Reader dstream, + int startline, int startcolumn) + { + this(dstream, startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.Reader dstream) + { + this(dstream, 1, 1, 4096); + } + public void ReInit(java.io.Reader dstream, + int startline, int startcolumn, int buffersize) + { + inputStream = dstream; + line = startline; + column = startcolumn - 1; + + if (buffer == null || buffersize != buffer.length) + { + available = bufsize = buffersize; + buffer = new char[buffersize]; + bufline = new int[buffersize]; + bufcolumn = new int[buffersize]; + nextCharBuf = new char[4096]; + } + prevCharIsLF = prevCharIsCR = false; + tokenBegin = inBuf = maxNextCharInd = 0; + nextCharInd = bufpos = -1; + } + + public void ReInit(java.io.Reader dstream, + int startline, int startcolumn) + { + ReInit(dstream, startline, startcolumn, 4096); + } + + public void ReInit(java.io.Reader dstream) + { + ReInit(dstream, 1, 1, 4096); + } + public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, + int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException + { + this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); + } + + public JavaCharStream(java.io.InputStream dstream, int startline, + int startcolumn, int buffersize) + { + this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, + int startcolumn) throws java.io.UnsupportedEncodingException + { + this(dstream, encoding, startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.InputStream dstream, int startline, + int startcolumn) + { + this(dstream, startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException + { + this(dstream, encoding, 1, 1, 4096); + } + + public JavaCharStream(java.io.InputStream dstream) + { + this(dstream, 1, 1, 4096); + } + + public void ReInit(java.io.InputStream dstream, String encoding, int startline, + int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException + { + ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); + } + + public void ReInit(java.io.InputStream dstream, int startline, + int startcolumn, int buffersize) + { + ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize); + } + public void ReInit(java.io.InputStream dstream, String encoding, int startline, + int startcolumn) throws java.io.UnsupportedEncodingException + { + ReInit(dstream, encoding, startline, startcolumn, 4096); + } + public void ReInit(java.io.InputStream dstream, int startline, + int startcolumn) + { + ReInit(dstream, startline, startcolumn, 4096); + } + public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException + { + ReInit(dstream, encoding, 1, 1, 4096); + } + + public void ReInit(java.io.InputStream dstream) + { + ReInit(dstream, 1, 1, 4096); + } + + public String GetImage() + { + if (bufpos >= tokenBegin) + return new String(buffer, tokenBegin, bufpos - tokenBegin + 1); + else + return new String(buffer, tokenBegin, bufsize - tokenBegin) + + new String(buffer, 0, bufpos + 1); + } + + public char[] GetSuffix(int len) + { + char[] ret = new char[len]; + + if ((bufpos + 1) >= len) + System.arraycopy(buffer, bufpos - len + 1, ret, 0, len); + else + { + System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0, + len - bufpos - 1); + System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1); + } + + return ret; + } + + public void Done() + { + nextCharBuf = null; + buffer = null; + bufline = null; + bufcolumn = null; + } + + /** + * Method to adjust line and column numbers for the start of a token. + */ + public void adjustBeginLineColumn(int newLine, int newCol) + { + int start = tokenBegin; + int len; + + if (bufpos >= tokenBegin) + { + len = bufpos - tokenBegin + inBuf + 1; + } + else + { + len = bufsize - tokenBegin + bufpos + 1 + inBuf; + } + + int i = 0, j = 0, k = 0; + int nextColDiff = 0, columnDiff = 0; + + while (i < len && + bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) + { + bufline[j] = newLine; + nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j]; + bufcolumn[j] = newCol + columnDiff; + columnDiff = nextColDiff; + i++; + } + + if (i < len) + { + bufline[j] = newLine++; + bufcolumn[j] = newCol + columnDiff; + + while (i++ < len) + { + if (bufline[j = start % bufsize] != bufline[++start % bufsize]) + bufline[j] = newLine++; + else + bufline[j] = newLine; + } + } + + line = bufline[j]; + column = bufcolumn[j]; + } + +} diff --git a/examples/actors/xdfAST/List.java b/examples/actors/xdfAST/List.java new file mode 100644 index 0000000000000000000000000000000000000000..3afc68edc5e8b5116e6c8155e20f0923ff64121a --- /dev/null +++ b/examples/actors/xdfAST/List.java @@ -0,0 +1,144 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; +public class List<T extends ASTNode> extends ASTNode<T> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public List<T> clone() throws CloneNotSupportedException { + List node = (List)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public List<T> copy() { + try { + List node = (List)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public List<T> fullCopy() { + List res = (List)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in SSR.jrag at line 223 + + int getNumNoTransformChild() {return getNumChildNoTransform();} + + // Declared in List.ast at line 3 + // Declared in List.ast line 0 + + public List(int i) { + super(i); + } + + // Declared in List.ast at line 6 + + public List(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in List.ast at line 10 + + public List() { + this(0); + + + } + + // Declared in List.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "List"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in List.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in List.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in List.ast at line 32 + + +public void checkChild(Node n, int i) { + if(!(n instanceof ASTNode)) throw new Error("The node type of child " + i + " must be an instance of ASTNode"); +} + + // Declared in List.ast at line 36 + + + public List<T> add(T node) { + addChild(node); + return this; + } + + // Declared in List.ast at line 41 + + + public void insertChild(T node, int i) { + list$touched = true; + super.insertChild(node, i); + } + + // Declared in List.ast at line 45 + + public void addChild(T node) { + list$touched = true; + super.addChild(node); + } + + // Declared in List.ast at line 49 + + public void removeChild(int i) { + list$touched = true; + super.removeChild(i); + } + + // Declared in List.ast at line 53 + + public int getNumChild() { + if(list$touched) { + for(int i = 0; i < getNumChildNoTransform(); i++) + getChild(i); + list$touched = false; + } + return getNumChildNoTransform(); + } + + // Declared in List.ast at line 61 + + private boolean list$touched = true; + + // Declared in List.ast at line 62 + + public boolean mayHaveRewrite() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Node.java b/examples/actors/xdfAST/Node.java new file mode 100644 index 0000000000000000000000000000000000000000..bd693711dd7a6a6326937992bbe9d20d71350e9e --- /dev/null +++ b/examples/actors/xdfAST/Node.java @@ -0,0 +1,37 @@ +/* Generated By:JJTree: Do not edit this line. Node.java */ + +package xdfAST; + +/* All AST nodes must implement this interface. It provides basic + machinery for constructing the parent and child relationships + between nodes. */ + +public interface Node { + + /** This method is called after the node has been made the current + node. It indicates that child nodes can now be added to it. */ + public void jjtOpen(); + + /** This method is called after all the child nodes have been + added. */ + public void jjtClose(); + + /** This pair of methods are used to inform the node of its + parent. */ + public void jjtSetParent(Node n); + public Node jjtGetParent(); + + /** This method tells the node to add its argument to the node's + list of children. */ + public void jjtAddChild(Node n, int i); + + /** This method returns a child node. The children are numbered + from zero, left to right. */ + public Node jjtGetChild(int i); + + /** Return the number of children the node has. */ + public int jjtGetNumChildren(); + + /** Accept the visitor. **/ + public Object jjtAccept(XmlParserVisitor visitor, Object data); +} diff --git a/examples/actors/xdfAST/Note.java b/examples/actors/xdfAST/Note.java new file mode 100644 index 0000000000000000000000000000000000000000..d0820b439e1e49e3c248e54d587062f1971af7df --- /dev/null +++ b/examples/actors/xdfAST/Note.java @@ -0,0 +1,333 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Note extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + kind_visited = -1; + value_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Note clone() throws CloneNotSupportedException { + Note node = (Note)super.clone(); + node.kind_visited = -1; + node.value_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Note copy() { + try { + Note node = (Note)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Note fullCopy() { + Note res = (Note)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 160 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Note "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Note> "); + } + } + + // Declared in SSR.jrag at line 186 + + + void setValue(String s) { + for (Attribute a : getAttributes()) { + if (a instanceof value) { + a.getAttrValue().setLITERAL(unfix(s)); + } + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 32 + + public Note(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Note(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Note() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 32 + public Note(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Note"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected int kind_visited = -1; + // Declared in SSR.jrag at line 162 + @SuppressWarnings({"unchecked", "cast"}) public String kind() { + if(kind_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: kind in class: "); + kind_visited = boundariesCrossed; + String kind_value = kind_compute(); + kind_visited = -1; + return kind_value; + } + + private String kind_compute() { + for (Attribute a : getAttributes()) { +// System.out.println(" checking: "+a); + if (a.isKind()) { +// System.out.println(" found "+fix(a.getAttrValue().getLITERAL())); + return fix(a.getAttrValue().getLITERAL()); + } + } + return ""; + } + + protected int value_visited = -1; + // Declared in SSR.jrag at line 177 + @SuppressWarnings({"unchecked", "cast"}) public String value() { + if(value_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: value in class: "); + value_visited = boundariesCrossed; + String value_value = value_compute(); + value_visited = -1; + return value_value; + } + + private String value_compute() { + for (Attribute a : getAttributes()) { + if (a instanceof value) { + return fix(a.getAttrValue().getLITERAL()); + } + } + return ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Op.java b/examples/actors/xdfAST/Op.java new file mode 100644 index 0000000000000000000000000000000000000000..bca6d10b5e1aea7121981e097c4ec99c842ebf5a --- /dev/null +++ b/examples/actors/xdfAST/Op.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Op extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Op clone() throws CloneNotSupportedException { + Op node = (Op)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Op copy() { + try { + Op node = (Op)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Op fullCopy() { + Op res = (Op)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 87 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Op "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Op> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 27 + + public Op(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Op(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Op() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 27 + public Op(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Op"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Opt.java b/examples/actors/xdfAST/Opt.java new file mode 100644 index 0000000000000000000000000000000000000000..2a84a280c515664b68fa017b47b6660fd19f9150 --- /dev/null +++ b/examples/actors/xdfAST/Opt.java @@ -0,0 +1,108 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; +public class Opt<T extends ASTNode> extends ASTNode<T> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Opt<T> clone() throws CloneNotSupportedException { + Opt node = (Opt)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Opt<T> copy() { + try { + Opt node = (Opt)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Opt<T> fullCopy() { + Opt res = (Opt)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in SSR.jrag at line 224 + + int getNumChildNoTransfrom() {return getNumChildNoTransform();} + + // Declared in Opt.ast at line 3 + // Declared in Opt.ast line 0 + + public Opt(int i) { + super(i); + } + + // Declared in Opt.ast at line 6 + + public Opt(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in Opt.ast at line 10 + + public Opt() { + this(0); + + + } + + // Declared in Opt.ast at line 16 + + + public Opt(T opt) { + setChild(opt, 0); + } + + // Declared in Opt.ast at line 20 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Opt"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in Opt.ast at line 27 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in Opt.ast at line 31 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in Opt.ast at line 36 + + +public void checkChild(Node n, int i) { + if(i > 0) throw new Error("Optional nodes can only have one child"); + if(!(n instanceof ASTNode)) throw new Error("Node type must be an instance of ASTNode"); +} + + // Declared in Opt.ast at line 41 + + + public boolean mayHaveRewrite() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Output.java b/examples/actors/xdfAST/Output.java new file mode 100644 index 0000000000000000000000000000000000000000..81c1938aca2d7edbfcf3216382ec935ca06d211f --- /dev/null +++ b/examples/actors/xdfAST/Output.java @@ -0,0 +1,278 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +// Generated types + +public class Output extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Output clone() throws CloneNotSupportedException { + Output node = (Output)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Output copy() { + try { + Output node = (Output)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Output fullCopy() { + Output res = (Output)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 53 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Output "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Output> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 25 + + public Output(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Output(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Output() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 25 + public Output(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Output"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Parameter.java b/examples/actors/xdfAST/Parameter.java new file mode 100644 index 0000000000000000000000000000000000000000..25cd0200b2d1e8cb1827f29581f6c4d24358af03 --- /dev/null +++ b/examples/actors/xdfAST/Parameter.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Parameter extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Parameter clone() throws CloneNotSupportedException { + Parameter node = (Parameter)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Parameter copy() { + try { + Parameter node = (Parameter)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Parameter fullCopy() { + Parameter res = (Parameter)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 104 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Parameter "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Parameter> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 28 + + public Parameter(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Parameter(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Parameter() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 28 + public Parameter(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Parameter"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/ParseException.java b/examples/actors/xdfAST/ParseException.java new file mode 100644 index 0000000000000000000000000000000000000000..895bb5d702b88faef669265282ade7e5a0c4d2c8 --- /dev/null +++ b/examples/actors/xdfAST/ParseException.java @@ -0,0 +1,192 @@ +/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 3.0 */ +package xdfAST; + +/** + * This exception is thrown when parse errors are encountered. + * You can explicitly create objects of this exception type by + * calling the method generateParseException in the generated + * parser. + * + * You can modify this class to customize your error reporting + * mechanisms so long as you retain the public fields. + */ +public class ParseException extends Exception { + + /** + * This constructor is used by the method "generateParseException" + * in the generated parser. Calling this constructor generates + * a new object of this type with the fields "currentToken", + * "expectedTokenSequences", and "tokenImage" set. The boolean + * flag "specialConstructor" is also set to true to indicate that + * this constructor was used to create this object. + * This constructor calls its super class with the empty string + * to force the "toString" method of parent class "Throwable" to + * print the error message in the form: + * ParseException: <result of getMessage> + */ + public ParseException(Token currentTokenVal, + int[][] expectedTokenSequencesVal, + String[] tokenImageVal + ) + { + super(""); + specialConstructor = true; + currentToken = currentTokenVal; + expectedTokenSequences = expectedTokenSequencesVal; + tokenImage = tokenImageVal; + } + + /** + * The following constructors are for use by you for whatever + * purpose you can think of. Constructing the exception in this + * manner makes the exception behave in the normal way - i.e., as + * documented in the class "Throwable". The fields "errorToken", + * "expectedTokenSequences", and "tokenImage" do not contain + * relevant information. The JavaCC generated code does not use + * these constructors. + */ + + public ParseException() { + super(); + specialConstructor = false; + } + + public ParseException(String message) { + super(message); + specialConstructor = false; + } + + /** + * This variable determines which constructor was used to create + * this object and thereby affects the semantics of the + * "getMessage" method (see below). + */ + protected boolean specialConstructor; + + /** + * This is the last token that has been consumed successfully. If + * this object has been created due to a parse error, the token + * followng this token will (therefore) be the first error token. + */ + public Token currentToken; + + /** + * Each entry in this array is an array of integers. Each array + * of integers represents a sequence of tokens (by their ordinal + * values) that is expected at this point of the parse. + */ + public int[][] expectedTokenSequences; + + /** + * This is a reference to the "tokenImage" array of the generated + * parser within which the parse error occurred. This array is + * defined in the generated ...Constants interface. + */ + public String[] tokenImage; + + /** + * This method has the standard behavior when this object has been + * created using the standard constructors. Otherwise, it uses + * "currentToken" and "expectedTokenSequences" to generate a parse + * error message and returns it. If this object has been created + * due to a parse error, and you do not catch it (it gets thrown + * from the parser), then this method is called during the printing + * of the final stack trace, and hence the correct error message + * gets displayed. + */ + public String getMessage() { + if (!specialConstructor) { + return super.getMessage(); + } + StringBuffer expected = new StringBuffer(); + int maxSize = 0; + for (int i = 0; i < expectedTokenSequences.length; i++) { + if (maxSize < expectedTokenSequences[i].length) { + maxSize = expectedTokenSequences[i].length; + } + for (int j = 0; j < expectedTokenSequences[i].length; j++) { + expected.append(tokenImage[expectedTokenSequences[i][j]]).append(" "); + } + if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) { + expected.append("..."); + } + expected.append(eol).append(" "); + } + String retval = "Encountered \""; + Token tok = currentToken.next; + for (int i = 0; i < maxSize; i++) { + if (i != 0) retval += " "; + if (tok.kind == 0) { + retval += tokenImage[0]; + break; + } + retval += add_escapes(tok.image); + tok = tok.next; + } + retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; + retval += "." + eol; + if (expectedTokenSequences.length == 1) { + retval += "Was expecting:" + eol + " "; + } else { + retval += "Was expecting one of:" + eol + " "; + } + retval += expected.toString(); + return retval; + } + + /** + * The end of line string for this machine. + */ + protected String eol = System.getProperty("line.separator", "\n"); + + /** + * Used to convert raw characters to their escaped version + * when these raw version cannot be used as part of an ASCII + * string literal. + */ + protected String add_escapes(String str) { + StringBuffer retval = new StringBuffer(); + char ch; + for (int i = 0; i < str.length(); i++) { + switch (str.charAt(i)) + { + case 0 : + continue; + case '\b': + retval.append("\\b"); + continue; + case '\t': + retval.append("\\t"); + continue; + case '\n': + retval.append("\\n"); + continue; + case '\f': + retval.append("\\f"); + continue; + case '\r': + retval.append("\\r"); + continue; + case '\"': + retval.append("\\\""); + continue; + case '\'': + retval.append("\\\'"); + continue; + case '\\': + retval.append("\\\\"); + continue; + default: + if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { + String s = "0000" + Integer.toString(ch, 16); + retval.append("\\u" + s.substring(s.length() - 4, s.length())); + } else { + retval.append(ch); + } + continue; + } + } + return retval.toString(); + } + +} diff --git a/examples/actors/xdfAST/Port.java b/examples/actors/xdfAST/Port.java new file mode 100644 index 0000000000000000000000000000000000000000..ee868b6e5aa7d0d434d336d943093c5c67813a88 --- /dev/null +++ b/examples/actors/xdfAST/Port.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Port extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Port clone() throws CloneNotSupportedException { + Port node = (Port)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Port copy() { + try { + Port node = (Port)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Port fullCopy() { + Port res = (Port)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 304 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Port "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Port> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 44 + + public Port(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Port(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Port() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 44 + public Port(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Port"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/QID.java b/examples/actors/xdfAST/QID.java new file mode 100644 index 0000000000000000000000000000000000000000..154c082a7ea8b4f2c84acb1dcb0e765871aa7399 --- /dev/null +++ b/examples/actors/xdfAST/QID.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class QID extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public QID clone() throws CloneNotSupportedException { + QID node = (QID)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public QID copy() { + try { + QID node = (QID)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public QID fullCopy() { + QID res = (QID)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 121 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<QID "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</QID> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 29 + + public QID(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public QID(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public QID() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 29 + public QID(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "QID"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Schedule.java b/examples/actors/xdfAST/Schedule.java new file mode 100644 index 0000000000000000000000000000000000000000..5b638bc103ea262662f1276e079beb927a2972f9 --- /dev/null +++ b/examples/actors/xdfAST/Schedule.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Schedule extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Schedule clone() throws CloneNotSupportedException { + Schedule node = (Schedule)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Schedule copy() { + try { + Schedule node = (Schedule)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Schedule fullCopy() { + Schedule res = (Schedule)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 546 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Schedule "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Schedule> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 66 + + public Schedule(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Schedule(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Schedule() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 66 + public Schedule(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Schedule"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/SimpleElement.java b/examples/actors/xdfAST/SimpleElement.java new file mode 100644 index 0000000000000000000000000000000000000000..064657405777d3f8315667aabb6e637407b7e029 --- /dev/null +++ b/examples/actors/xdfAST/SimpleElement.java @@ -0,0 +1,84 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public abstract class SimpleElement extends Element implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public SimpleElement clone() throws CloneNotSupportedException { + SimpleElement node = (SimpleElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 13 + + public SimpleElement(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public SimpleElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public SimpleElement() { + this(0); + + + } + + // Declared in xdf.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "SimpleElement"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 32 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 35 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 38 + + public boolean mayHaveRewrite() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/SimpleNode.java b/examples/actors/xdfAST/SimpleNode.java new file mode 100644 index 0000000000000000000000000000000000000000..7b482078b1a1ae48efd8cc3d9201cccce5dd7f60 --- /dev/null +++ b/examples/actors/xdfAST/SimpleNode.java @@ -0,0 +1,87 @@ +/* Generated By:JJTree: Do not edit this line. SimpleNode.java */ + +package xdfAST; + +public class SimpleNode implements Node { + protected Node parent; + protected Node[] children; + protected int id; + protected XmlParser parser; + + public SimpleNode(int i) { + id = i; + } + + public SimpleNode(XmlParser p, int i) { + this(i); + parser = p; + } + + public void jjtOpen() { + } + + public void jjtClose() { + } + + public void jjtSetParent(Node n) { parent = n; } + public Node jjtGetParent() { return parent; } + + public void jjtAddChild(Node n, int i) { + if (children == null) { + children = new Node[i + 1]; + } else if (i >= children.length) { + Node c[] = new Node[i + 1]; + System.arraycopy(children, 0, c, 0, children.length); + children = c; + } + children[i] = n; + } + + public Node jjtGetChild(int i) { + return children[i]; + } + + public int jjtGetNumChildren() { + return (children == null) ? 0 : children.length; + } + + /** Accept the visitor. **/ + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + /** Accept the visitor. **/ + public Object childrenAccept(XmlParserVisitor visitor, Object data) { + if (children != null) { + for (int i = 0; i < children.length; ++i) { + children[i].jjtAccept(visitor, data); + } + } + return data; + } + + /* You can override these two methods in subclasses of SimpleNode to + customize the way the node appears when the tree is dumped. If + your output uses more than one line you should override + toString(String), otherwise overriding toString() is probably all + you need to do. */ + + public String toString() { return XmlParserTreeConstants.jjtNodeName[id]; } + public String toString(String prefix) { return prefix + toString(); } + + /* Override this method if you want to customize how the node dumps + out its children. */ + + public void dump(String prefix) { + System.out.println(toString(prefix)); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + SimpleNode n = (SimpleNode)children[i]; + if (n != null) { + n.dump(prefix + " "); + } + } + } + } +} + diff --git a/examples/actors/xdfAST/Specification.java b/examples/actors/xdfAST/Specification.java new file mode 100644 index 0000000000000000000000000000000000000000..f3a8e87f7e8bcf80b4bcfe0a726aa07405303fbc --- /dev/null +++ b/examples/actors/xdfAST/Specification.java @@ -0,0 +1,287 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Specification extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + } + @SuppressWarnings({"unchecked", "cast"}) public Specification clone() throws CloneNotSupportedException { + Specification node = (Specification)super.clone(); + node.genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Specification copy() { + try { + Specification node = (Specification)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Specification fullCopy() { + Specification res = (Specification)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in MergeActors.jrag at line 16 + + void mergeActors() { + for (Element e : getElements()) { + e.mergeActors(); + } + } + + // Declared in SSR.jrag at line 24 + + + void genSSR(java.io.PrintStream out) { + + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 6 + + public Specification(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Specification(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Specification() { + this(0); + + setChild(new Opt(), 1); + setChild(new List(), 2); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 6 + public Specification(XmlHeader p0, Opt<DocType> p1, List<Element> p2) { + setChild(p0, 0); + setChild(p1, 1); + setChild(p2, 2); + } + + // Declared in xdf.ast at line 25 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Specification"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 32 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 36 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 41 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof XmlHeader)) throw new Error("Child number 0 of Specification has the type " + n.getClass().getName() + " which is not an instance of XmlHeader"); + if(i == 1) { + if(!(n instanceof Opt)) throw new Error("Child number 1 of Specification has the type " + n.getClass().getName() + " which is not an instance of Opt"); + if(((Opt)n).getNumChildNoTransfrom() != 0 && !(((Opt)n).getChildNoTransform(0) instanceof DocType)) throw new Error("Optional DocType has the type " + ((Opt)n).getChildNoTransform(0).getClass().getName() + " which is not an instance of DocType"); + } + if(i == 2) { + if(!(n instanceof List)) throw new Error("Child number 2 of Specification has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 54 + + + public int getNumChild() { + return 3; + } + + // Declared in xdf.ast at line 57 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 6 + public void setXmlHeader(XmlHeader node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public XmlHeader getXmlHeader() { + return (XmlHeader)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public XmlHeader getXmlHeaderNoTransform() { + return (XmlHeader)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 6 + public void setDocTypeOpt(Opt<DocType> opt) { + setChild(opt, 1); + } + + // Declared in xdf.ast at line 6 + + + public boolean hasDocType() { + return getDocTypeOpt().getNumChild() != 0; + } + + // Declared in xdf.ast at line 10 + + + @SuppressWarnings({"unchecked", "cast"}) public DocType getDocType() { + return (DocType)getDocTypeOpt().getChild(0); + } + + // Declared in xdf.ast at line 14 + + + public void setDocType(DocType node) { + getDocTypeOpt().setChild(node, 0); + } + + // Declared in xdf.ast at line 17 + + @SuppressWarnings({"unchecked", "cast"}) public Opt<DocType> getDocTypeOpt() { + return (Opt<DocType>)getChild(1); + } + + // Declared in xdf.ast at line 21 + + + @SuppressWarnings({"unchecked", "cast"}) public Opt<DocType> getDocTypeOptNoTransform() { + return (Opt<DocType>)getChildNoTransform(1); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 6 + public void setElementList(List<Element> list) { + setChild(list, 2); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(2); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(2); + } + + protected java.util.Map genStaticSchedule_HashSet_Instance__visited; + // Declared in SSR.jrag at line 53 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Instance> genStaticSchedule(HashSet<Instance> l) { + Object _parameters = l; +if(genStaticSchedule_HashSet_Instance__visited == null) genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(genStaticSchedule_HashSet_Instance__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: genStaticSchedule in class: "); + genStaticSchedule_HashSet_Instance__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Instance> genStaticSchedule_HashSet_Instance__value = genStaticSchedule_compute(l); + genStaticSchedule_HashSet_Instance__visited.remove(_parameters); + return genStaticSchedule_HashSet_Instance__value; + } + + private HashSet<Instance> genStaticSchedule_compute(HashSet<Instance> l) { + for (int i=0; i<getNumElement(); i++) { + l = getElement(i).genStaticSchedule(l); + } + return l; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Start.java b/examples/actors/xdfAST/Start.java new file mode 100644 index 0000000000000000000000000000000000000000..585d6c50aa2d922e98e4f194aa9b911aef1c0eb3 --- /dev/null +++ b/examples/actors/xdfAST/Start.java @@ -0,0 +1,168 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; +// -*-Java-*- + +// Automatically generated JastAdd abstract grammar file +// Predefined types + +public class Start extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + } + @SuppressWarnings({"unchecked", "cast"}) public Start clone() throws CloneNotSupportedException { + Start node = (Start)super.clone(); + node.genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Start copy() { + try { + Start node = (Start)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Start fullCopy() { + Start res = (Start)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in MergeActors.jrag at line 13 + + public void mergeActors() { + getSpecification().mergeActors(); + } + + // Declared in SSR.jrag at line 20 + + + public void genSSR(java.io.PrintStream out) { + getSpecification().genSSR(out); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 5 + + public Start(int i) { + super(i); + is$Final(true); + } + + // Declared in xdf.ast at line 7 + + public Start(XmlParser p, int i) { + this(i); + parser = p; + is$Final(true); + } + + // Declared in xdf.ast at line 12 + + public Start() { + this(0); + + is$Final(true); + + } + + // Declared in xdf.ast at line 20 + + + // Declared in xdf.ast line 5 + public Start(Specification p0) { + setChild(p0, 0); + is$Final(true); + } + + // Declared in xdf.ast at line 25 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Start"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 32 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 36 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 41 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof Specification)) throw new Error("Child number 0 of Start has the type " + n.getClass().getName() + " which is not an instance of Specification"); +} + + // Declared in xdf.ast at line 45 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 48 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 5 + public void setSpecification(Specification node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public Specification getSpecification() { + return (Specification)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public Specification getSpecificationNoTransform() { + return (Specification)getChildNoTransform(0); + } + + protected java.util.Map genStaticSchedule_HashSet_Instance__visited; + // Declared in SSR.jrag at line 52 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Instance> genStaticSchedule(HashSet<Instance> l) { + Object _parameters = l; +if(genStaticSchedule_HashSet_Instance__visited == null) genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(genStaticSchedule_HashSet_Instance__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: genStaticSchedule in class: "); + genStaticSchedule_HashSet_Instance__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Instance> genStaticSchedule_HashSet_Instance__value = genStaticSchedule_compute(l); + genStaticSchedule_HashSet_Instance__visited.remove(_parameters); + return genStaticSchedule_HashSet_Instance__value; + } + + private HashSet<Instance> genStaticSchedule_compute(HashSet<Instance> l) { return getSpecification().genStaticSchedule(l); } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Stmt.java b/examples/actors/xdfAST/Stmt.java new file mode 100644 index 0000000000000000000000000000000000000000..0aa6f2334eabc8213894daf84648883adff27690 --- /dev/null +++ b/examples/actors/xdfAST/Stmt.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Stmt extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Stmt clone() throws CloneNotSupportedException { + Stmt node = (Stmt)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Stmt copy() { + try { + Stmt node = (Stmt)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Stmt fullCopy() { + Stmt res = (Stmt)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 478 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Stmt "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Stmt> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 62 + + public Stmt(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Stmt(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Stmt() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 62 + public Stmt(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Stmt"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/StringElement.java b/examples/actors/xdfAST/StringElement.java new file mode 100644 index 0000000000000000000000000000000000000000..1e4be35c9a06a4301fa3d0ee44b166c46d5e5cbd --- /dev/null +++ b/examples/actors/xdfAST/StringElement.java @@ -0,0 +1,127 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class StringElement extends SimpleElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public StringElement clone() throws CloneNotSupportedException { + StringElement node = (StringElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public StringElement copy() { + try { + StringElement node = (StringElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public StringElement fullCopy() { + StringElement res = (StringElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 14 + + public StringElement(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public StringElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public StringElement() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 14 + public StringElement(String p0) { + setLITERAL(p0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "StringElement"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xdf.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xdf.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 14 + protected String tokenString_LITERAL; + + // Declared in xdf.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xdf.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Thing.java b/examples/actors/xdfAST/Thing.java new file mode 100644 index 0000000000000000000000000000000000000000..c77e5823772a944295c3c95cb0ac0215835b7f85 --- /dev/null +++ b/examples/actors/xdfAST/Thing.java @@ -0,0 +1,237 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public abstract class Thing extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Thing clone() throws CloneNotSupportedException { + Thing node = (Thing)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 9 + + public Thing(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Thing(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Thing() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 9 + public Thing(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Thing"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Token.java b/examples/actors/xdfAST/Token.java new file mode 100644 index 0000000000000000000000000000000000000000..4e9fcd16c04d798ddd3e5f24492f24f8024c9ea0 --- /dev/null +++ b/examples/actors/xdfAST/Token.java @@ -0,0 +1,81 @@ +/* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */ +package xdfAST; + +/** + * Describes the input token stream. + */ + +public class Token { + + /** + * An integer that describes the kind of this token. This numbering + * system is determined by JavaCCParser, and a table of these numbers is + * stored in the file ...Constants.java. + */ + public int kind; + + /** + * beginLine and beginColumn describe the position of the first character + * of this token; endLine and endColumn describe the position of the + * last character of this token. + */ + public int beginLine, beginColumn, endLine, endColumn; + + /** + * The string image of the token. + */ + public String image; + + /** + * A reference to the next regular (non-special) token from the input + * stream. If this is the last token from the input stream, or if the + * token manager has not read tokens beyond this one, this field is + * set to null. This is true only if this token is also a regular + * token. Otherwise, see below for a description of the contents of + * this field. + */ + public Token next; + + /** + * This field is used to access special tokens that occur prior to this + * token, but after the immediately preceding regular (non-special) token. + * If there are no such special tokens, this field is set to null. + * When there are more than one such special token, this field refers + * to the last of these special tokens, which in turn refers to the next + * previous special token through its specialToken field, and so on + * until the first special token (whose specialToken field is null). + * The next fields of special tokens refer to other special tokens that + * immediately follow it (without an intervening regular token). If there + * is no such token, this field is null. + */ + public Token specialToken; + + /** + * Returns the image. + */ + public String toString() + { + return image; + } + + /** + * Returns a new Token object, by default. However, if you want, you + * can create and return subclass objects based on the value of ofKind. + * Simply add the cases to the switch for all those special cases. + * For example, if you have a subclass of Token called IDToken that + * you want to create if ofKind is ID, simlpy add something like : + * + * case MyParserConstants.ID : return new IDToken(); + * + * to the following switch statement. Then you can cast matchedToken + * variable to the appropriate type and use it in your lexical actions. + */ + public static final Token newToken(int ofKind) + { + switch(ofKind) + { + default : return new Token(); + } + } + +} diff --git a/examples/actors/xdfAST/TokenMgrError.java b/examples/actors/xdfAST/TokenMgrError.java new file mode 100644 index 0000000000000000000000000000000000000000..18eba1bd1c9b12d63bf55b646f261fe199f7c908 --- /dev/null +++ b/examples/actors/xdfAST/TokenMgrError.java @@ -0,0 +1,133 @@ +/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */ +package xdfAST; + +public class TokenMgrError extends Error +{ + /* + * Ordinals for various reasons why an Error of this type can be thrown. + */ + + /** + * Lexical error occured. + */ + static final int LEXICAL_ERROR = 0; + + /** + * An attempt wass made to create a second instance of a static token manager. + */ + static final int STATIC_LEXER_ERROR = 1; + + /** + * Tried to change to an invalid lexical state. + */ + static final int INVALID_LEXICAL_STATE = 2; + + /** + * Detected (and bailed out of) an infinite loop in the token manager. + */ + static final int LOOP_DETECTED = 3; + + /** + * Indicates the reason why the exception is thrown. It will have + * one of the above 4 values. + */ + int errorCode; + + /** + * Replaces unprintable characters by their espaced (or unicode escaped) + * equivalents in the given string + */ + protected static final String addEscapes(String str) { + StringBuffer retval = new StringBuffer(); + char ch; + for (int i = 0; i < str.length(); i++) { + switch (str.charAt(i)) + { + case 0 : + continue; + case '\b': + retval.append("\\b"); + continue; + case '\t': + retval.append("\\t"); + continue; + case '\n': + retval.append("\\n"); + continue; + case '\f': + retval.append("\\f"); + continue; + case '\r': + retval.append("\\r"); + continue; + case '\"': + retval.append("\\\""); + continue; + case '\'': + retval.append("\\\'"); + continue; + case '\\': + retval.append("\\\\"); + continue; + default: + if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { + String s = "0000" + Integer.toString(ch, 16); + retval.append("\\u" + s.substring(s.length() - 4, s.length())); + } else { + retval.append(ch); + } + continue; + } + } + return retval.toString(); + } + + /** + * Returns a detailed message for the Error when it is thrown by the + * token manager to indicate a lexical error. + * Parameters : + * EOFSeen : indicates if EOF caused the lexicl error + * curLexState : lexical state in which this error occured + * errorLine : line number when the error occured + * errorColumn : column number when the error occured + * errorAfter : prefix that was seen before this error occured + * curchar : the offending character + * Note: You can customize the lexical error message by modifying this method. + */ + protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) { + return("Lexical error at line " + + errorLine + ", column " + + errorColumn + ". Encountered: " + + (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") + + "after : \"" + addEscapes(errorAfter) + "\""); + } + + /** + * You can also modify the body of this method to customize your error messages. + * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not + * of end-users concern, so you can return something like : + * + * "Internal Error : Please file a bug report .... " + * + * from this method for such cases in the release version of your parser. + */ + public String getMessage() { + return super.getMessage(); + } + + /* + * Constructors of various flavors follow. + */ + + public TokenMgrError() { + } + + public TokenMgrError(String message, int reason) { + super(message); + errorCode = reason; + } + + public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) { + this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); + } +} diff --git a/examples/actors/xdfAST/Transition.java b/examples/actors/xdfAST/Transition.java new file mode 100644 index 0000000000000000000000000000000000000000..c9a57af4690c8bc3c2f52574f506b1facaef5a3c --- /dev/null +++ b/examples/actors/xdfAST/Transition.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Transition extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Transition clone() throws CloneNotSupportedException { + Transition node = (Transition)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Transition copy() { + try { + Transition node = (Transition)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Transition fullCopy() { + Transition res = (Transition)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 326 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Transition "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Transition> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 46 + + public Transition(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Transition(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Transition() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 46 + public Transition(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Transition"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Type.java b/examples/actors/xdfAST/Type.java new file mode 100644 index 0000000000000000000000000000000000000000..b096ddaccda2d6ebce21563045a6d49f8e114e3b --- /dev/null +++ b/examples/actors/xdfAST/Type.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Type extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Type clone() throws CloneNotSupportedException { + Type node = (Type)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Type copy() { + try { + Type node = (Type)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Type fullCopy() { + Type res = (Type)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 495 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<Type "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</Type> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 63 + + public Type(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Type(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Type() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 63 + public Type(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Type"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/ValueElement.java b/examples/actors/xdfAST/ValueElement.java new file mode 100644 index 0000000000000000000000000000000000000000..74ae9c02cd2d0eb9c28a6ac2b4c138c456052046 --- /dev/null +++ b/examples/actors/xdfAST/ValueElement.java @@ -0,0 +1,256 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class ValueElement extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public ValueElement clone() throws CloneNotSupportedException { + ValueElement node = (ValueElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ValueElement copy() { + try { + ValueElement node = (ValueElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ValueElement fullCopy() { + ValueElement res = (ValueElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 12 + + public ValueElement(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public ValueElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public ValueElement() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 12 + public ValueElement(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ValueElement"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/Version.java b/examples/actors/xdfAST/Version.java new file mode 100644 index 0000000000000000000000000000000000000000..fc6f45f607b918d9d620ee7d8569057a02430e23 --- /dev/null +++ b/examples/actors/xdfAST/Version.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class Version extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Version clone() throws CloneNotSupportedException { + Version node = (Version)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Version copy() { + try { + Version node = (Version)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Version fullCopy() { + Version res = (Version)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 38 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" version="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 20 + + public Version(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public Version(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public Version() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 20 + public Version(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Version"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/XDF.java b/examples/actors/xdfAST/XDF.java new file mode 100644 index 0000000000000000000000000000000000000000..1f0fa82b0e20513b72d73a33961fd17d73333ebc --- /dev/null +++ b/examples/actors/xdfAST/XDF.java @@ -0,0 +1,375 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class XDF extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + root_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public XDF clone() throws CloneNotSupportedException { + XDF node = (XDF)super.clone(); + node.getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + node.genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + node.root_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XDF copy() { + try { + XDF node = (XDF)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XDF fullCopy() { + XDF res = (XDF)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 512 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<XDF "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</XDF> "); + } + } + + // Declared in MergeActors.jrag at line 21 + + void mergeActors() { + HashSet<Instance> schedule = genStaticSchedule(new HashSet<Instance>()); + HashSet<Connection> cons = getConnections(new HashSet<Connection>()); + for (Instance i : schedule) { + while (i.next != null) { +// System.out.println("Searching connections for: "+i.name()+" "+i.next.name()); + for (Connection c : cons) { + System.out.println(" "+c.getSource().name()+" "+c.getDest().name()); + if (c.getSource() == i && c.getDest() == i.next) { +// System.out.println(" Found"); + // Check port names and perform actual actor + // merge. Then set remove_me flag so that this + // connection will be removed from the actor + // network. + c.remove_me = true; + c.is$Final(false); + } else if (c.getSource() == i.next) { + c.setSource(i.id()); + } + } + i.merge(i.next); + i.setName(i.name()+"_"+i.next.name()); + i.next.remove_me = true; + i.next.is$Final(false); + i.next = i.next.next; + } + } + // Now generate files for the newly merged actor instances. + for (Instance i : getInstances()) {} + } + + // Declared in MergeActors.jrag at line 78 + + + public HashSet<Instance> getInstances() { + return getInstances(new HashSet<Instance>()); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 64 + + public XDF(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public XDF(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public XDF() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 64 + public XDF(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XDF"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected java.util.Map getConnections_HashSet_Connection__visited; + // Declared in MergeActors.jrag at line 67 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Connection> getConnections(HashSet<Connection> set) { + Object _parameters = set; +if(getConnections_HashSet_Connection__visited == null) getConnections_HashSet_Connection__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getConnections_HashSet_Connection__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getConnections in class: "); + getConnections_HashSet_Connection__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Connection> getConnections_HashSet_Connection__value = getConnections_compute(set); + getConnections_HashSet_Connection__visited.remove(_parameters); + return getConnections_HashSet_Connection__value; + } + + private HashSet<Connection> getConnections_compute(HashSet<Connection> set) { + for (Element e : getElements()) { + set = e.getConnections(set); + } + return set; + } + + protected java.util.Map genStaticSchedule_HashSet_Instance__visited; + // Declared in SSR.jrag at line 59 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<Instance> genStaticSchedule(HashSet<Instance> l) { + Object _parameters = l; +if(genStaticSchedule_HashSet_Instance__visited == null) genStaticSchedule_HashSet_Instance__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(genStaticSchedule_HashSet_Instance__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: genStaticSchedule in class: "); + genStaticSchedule_HashSet_Instance__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<Instance> genStaticSchedule_HashSet_Instance__value = genStaticSchedule_compute(l); + genStaticSchedule_HashSet_Instance__visited.remove(_parameters); + return genStaticSchedule_HashSet_Instance__value; + } + + private HashSet<Instance> genStaticSchedule_compute(HashSet<Instance> l) { + for (int i=0; i<getNumElement(); i++) { + l = getElement(i).genStaticSchedule(l); + } + return l; + } + + protected int root_visited = -1; + // Declared in SSR.jrag at line 119 + @SuppressWarnings({"unchecked", "cast"}) public XDF root() { + if(root_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: root in class: "); + root_visited = boundariesCrossed; + XDF root_value = root_compute(); + root_visited = -1; + return root_value; + } + + private XDF root_compute() { return this; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/XmlHeader.java b/examples/actors/xdfAST/XmlHeader.java new file mode 100644 index 0000000000000000000000000000000000000000..c8de4cf30acac2dfe1fc5469916b5dcf045f197f --- /dev/null +++ b/examples/actors/xdfAST/XmlHeader.java @@ -0,0 +1,194 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class XmlHeader extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public XmlHeader clone() throws CloneNotSupportedException { + XmlHeader node = (XmlHeader)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlHeader copy() { + try { + XmlHeader node = (XmlHeader)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlHeader fullCopy() { + XmlHeader res = (XmlHeader)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 15 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print("<?xml "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(indent,pStream); + } + pStream.println("?> "); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 7 + + public XmlHeader(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public XmlHeader(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public XmlHeader() { + this(0); + + setChild(new List(), 0); + + } + + // Declared in xdf.ast at line 18 + + + // Declared in xdf.ast line 7 + public XmlHeader(List<Attribute> p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 22 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XmlHeader"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 29 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 33 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 38 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of XmlHeader has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } +} + + // Declared in xdf.ast at line 46 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 49 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 7 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/XmlParser.java b/examples/actors/xdfAST/XmlParser.java new file mode 100644 index 0000000000000000000000000000000000000000..b3e7a668a2fb5caffea0ce23ff69f4bd13baa799 --- /dev/null +++ b/examples/actors/xdfAST/XmlParser.java @@ -0,0 +1,2672 @@ +/* Generated By:JJTree&JavaCC: Do not edit this line. XmlParser.java */ + package xdfAST; + public class XmlParser/*@bgen(jjtree)*/implements XmlParserTreeConstants, XmlParserConstants {/*@bgen(jjtree)*/ + protected JJTXmlParserState jjtree = new JJTXmlParserState(); + + // OPERATORS + final public Start Start() throws ParseException { + /*@bgen(jjtree) Start */ + Start jjtn000 = new Start(JJTSTART); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + Specification(); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + {if (true) return jjtn000;} + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + throw new Error("Missing return statement in function"); + } + + final public void Specification() throws ParseException { + /*@bgen(jjtree) Specification */ + Specification jjtn000 = new Specification(JJTSPECIFICATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + XmlHeader(); + Opt jjtn001 = new Opt(JJTOPT); + boolean jjtc001 = true; + jjtree.openNodeScope(jjtn001); + try { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case LTBANG: + DocType(); + break; + default: + jj_la1[0] = jj_gen; + ; + } + } catch (Throwable jjte001) { + if (jjtc001) { + jjtree.clearNodeScope(jjtn001); + jjtc001 = false; + } else { + jjtree.popNode(); + } + if (jjte001 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte001;} + } + if (jjte001 instanceof ParseException) { + {if (true) throw (ParseException)jjte001;} + } + {if (true) throw (Error)jjte001;} + } finally { + if (jjtc001) { + jjtree.closeNodeScope(jjtn001, true); + } + } + ElementList(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void DocType() throws ParseException { + /*@bgen(jjtree) DocType */ + DocType jjtn000 = new DocType(JJTDOCTYPE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);String s; + try { + jj_consume_token(LTBANG); + s = new String(); + if (getToken(1).kind != GT ) { + s += getData(); + } + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setSTRING(s); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + String getData() throws ParseException { + StringBuffer s = new StringBuffer(); +// jjtThis.someData = true; + while ((getToken(1)).kind != LT && (getToken(1)).kind != LTSLASH) { + Token t = getNextToken(); + if (t.specialToken != null) { + Token tmp_t = t.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + s.append(tmp_t.image); + tmp_t = tmp_t.next; + } + } + s.append(t.image); + s.append(" "); + } + return s.toString(); + } + + final public void XmlHeader() throws ParseException { + /*@bgen(jjtree) XmlHeader */ + XmlHeader jjtn000 = new XmlHeader(JJTXMLHEADER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(LTQ); + jj_consume_token(XML); + AttributeList(); + jj_consume_token(QGT); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void ElementList() throws ParseException { + /*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + label_1: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + ; + break; + default: + jj_la1[1] = jj_gen; + break label_1; + } + Element(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void AttributeList() throws ParseException { + /*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + label_2: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case encoding: + case version: + case XsiNoNamespaceSchemaLocation: + case XmlnsXsi: + case text_end_line: + case text_begin_line: + case name: + case from: + case dst_port: + case src: + case literal_kind: + case assignable: + case initial_state: + case dst: + case id: + case port: + case text_begin_col: + case src_port: + case text_end_col: + case value: + case kind: + case _to: + ; + break; + default: + jj_la1[2] = jj_gen; + break label_2; + } + Attribute(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void AttrValue() throws ParseException { + /*@bgen(jjtree) AttrValue */ + AttrValue jjtn000 = new AttrValue(JJTATTRVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; + try { + t = jj_consume_token(STRING_LITERAL); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(t.image); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Encoding() throws ParseException { + /*@bgen(jjtree) Encoding */ + Encoding jjtn000 = new Encoding(JJTENCODING); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(encoding); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Version() throws ParseException { + /*@bgen(jjtree) Version */ + Version jjtn000 = new Version(JJTVERSION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(version); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void XsiNoNamespaceSchemaLocation() throws ParseException { + /*@bgen(jjtree) XsiNoNamespaceSchemaLocation */ + XsiNoNamespaceSchemaLocation jjtn000 = new XsiNoNamespaceSchemaLocation(JJTXSINONAMESPACESCHEMALOCATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(XsiNoNamespaceSchemaLocation); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void XmlnsXsi() throws ParseException { + /*@bgen(jjtree) XmlnsXsi */ + XmlnsXsi jjtn000 = new XmlnsXsi(JJTXMLNSXSI); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(XmlnsXsi); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Element() throws ParseException { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case LT: + jj_consume_token(LT); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case ActionTags: + ActionTags(); + break; + case Stmt: + Stmt(); + break; + case _Attribute: + _Attribute(); + break; + case Action: + Action(); + break; + case QID: + QID(); + break; + case Transition: + Transition(); + break; + case Output: + Output(); + break; + case Parameter: + Parameter(); + break; + case XDF: + XDF(); + break; + case Args: + Args(); + break; + case Entry: + Entry(); + break; + case Expr: + Expr(); + break; + case Note: + Note(); + break; + case Guards: + Guards(); + break; + case Actor: + Actor(); + break; + case Decl: + Decl(); + break; + case ID: + ID(); + break; + case Type: + Type(); + break; + case Import: + Import(); + break; + case Op: + Op(); + break; + case Port: + Port(); + break; + case Input: + Input(); + break; + case Class: + Class(); + break; + case Schedule: + Schedule(); + break; + case Connection: + Connection(); + break; + case Instance: + Instance(); + break; + default: + jj_la1[3] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + SimpleElement(); + break; + default: + jj_la1[4] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void SimpleElement() throws ParseException { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case INTEGER_LITERAL: + IntElement(); + break; + case FLOAT_LITERAL: + FloatElement(); + break; + case IDENTIFIER: + StringElement(); + break; + default: + jj_la1[5] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void IntElement() throws ParseException { + /*@bgen(jjtree) IntElement */ + IntElement jjtn000 = new IntElement(JJTINTELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; + try { + t = jj_consume_token(INTEGER_LITERAL); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(t.image); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void FloatElement() throws ParseException { + /*@bgen(jjtree) FloatElement */ + FloatElement jjtn000 = new FloatElement(JJTFLOATELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; + try { + t = jj_consume_token(FLOAT_LITERAL); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(t.image); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void StringElement() throws ParseException { + /*@bgen(jjtree) StringElement */ + StringElement jjtn000 = new StringElement(JJTSTRINGELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t;String s; + try { + t = jj_consume_token(IDENTIFIER); + s = t.image; + if (getToken(1).kind != GT ) { + s += getData(); + } + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(s); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Attribute() throws ParseException { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case encoding: + Encoding(); + break; + case version: + Version(); + break; + case XsiNoNamespaceSchemaLocation: + XsiNoNamespaceSchemaLocation(); + break; + case XmlnsXsi: + XmlnsXsi(); + break; + case _to: + _to(); + break; + case literal_kind: + literal_kind(); + break; + case src: + src(); + break; + case kind: + kind(); + break; + case text_begin_col: + text_begin_col(); + break; + case port: + port(); + break; + case dst_port: + dst_port(); + break; + case initial_state: + initial_state(); + break; + case id: + id(); + break; + case value: + value(); + break; + case from: + from(); + break; + case text_end_line: + text_end_line(); + break; + case text_end_col: + text_end_col(); + break; + case src_port: + src_port(); + break; + case assignable: + assignable(); + break; + case text_begin_line: + text_begin_line(); + break; + case dst: + dst(); + break; + case name: + name(); + break; + default: + jj_la1[6] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void Output() throws ParseException { + /*@bgen(jjtree) Output */ + Output jjtn000 = new Output(JJTOUTPUT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Output); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Output); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[7] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Class() throws ParseException { + /*@bgen(jjtree) Class */ + Class jjtn000 = new Class(JJTCLASS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Class); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Class); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[8] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Op() throws ParseException { + /*@bgen(jjtree) Op */ + Op jjtn000 = new Op(JJTOP); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Op); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Op); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[9] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Parameter() throws ParseException { + /*@bgen(jjtree) Parameter */ + Parameter jjtn000 = new Parameter(JJTPARAMETER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Parameter); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Parameter); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[10] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void QID() throws ParseException { + /*@bgen(jjtree) QID */ + QID jjtn000 = new QID(JJTQID); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(QID); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(QID); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[11] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void text_end_line() throws ParseException { + /*@bgen(jjtree) text_end_line */ + text_end_line jjtn000 = new text_end_line(JJTTEXT_END_LINE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(text_end_line); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Connection() throws ParseException { + /*@bgen(jjtree) Connection */ + Connection jjtn000 = new Connection(JJTCONNECTION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Connection); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Connection); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[12] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Note() throws ParseException { + /*@bgen(jjtree) Note */ + Note jjtn000 = new Note(JJTNOTE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Note); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Note); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[13] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void text_begin_line() throws ParseException { + /*@bgen(jjtree) text_begin_line */ + text_begin_line jjtn000 = new text_begin_line(JJTTEXT_BEGIN_LINE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(text_begin_line); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void name() throws ParseException { + /*@bgen(jjtree) name */ + name jjtn000 = new name(JJTNAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(name); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void from() throws ParseException { + /*@bgen(jjtree) from */ + from jjtn000 = new from(JJTFROM); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(from); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Instance() throws ParseException { + /*@bgen(jjtree) Instance */ + Instance jjtn000 = new Instance(JJTINSTANCE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Instance); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Instance); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[14] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Entry() throws ParseException { + /*@bgen(jjtree) Entry */ + Entry jjtn000 = new Entry(JJTENTRY); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Entry); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Entry); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[15] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void dst_port() throws ParseException { + /*@bgen(jjtree) dst_port */ + dst_port jjtn000 = new dst_port(JJTDST_PORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(dst_port); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Guards() throws ParseException { + /*@bgen(jjtree) Guards */ + Guards jjtn000 = new Guards(JJTGUARDS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Guards); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Guards); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[16] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void src() throws ParseException { + /*@bgen(jjtree) src */ + src jjtn000 = new src(JJTSRC); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(src); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void ID() throws ParseException { + /*@bgen(jjtree) ID */ + ID jjtn000 = new ID(JJTID); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(ID); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(ID); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[17] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Action() throws ParseException { + /*@bgen(jjtree) Action */ + Action jjtn000 = new Action(JJTACTION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Action); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Action); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[18] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Import() throws ParseException { + /*@bgen(jjtree) Import */ + Import jjtn000 = new Import(JJTIMPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Import); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Import); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[19] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Port() throws ParseException { + /*@bgen(jjtree) Port */ + Port jjtn000 = new Port(JJTPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Port); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Port); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[20] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void literal_kind() throws ParseException { + /*@bgen(jjtree) literal_kind */ + literal_kind jjtn000 = new literal_kind(JJTLITERAL_KIND); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(literal_kind); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Transition() throws ParseException { + /*@bgen(jjtree) Transition */ + Transition jjtn000 = new Transition(JJTTRANSITION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Transition); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Transition); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[21] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void assignable() throws ParseException { + /*@bgen(jjtree) assignable */ + assignable jjtn000 = new assignable(JJTASSIGNABLE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(assignable); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void initial_state() throws ParseException { + /*@bgen(jjtree) initial_state */ + initial_state jjtn000 = new initial_state(JJTINITIAL_STATE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(initial_state); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void ActionTags() throws ParseException { + /*@bgen(jjtree) ActionTags */ + ActionTags jjtn000 = new ActionTags(JJTACTIONTAGS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(ActionTags); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(ActionTags); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[22] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Args() throws ParseException { + /*@bgen(jjtree) Args */ + Args jjtn000 = new Args(JJTARGS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Args); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Args); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[23] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void dst() throws ParseException { + /*@bgen(jjtree) dst */ + dst jjtn000 = new dst(JJTDST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(dst); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void id() throws ParseException { + /*@bgen(jjtree) id */ + id jjtn000 = new id(JJTID); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(id); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Expr() throws ParseException { + /*@bgen(jjtree) Expr */ + Expr jjtn000 = new Expr(JJTEXPR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Expr); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Expr); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[24] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void port() throws ParseException { + /*@bgen(jjtree) port */ + port jjtn000 = new port(JJTPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(port); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void text_begin_col() throws ParseException { + /*@bgen(jjtree) text_begin_col */ + text_begin_col jjtn000 = new text_begin_col(JJTTEXT_BEGIN_COL); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(text_begin_col); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void src_port() throws ParseException { + /*@bgen(jjtree) src_port */ + src_port jjtn000 = new src_port(JJTSRC_PORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(src_port); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void text_end_col() throws ParseException { + /*@bgen(jjtree) text_end_col */ + text_end_col jjtn000 = new text_end_col(JJTTEXT_END_COL); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(text_end_col); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void value() throws ParseException { + /*@bgen(jjtree) value */ + value jjtn000 = new value(JJTVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(value); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Decl() throws ParseException { + /*@bgen(jjtree) Decl */ + Decl jjtn000 = new Decl(JJTDECL); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Decl); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Decl); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[25] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Input() throws ParseException { + /*@bgen(jjtree) Input */ + Input jjtn000 = new Input(JJTINPUT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Input); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Input); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[26] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void kind() throws ParseException { + /*@bgen(jjtree) kind */ + kind jjtn000 = new kind(JJTKIND); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(kind); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Stmt() throws ParseException { + /*@bgen(jjtree) Stmt */ + Stmt jjtn000 = new Stmt(JJTSTMT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Stmt); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Stmt); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[27] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Type() throws ParseException { + /*@bgen(jjtree) Type */ + Type jjtn000 = new Type(JJTTYPE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Type); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Type); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[28] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void XDF() throws ParseException { + /*@bgen(jjtree) XDF */ + XDF jjtn000 = new XDF(JJTXDF); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(XDF); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(XDF); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[29] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void _Attribute() throws ParseException { + /*@bgen(jjtree) _Attribute */ + _Attribute jjtn000 = new _Attribute(JJT_ATTRIBUTE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(_Attribute); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(_Attribute); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[30] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Schedule() throws ParseException { + /*@bgen(jjtree) Schedule */ + Schedule jjtn000 = new Schedule(JJTSCHEDULE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Schedule); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Schedule); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[31] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void _to() throws ParseException { + /*@bgen(jjtree) _to */ + _to jjtn000 = new _to(JJT_TO); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(_to); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Actor() throws ParseException { + /*@bgen(jjtree) Actor */ + Actor jjtn000 = new Actor(JJTACTOR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(Actor); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(Actor); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 81: + ElementList(); + jj_consume_token(81); + break; + default: + jj_la1[32] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + public XmlParserTokenManager token_source; + JavaCharStream jj_input_stream; + public Token token, jj_nt; + private int jj_ntk; + private int jj_gen; + final private int[] jj_la1 = new int[33]; + static private int[] jj_la1_0; + static private int[] jj_la1_1; + static private int[] jj_la1_2; + static { + jj_la1_0(); + jj_la1_1(); + jj_la1_2(); + } + private static void jj_la1_0() { + jj_la1_0 = new int[] {0x0,0x0,0x29c83c00,0xd637c000,0x0,0x0,0x29c83c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + } + private static void jj_la1_1() { + jj_la1_1 = new int[] {0x0,0x44000000,0x104fb34,0x2fb04cb,0x44000000,0x44000000,0x104fb34,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,}; + } + private static void jj_la1_2() { + jj_la1_2 = new int[] {0x800,0x1004,0x0,0x0,0x1004,0x4,0x0,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,0x25004,}; + } + + public XmlParser(java.io.InputStream stream) { + this(stream, null); + } + public XmlParser(java.io.InputStream stream, String encoding) { + try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } + token_source = new XmlParserTokenManager(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 33; i++) jj_la1[i] = -1; + } + + public void ReInit(java.io.InputStream stream) { + ReInit(stream, null); + } + public void ReInit(java.io.InputStream stream, String encoding) { + try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } + token_source.ReInit(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jjtree.reset(); + jj_gen = 0; + for (int i = 0; i < 33; i++) jj_la1[i] = -1; + } + + public XmlParser(java.io.Reader stream) { + jj_input_stream = new JavaCharStream(stream, 1, 1); + token_source = new XmlParserTokenManager(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 33; i++) jj_la1[i] = -1; + } + + public void ReInit(java.io.Reader stream) { + jj_input_stream.ReInit(stream, 1, 1); + token_source.ReInit(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jjtree.reset(); + jj_gen = 0; + for (int i = 0; i < 33; i++) jj_la1[i] = -1; + } + + public XmlParser(XmlParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 33; i++) jj_la1[i] = -1; + } + + public void ReInit(XmlParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jjtree.reset(); + jj_gen = 0; + for (int i = 0; i < 33; i++) jj_la1[i] = -1; + } + + final private Token jj_consume_token(int kind) throws ParseException { + Token oldToken; + if ((oldToken = token).next != null) token = token.next; + else token = token.next = token_source.getNextToken(); + jj_ntk = -1; + if (token.kind == kind) { + jj_gen++; + return token; + } + token = oldToken; + jj_kind = kind; + throw generateParseException(); + } + + final public Token getNextToken() { + if (token.next != null) token = token.next; + else token = token.next = token_source.getNextToken(); + jj_ntk = -1; + jj_gen++; + return token; + } + + final public Token getToken(int index) { + Token t = token; + for (int i = 0; i < index; i++) { + if (t.next != null) t = t.next; + else t = t.next = token_source.getNextToken(); + } + return t; + } + + final private int jj_ntk() { + if ((jj_nt=token.next) == null) + return (jj_ntk = (token.next=token_source.getNextToken()).kind); + else + return (jj_ntk = jj_nt.kind); + } + + private java.util.Vector jj_expentries = new java.util.Vector(); + private int[] jj_expentry; + private int jj_kind = -1; + + public ParseException generateParseException() { + jj_expentries.removeAllElements(); + boolean[] la1tokens = new boolean[82]; + for (int i = 0; i < 82; i++) { + la1tokens[i] = false; + } + if (jj_kind >= 0) { + la1tokens[jj_kind] = true; + jj_kind = -1; + } + for (int i = 0; i < 33; i++) { + if (jj_la1[i] == jj_gen) { + for (int j = 0; j < 32; j++) { + if ((jj_la1_0[i] & (1<<j)) != 0) { + la1tokens[j] = true; + } + if ((jj_la1_1[i] & (1<<j)) != 0) { + la1tokens[32+j] = true; + } + if ((jj_la1_2[i] & (1<<j)) != 0) { + la1tokens[64+j] = true; + } + } + } + } + for (int i = 0; i < 82; i++) { + if (la1tokens[i]) { + jj_expentry = new int[1]; + jj_expentry[0] = i; + jj_expentries.addElement(jj_expentry); + } + } + int[][] exptokseq = new int[jj_expentries.size()][]; + for (int i = 0; i < jj_expentries.size(); i++) { + exptokseq[i] = (int[])jj_expentries.elementAt(i); + } + return new ParseException(token, exptokseq, tokenImage); + } + + final public void enable_tracing() { + } + + final public void disable_tracing() { + } + +} diff --git a/examples/actors/xdfAST/XmlParserConstants.java b/examples/actors/xdfAST/XmlParserConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..e427e86af84f6548555c14475649e95147d85f1a --- /dev/null +++ b/examples/actors/xdfAST/XmlParserConstants.java @@ -0,0 +1,170 @@ +/* Generated By:JJTree&JavaCC: Do not edit this line. XmlParserConstants.java */ +package xdfAST; + +public interface XmlParserConstants { + + int EOF = 0; + int XML = 7; + int DOCTYPE = 8; + int PUBLIC = 9; + int encoding = 10; + int version = 11; + int XsiNoNamespaceSchemaLocation = 12; + int XmlnsXsi = 13; + int Output = 14; + int Class = 15; + int Op = 16; + int Parameter = 17; + int QID = 18; + int text_end_line = 19; + int Connection = 20; + int Note = 21; + int text_begin_line = 22; + int name = 23; + int from = 24; + int Instance = 25; + int Entry = 26; + int dst_port = 27; + int Guards = 28; + int src = 29; + int ID = 30; + int Action = 31; + int Import = 32; + int Port = 33; + int literal_kind = 34; + int Transition = 35; + int assignable = 36; + int initial_state = 37; + int ActionTags = 38; + int Args = 39; + int dst = 40; + int id = 41; + int Expr = 42; + int port = 43; + int text_begin_col = 44; + int src_port = 45; + int text_end_col = 46; + int value = 47; + int Decl = 48; + int Input = 49; + int kind = 50; + int Stmt = 51; + int Type = 52; + int XDF = 53; + int _Attribute = 54; + int Schedule = 55; + int _to = 56; + int Actor = 57; + int INTEGER_LITERAL = 58; + int DECIMAL_LITERAL = 59; + int HEX_LITERAL = 60; + int OCTAL_LITERAL = 61; + int FLOAT_LITERAL = 62; + int EXPONENT = 63; + int CHARACTER_LITERAL = 64; + int STRING_LITERAL = 65; + int IDENTIFIER = 66; + int LETTER = 67; + int DIGIT = 68; + int LBRACE = 69; + int RBRACE = 70; + int LBRACKET = 71; + int RBRACKET = 72; + int SEMICOLON = 73; + int LTSLASH = 74; + int LTBANG = 75; + int LT = 76; + int LTQ = 77; + int GT = 78; + int QGT = 79; + int ASSIGN = 80; + + int DEFAULT = 0; + int BOUNDS = 1; + + String[] tokenImage = { + "<EOF>", + "\" \"", + "\"\\t\"", + "\"\\n\"", + "\"\\r\"", + "\"\\f\"", + "<token of kind 6>", + "\"xml\"", + "\"DOCTYPE\"", + "\"PUBLIC\"", + "\"encoding\"", + "\"version\"", + "\"xsi:noNamespaceSchemaLocation\"", + "\"xmlns:xsi\"", + "\"Output\"", + "\"Class\"", + "\"Op\"", + "\"Parameter\"", + "\"QID\"", + "\"text-end-line\"", + "\"Connection\"", + "\"Note\"", + "\"text-begin-line\"", + "\"name\"", + "\"from\"", + "\"Instance\"", + "\"Entry\"", + "\"dst-port\"", + "\"Guards\"", + "\"src\"", + "\"ID\"", + "\"Action\"", + "\"Import\"", + "\"Port\"", + "\"literal-kind\"", + "\"Transition\"", + "\"assignable\"", + "\"initial-state\"", + "\"ActionTags\"", + "\"Args\"", + "\"dst\"", + "\"id\"", + "\"Expr\"", + "\"port\"", + "\"text-begin-col\"", + "\"src-port\"", + "\"text-end-col\"", + "\"value\"", + "\"Decl\"", + "\"Input\"", + "\"kind\"", + "\"Stmt\"", + "\"Type\"", + "\"XDF\"", + "\"Attribute\"", + "\"Schedule\"", + "\"to\"", + "\"Actor\"", + "<INTEGER_LITERAL>", + "<DECIMAL_LITERAL>", + "<HEX_LITERAL>", + "<OCTAL_LITERAL>", + "<FLOAT_LITERAL>", + "<EXPONENT>", + "<CHARACTER_LITERAL>", + "<STRING_LITERAL>", + "<IDENTIFIER>", + "<LETTER>", + "<DIGIT>", + "\"{\"", + "\"}\"", + "\"[\"", + "\"]\"", + "\";\"", + "\"</\"", + "\"<!\"", + "\"<\"", + "\"<?\"", + "\">\"", + "\"?>\"", + "\"=\"", + "\"/>\"", + }; + +} diff --git a/examples/actors/xdfAST/XmlParserTokenManager.java b/examples/actors/xdfAST/XmlParserTokenManager.java new file mode 100644 index 0000000000000000000000000000000000000000..daab5cf1a8e89cdad8126c7a677018e27fc61967 --- /dev/null +++ b/examples/actors/xdfAST/XmlParserTokenManager.java @@ -0,0 +1,2612 @@ +/* Generated By:JJTree&JavaCC: Do not edit this line. XmlParserTokenManager.java */ +package xdfAST; + +public class XmlParserTokenManager implements XmlParserConstants +{ + public java.io.PrintStream debugStream = System.out; + public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } +private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1) +{ + switch (pos) + { + case 0: + if ((active0 & 0x3ffffffffffff80L) != 0L) + { + jjmatchedKind = 66; + return 22; + } + if ((active1 & 0x3c00L) != 0L) + return 7; + return -1; + case 1: + if ((active0 & 0x100020040010000L) != 0L) + return 22; + if ((active1 & 0x800L) != 0L) + return 6; + if ((active0 & 0x2fffdffbffeff80L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 1; + return 22; + } + return -1; + case 2: + if ((active0 & 0x20210028042080L) != 0L) + return 22; + if ((active0 & 0x2dfdcff97fadf00L) != 0L) + { + if (jjmatchedPos != 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return 22; + } + return -1; + case 3: + if ((active0 & 0x1d0c8201a00000L) != 0L) + return 22; + if ((active0 & 0x2c2f07d9e5aef00L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 3; + return 22; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 4: + if ((active0 & 0x202800004008000L) != 0L) + return 22; + if ((active0 & 0xc0707d9a5a6f00L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 4; + return 22; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 5: + if ((active0 & 0x4190004200L) != 0L) + return 22; + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 66; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0xc0703c0a5a0d00L) != 0L) + { + if (jjmatchedPos != 5) + { + jjmatchedKind = 66; + jjmatchedPos = 5; + } + return 22; + } + return -1; + case 6: + if ((active0 & 0x900L) != 0L) + return 22; + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 66; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0xc0707c0a5a0400L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 6; + return 22; + } + return -1; + case 7: + if ((active0 & 0x8020000a000400L) != 0L) + return 22; + if ((active0 & 0x40507c005a0000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 7; + return 22; + } + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 66; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 8: + if ((active0 & 0x40000000020000L) != 0L) + return 22; + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 66; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0x507c00580000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 8; + return 22; + } + return -1; + case 9: + if ((active0 & 0x5800100000L) != 0L) + return 22; + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0x502400480000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 9; + return 22; + } + return -1; + case 10: + if ((active0 & 0x502400480000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 10; + return 22; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 11: + if ((active0 & 0x400400000000L) != 0L) + return 22; + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0x102000480000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 11; + return 22; + } + return -1; + case 12: + if ((active0 & 0x100000400000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 12; + return 22; + } + if ((active0 & 0x2000080000L) != 0L) + return 22; + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 13: + if ((active0 & 0x100000000000L) != 0L) + return 22; + if ((active0 & 0x400000L) != 0L) + { + jjmatchedKind = 66; + jjmatchedPos = 13; + return 22; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 14: + if ((active0 & 0x400000L) != 0L) + return 22; + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 15: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 16: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 17: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 18: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 19: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 20: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 21: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 22: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 23: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 24: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 25: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 26: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 27: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 66; + jjmatchedPos = 2; + } + return -1; + } + return -1; + default : + return -1; + } +} +private final int jjStartNfa_0(int pos, long active0, long active1) +{ + return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos + 1); +} +private final int jjStopAtPos(int pos, int kind) +{ + jjmatchedKind = kind; + jjmatchedPos = pos; + return pos + 1; +} +private final int jjStartNfaWithStates_0(int pos, int kind, int state) +{ + jjmatchedKind = kind; + jjmatchedPos = pos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return pos + 1; } + return jjMoveNfa_0(state, pos + 1); +} +private final int jjMoveStringLiteralDfa0_0() +{ + switch(curChar) + { + case 9: + return jjStopAtPos(0, 2); + case 10: + return jjStopAtPos(0, 3); + case 12: + return jjStopAtPos(0, 5); + case 13: + return jjStopAtPos(0, 4); + case 32: + return jjStopAtPos(0, 1); + case 47: + return jjMoveStringLiteralDfa1_0(0x0L, 0x20000L); + case 59: + return jjStopAtPos(0, 73); + case 60: + jjmatchedKind = 76; + return jjMoveStringLiteralDfa1_0(0x0L, 0x2c00L); + case 61: + return jjStopAtPos(0, 80); + case 62: + return jjStopAtPos(0, 78); + case 63: + return jjMoveStringLiteralDfa1_0(0x0L, 0x8000L); + case 65: + return jjMoveStringLiteralDfa1_0(0x24000c080000000L, 0x0L); + case 67: + return jjMoveStringLiteralDfa1_0(0x108000L, 0x0L); + case 68: + return jjMoveStringLiteralDfa1_0(0x1000000000100L, 0x0L); + case 69: + return jjMoveStringLiteralDfa1_0(0x40004000000L, 0x0L); + case 71: + return jjMoveStringLiteralDfa1_0(0x10000000L, 0x0L); + case 73: + return jjMoveStringLiteralDfa1_0(0x2000142000000L, 0x0L); + case 78: + return jjMoveStringLiteralDfa1_0(0x200000L, 0x0L); + case 79: + return jjMoveStringLiteralDfa1_0(0x14000L, 0x0L); + case 80: + return jjMoveStringLiteralDfa1_0(0x200020200L, 0x0L); + case 81: + return jjMoveStringLiteralDfa1_0(0x40000L, 0x0L); + case 83: + return jjMoveStringLiteralDfa1_0(0x88000000000000L, 0x0L); + case 84: + return jjMoveStringLiteralDfa1_0(0x10000800000000L, 0x0L); + case 88: + return jjMoveStringLiteralDfa1_0(0x20000000000000L, 0x0L); + case 91: + return jjStopAtPos(0, 71); + case 93: + return jjStopAtPos(0, 72); + case 97: + return jjMoveStringLiteralDfa1_0(0x1000000000L, 0x0L); + case 100: + return jjMoveStringLiteralDfa1_0(0x10008000000L, 0x0L); + case 101: + return jjMoveStringLiteralDfa1_0(0x400L, 0x0L); + case 102: + return jjMoveStringLiteralDfa1_0(0x1000000L, 0x0L); + case 105: + return jjMoveStringLiteralDfa1_0(0x22000000000L, 0x0L); + case 107: + return jjMoveStringLiteralDfa1_0(0x4000000000000L, 0x0L); + case 108: + return jjMoveStringLiteralDfa1_0(0x400000000L, 0x0L); + case 110: + return jjMoveStringLiteralDfa1_0(0x800000L, 0x0L); + case 112: + return jjMoveStringLiteralDfa1_0(0x80000000000L, 0x0L); + case 115: + return jjMoveStringLiteralDfa1_0(0x200020000000L, 0x0L); + case 116: + return jjMoveStringLiteralDfa1_0(0x100500000480000L, 0x0L); + case 118: + return jjMoveStringLiteralDfa1_0(0x800000000800L, 0x0L); + case 120: + return jjMoveStringLiteralDfa1_0(0x3080L, 0x0L); + case 123: + return jjStopAtPos(0, 69); + case 125: + return jjStopAtPos(0, 70); + default : + return jjMoveNfa_0(8, 0); + } +} +private final int jjMoveStringLiteralDfa1_0(long active0, long active1) +{ + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(0, active0, active1); + return 1; + } + switch(curChar) + { + case 33: + if ((active1 & 0x800L) != 0L) + return jjStartNfaWithStates_0(1, 75, 6); + break; + case 47: + if ((active1 & 0x400L) != 0L) + return jjStopAtPos(1, 74); + break; + case 62: + if ((active1 & 0x8000L) != 0L) + return jjStopAtPos(1, 79); + else if ((active1 & 0x20000L) != 0L) + return jjStopAtPos(1, 81); + break; + case 63: + if ((active1 & 0x2000L) != 0L) + return jjStopAtPos(1, 77); + break; + case 68: + if ((active0 & 0x40000000L) != 0L) + return jjStartNfaWithStates_0(1, 30, 22); + return jjMoveStringLiteralDfa2_0(active0, 0x20000000000000L, active1, 0L); + case 73: + return jjMoveStringLiteralDfa2_0(active0, 0x40000L, active1, 0L); + case 79: + return jjMoveStringLiteralDfa2_0(active0, 0x100L, active1, 0L); + case 85: + return jjMoveStringLiteralDfa2_0(active0, 0x200L, active1, 0L); + case 97: + return jjMoveStringLiteralDfa2_0(active0, 0x800000820000L, active1, 0L); + case 99: + return jjMoveStringLiteralDfa2_0(active0, 0x280004080000000L, active1, 0L); + case 100: + if ((active0 & 0x20000000000L) != 0L) + return jjStartNfaWithStates_0(1, 41, 22); + break; + case 101: + return jjMoveStringLiteralDfa2_0(active0, 0x1500000480800L, active1, 0L); + case 105: + return jjMoveStringLiteralDfa2_0(active0, 0x4000400000000L, active1, 0L); + case 108: + return jjMoveStringLiteralDfa2_0(active0, 0x8000L, active1, 0L); + case 109: + return jjMoveStringLiteralDfa2_0(active0, 0x100002080L, active1, 0L); + case 110: + return jjMoveStringLiteralDfa2_0(active0, 0x2002006000400L, active1, 0L); + case 111: + if ((active0 & 0x100000000000000L) != 0L) + return jjStartNfaWithStates_0(1, 56, 22); + return jjMoveStringLiteralDfa2_0(active0, 0x80200300000L, active1, 0L); + case 112: + if ((active0 & 0x10000L) != 0L) + return jjStartNfaWithStates_0(1, 16, 22); + break; + case 114: + return jjMoveStringLiteralDfa2_0(active0, 0x208821000000L, active1, 0L); + case 115: + return jjMoveStringLiteralDfa2_0(active0, 0x11008001000L, active1, 0L); + case 116: + return jjMoveStringLiteralDfa2_0(active0, 0x48000000000000L, active1, 0L); + case 117: + return jjMoveStringLiteralDfa2_0(active0, 0x10004000L, active1, 0L); + case 120: + return jjMoveStringLiteralDfa2_0(active0, 0x40000000000L, active1, 0L); + case 121: + return jjMoveStringLiteralDfa2_0(active0, 0x10000000000000L, active1, 0L); + default : + break; + } + return jjStartNfa_0(0, active0, active1); +} +private final int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1) +{ + if (((active0 &= old0) | (active1 &= old1)) == 0L) + return jjStartNfa_0(0, old0, old1); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(1, active0, 0L); + return 2; + } + switch(curChar) + { + case 66: + return jjMoveStringLiteralDfa3_0(active0, 0x200L); + case 67: + return jjMoveStringLiteralDfa3_0(active0, 0x100L); + case 68: + if ((active0 & 0x40000L) != 0L) + return jjStartNfaWithStates_0(2, 18, 22); + break; + case 70: + if ((active0 & 0x20000000000000L) != 0L) + return jjStartNfaWithStates_0(2, 53, 22); + break; + case 97: + return jjMoveStringLiteralDfa3_0(active0, 0x810008000L); + case 99: + if ((active0 & 0x20000000L) != 0L) + { + jjmatchedKind = 29; + jjmatchedPos = 2; + } + return jjMoveStringLiteralDfa3_0(active0, 0x1200000000400L); + case 103: + return jjMoveStringLiteralDfa3_0(active0, 0x8000000000L); + case 104: + return jjMoveStringLiteralDfa3_0(active0, 0x80000000000000L); + case 105: + return jjMoveStringLiteralDfa3_0(active0, 0x2000001000L); + case 108: + if ((active0 & 0x80L) != 0L) + { + jjmatchedKind = 7; + jjmatchedPos = 2; + } + return jjMoveStringLiteralDfa3_0(active0, 0x800000002000L); + case 109: + return jjMoveStringLiteralDfa3_0(active0, 0x8000000800000L); + case 110: + return jjMoveStringLiteralDfa3_0(active0, 0x4000000100000L); + case 111: + return jjMoveStringLiteralDfa3_0(active0, 0x1000000L); + case 112: + return jjMoveStringLiteralDfa3_0(active0, 0x12040100000000L); + case 114: + return jjMoveStringLiteralDfa3_0(active0, 0x80200020800L); + case 115: + return jjMoveStringLiteralDfa3_0(active0, 0x1002000000L); + case 116: + if ((active0 & 0x10000000000L) != 0L) + { + jjmatchedKind = 40; + jjmatchedPos = 2; + } + return jjMoveStringLiteralDfa3_0(active0, 0x24000448c204000L); + case 120: + return jjMoveStringLiteralDfa3_0(active0, 0x500000480000L); + default : + break; + } + return jjStartNfa_0(1, active0, 0L); +} +private final int jjMoveStringLiteralDfa3_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(1, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(2, active0, 0L); + return 3; + } + switch(curChar) + { + case 45: + return jjMoveStringLiteralDfa4_0(active0, 0x200008000000L); + case 58: + return jjMoveStringLiteralDfa4_0(active0, 0x1000L); + case 76: + return jjMoveStringLiteralDfa4_0(active0, 0x200L); + case 84: + return jjMoveStringLiteralDfa4_0(active0, 0x100L); + case 97: + return jjMoveStringLiteralDfa4_0(active0, 0x20000L); + case 100: + if ((active0 & 0x4000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 50, 22); + break; + case 101: + if ((active0 & 0x200000L) != 0L) + return jjStartNfaWithStates_0(3, 21, 22); + else if ((active0 & 0x800000L) != 0L) + return jjStartNfaWithStates_0(3, 23, 22); + else if ((active0 & 0x10000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 52, 22); + return jjMoveStringLiteralDfa4_0(active0, 0x80000400000000L); + case 105: + return jjMoveStringLiteralDfa4_0(active0, 0x5080000000L); + case 108: + if ((active0 & 0x1000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 48, 22); + break; + case 109: + if ((active0 & 0x1000000L) != 0L) + return jjStartNfaWithStates_0(3, 24, 22); + break; + case 110: + return jjMoveStringLiteralDfa4_0(active0, 0x800102000L); + case 111: + return jjMoveStringLiteralDfa4_0(active0, 0x200000100000400L); + case 112: + return jjMoveStringLiteralDfa4_0(active0, 0x4000L); + case 114: + if ((active0 & 0x40000000000L) != 0L) + return jjStartNfaWithStates_0(3, 42, 22); + return jjMoveStringLiteralDfa4_0(active0, 0x40000014000000L); + case 115: + if ((active0 & 0x8000000000L) != 0L) + return jjStartNfaWithStates_0(3, 39, 22); + return jjMoveStringLiteralDfa4_0(active0, 0x8800L); + case 116: + if ((active0 & 0x200000000L) != 0L) + return jjStartNfaWithStates_0(3, 33, 22); + else if ((active0 & 0x80000000000L) != 0L) + return jjStartNfaWithStates_0(3, 43, 22); + else if ((active0 & 0x8000000000000L) != 0L) + return jjStartNfaWithStates_0(3, 51, 22); + return jjMoveStringLiteralDfa4_0(active0, 0x502002480000L); + case 117: + return jjMoveStringLiteralDfa4_0(active0, 0x2800000000000L); + default : + break; + } + return jjStartNfa_0(2, active0, 0L); +} +private final int jjMoveStringLiteralDfa4_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(2, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(3, active0, 0L); + return 4; + } + switch(curChar) + { + case 45: + return jjMoveStringLiteralDfa5_0(active0, 0x500000480000L); + case 73: + return jjMoveStringLiteralDfa5_0(active0, 0x200L); + case 89: + return jjMoveStringLiteralDfa5_0(active0, 0x100L); + case 97: + return jjMoveStringLiteralDfa5_0(active0, 0x2000000L); + case 100: + return jjMoveStringLiteralDfa5_0(active0, 0x80000010000400L); + case 101: + if ((active0 & 0x800000000000L) != 0L) + return jjStartNfaWithStates_0(4, 47, 22); + return jjMoveStringLiteralDfa5_0(active0, 0x100000L); + case 103: + return jjMoveStringLiteralDfa5_0(active0, 0x1000000000L); + case 105: + return jjMoveStringLiteralDfa5_0(active0, 0x40002000000800L); + case 109: + return jjMoveStringLiteralDfa5_0(active0, 0x20000L); + case 110: + return jjMoveStringLiteralDfa5_0(active0, 0x1000L); + case 111: + return jjMoveStringLiteralDfa5_0(active0, 0x4080000000L); + case 112: + return jjMoveStringLiteralDfa5_0(active0, 0x200008000000L); + case 114: + if ((active0 & 0x200000000000000L) != 0L) + return jjStartNfaWithStates_0(4, 57, 22); + return jjMoveStringLiteralDfa5_0(active0, 0x500000000L); + case 115: + if ((active0 & 0x8000L) != 0L) + return jjStartNfaWithStates_0(4, 15, 22); + return jjMoveStringLiteralDfa5_0(active0, 0x800002000L); + case 116: + if ((active0 & 0x2000000000000L) != 0L) + return jjStartNfaWithStates_0(4, 49, 22); + break; + case 117: + return jjMoveStringLiteralDfa5_0(active0, 0x4000L); + case 121: + if ((active0 & 0x4000000L) != 0L) + return jjStartNfaWithStates_0(4, 26, 22); + break; + default : + break; + } + return jjStartNfa_0(3, active0, 0L); +} +private final int jjMoveStringLiteralDfa5_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(3, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(4, active0, 0L); + return 5; + } + switch(curChar) + { + case 58: + return jjMoveStringLiteralDfa6_0(active0, 0x2000L); + case 67: + if ((active0 & 0x200L) != 0L) + return jjStartNfaWithStates_0(5, 9, 22); + break; + case 80: + return jjMoveStringLiteralDfa6_0(active0, 0x100L); + case 97: + return jjMoveStringLiteralDfa6_0(active0, 0x2400000000L); + case 98: + return jjMoveStringLiteralDfa6_0(active0, 0x40100000400000L); + case 99: + return jjMoveStringLiteralDfa6_0(active0, 0x100000L); + case 101: + return jjMoveStringLiteralDfa6_0(active0, 0x4000000a0000L); + case 105: + return jjMoveStringLiteralDfa6_0(active0, 0x800000400L); + case 110: + if ((active0 & 0x80000000L) != 0L) + { + jjmatchedKind = 31; + jjmatchedPos = 5; + } + return jjMoveStringLiteralDfa6_0(active0, 0x5002000000L); + case 111: + return jjMoveStringLiteralDfa6_0(active0, 0x200008001800L); + case 115: + if ((active0 & 0x10000000L) != 0L) + return jjStartNfaWithStates_0(5, 28, 22); + break; + case 116: + if ((active0 & 0x4000L) != 0L) + return jjStartNfaWithStates_0(5, 14, 22); + else if ((active0 & 0x100000000L) != 0L) + return jjStartNfaWithStates_0(5, 32, 22); + break; + case 117: + return jjMoveStringLiteralDfa6_0(active0, 0x80000000000000L); + default : + break; + } + return jjStartNfa_0(4, active0, 0L); +} +private final int jjMoveStringLiteralDfa6_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(4, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(5, active0, 0L); + return 6; + } + switch(curChar) + { + case 69: + if ((active0 & 0x100L) != 0L) + return jjStartNfaWithStates_0(6, 8, 22); + break; + case 78: + return jjMoveStringLiteralDfa7_0(active0, 0x1000L); + case 84: + return jjMoveStringLiteralDfa7_0(active0, 0x4000000000L); + case 97: + return jjMoveStringLiteralDfa7_0(active0, 0x1000000000L); + case 99: + return jjMoveStringLiteralDfa7_0(active0, 0x2000000L); + case 101: + return jjMoveStringLiteralDfa7_0(active0, 0x100000400000L); + case 108: + return jjMoveStringLiteralDfa7_0(active0, 0x80002400000000L); + case 110: + if ((active0 & 0x800L) != 0L) + return jjStartNfaWithStates_0(6, 11, 22); + return jjMoveStringLiteralDfa7_0(active0, 0x400000080400L); + case 114: + return jjMoveStringLiteralDfa7_0(active0, 0x200008000000L); + case 116: + return jjMoveStringLiteralDfa7_0(active0, 0x800120000L); + case 117: + return jjMoveStringLiteralDfa7_0(active0, 0x40000000000000L); + case 120: + return jjMoveStringLiteralDfa7_0(active0, 0x2000L); + default : + break; + } + return jjStartNfa_0(5, active0, 0L); +} +private final int jjMoveStringLiteralDfa7_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(5, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(6, active0, 0L); + return 7; + } + switch(curChar) + { + case 45: + return jjMoveStringLiteralDfa8_0(active0, 0x2400000000L); + case 97: + return jjMoveStringLiteralDfa8_0(active0, 0x4000001000L); + case 98: + return jjMoveStringLiteralDfa8_0(active0, 0x1000000000L); + case 100: + return jjMoveStringLiteralDfa8_0(active0, 0x400000080000L); + case 101: + if ((active0 & 0x2000000L) != 0L) + return jjStartNfaWithStates_0(7, 25, 22); + else if ((active0 & 0x80000000000000L) != 0L) + return jjStartNfaWithStates_0(7, 55, 22); + return jjMoveStringLiteralDfa8_0(active0, 0x20000L); + case 103: + if ((active0 & 0x400L) != 0L) + return jjStartNfaWithStates_0(7, 10, 22); + return jjMoveStringLiteralDfa8_0(active0, 0x100000400000L); + case 105: + return jjMoveStringLiteralDfa8_0(active0, 0x800100000L); + case 115: + return jjMoveStringLiteralDfa8_0(active0, 0x2000L); + case 116: + if ((active0 & 0x8000000L) != 0L) + return jjStartNfaWithStates_0(7, 27, 22); + else if ((active0 & 0x200000000000L) != 0L) + return jjStartNfaWithStates_0(7, 45, 22); + return jjMoveStringLiteralDfa8_0(active0, 0x40000000000000L); + default : + break; + } + return jjStartNfa_0(6, active0, 0L); +} +private final int jjMoveStringLiteralDfa8_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(6, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(7, active0, 0L); + return 8; + } + switch(curChar) + { + case 45: + return jjMoveStringLiteralDfa9_0(active0, 0x400000080000L); + case 101: + if ((active0 & 0x40000000000000L) != 0L) + return jjStartNfaWithStates_0(8, 54, 22); + break; + case 103: + return jjMoveStringLiteralDfa9_0(active0, 0x4000000000L); + case 105: + if ((active0 & 0x2000L) != 0L) + return jjStopAtPos(8, 13); + return jjMoveStringLiteralDfa9_0(active0, 0x100000400000L); + case 107: + return jjMoveStringLiteralDfa9_0(active0, 0x400000000L); + case 108: + return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L); + case 109: + return jjMoveStringLiteralDfa9_0(active0, 0x1000L); + case 111: + return jjMoveStringLiteralDfa9_0(active0, 0x800100000L); + case 114: + if ((active0 & 0x20000L) != 0L) + return jjStartNfaWithStates_0(8, 17, 22); + break; + case 115: + return jjMoveStringLiteralDfa9_0(active0, 0x2000000000L); + default : + break; + } + return jjStartNfa_0(7, active0, 0L); +} +private final int jjMoveStringLiteralDfa9_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(7, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(8, active0, 0L); + return 9; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa10_0(active0, 0x400000000000L); + case 101: + if ((active0 & 0x1000000000L) != 0L) + return jjStartNfaWithStates_0(9, 36, 22); + return jjMoveStringLiteralDfa10_0(active0, 0x1000L); + case 105: + return jjMoveStringLiteralDfa10_0(active0, 0x400000000L); + case 108: + return jjMoveStringLiteralDfa10_0(active0, 0x80000L); + case 110: + if ((active0 & 0x100000L) != 0L) + return jjStartNfaWithStates_0(9, 20, 22); + else if ((active0 & 0x800000000L) != 0L) + return jjStartNfaWithStates_0(9, 35, 22); + return jjMoveStringLiteralDfa10_0(active0, 0x100000400000L); + case 115: + if ((active0 & 0x4000000000L) != 0L) + return jjStartNfaWithStates_0(9, 38, 22); + break; + case 116: + return jjMoveStringLiteralDfa10_0(active0, 0x2000000000L); + default : + break; + } + return jjStartNfa_0(8, active0, 0L); +} +private final int jjMoveStringLiteralDfa10_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(8, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(9, active0, 0L); + return 10; + } + switch(curChar) + { + case 45: + return jjMoveStringLiteralDfa11_0(active0, 0x100000400000L); + case 97: + return jjMoveStringLiteralDfa11_0(active0, 0x2000000000L); + case 105: + return jjMoveStringLiteralDfa11_0(active0, 0x80000L); + case 110: + return jjMoveStringLiteralDfa11_0(active0, 0x400000000L); + case 111: + return jjMoveStringLiteralDfa11_0(active0, 0x400000000000L); + case 115: + return jjMoveStringLiteralDfa11_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(9, active0, 0L); +} +private final int jjMoveStringLiteralDfa11_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(9, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(10, active0, 0L); + return 11; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa12_0(active0, 0x100000000000L); + case 100: + if ((active0 & 0x400000000L) != 0L) + return jjStartNfaWithStates_0(11, 34, 22); + break; + case 108: + if ((active0 & 0x400000000000L) != 0L) + return jjStartNfaWithStates_0(11, 46, 22); + return jjMoveStringLiteralDfa12_0(active0, 0x400000L); + case 110: + return jjMoveStringLiteralDfa12_0(active0, 0x80000L); + case 112: + return jjMoveStringLiteralDfa12_0(active0, 0x1000L); + case 116: + return jjMoveStringLiteralDfa12_0(active0, 0x2000000000L); + default : + break; + } + return jjStartNfa_0(10, active0, 0L); +} +private final int jjMoveStringLiteralDfa12_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(10, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(11, active0, 0L); + return 12; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa13_0(active0, 0x1000L); + case 101: + if ((active0 & 0x80000L) != 0L) + return jjStartNfaWithStates_0(12, 19, 22); + else if ((active0 & 0x2000000000L) != 0L) + return jjStartNfaWithStates_0(12, 37, 22); + break; + case 105: + return jjMoveStringLiteralDfa13_0(active0, 0x400000L); + case 111: + return jjMoveStringLiteralDfa13_0(active0, 0x100000000000L); + default : + break; + } + return jjStartNfa_0(11, active0, 0L); +} +private final int jjMoveStringLiteralDfa13_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(11, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(12, active0, 0L); + return 13; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa14_0(active0, 0x1000L); + case 108: + if ((active0 & 0x100000000000L) != 0L) + return jjStartNfaWithStates_0(13, 44, 22); + break; + case 110: + return jjMoveStringLiteralDfa14_0(active0, 0x400000L); + default : + break; + } + return jjStartNfa_0(12, active0, 0L); +} +private final int jjMoveStringLiteralDfa14_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(12, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(13, active0, 0L); + return 14; + } + switch(curChar) + { + case 101: + if ((active0 & 0x400000L) != 0L) + return jjStartNfaWithStates_0(14, 22, 22); + return jjMoveStringLiteralDfa15_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(13, active0, 0L); +} +private final int jjMoveStringLiteralDfa15_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(13, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(14, active0, 0L); + return 15; + } + switch(curChar) + { + case 83: + return jjMoveStringLiteralDfa16_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(14, active0, 0L); +} +private final int jjMoveStringLiteralDfa16_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(14, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(15, active0, 0L); + return 16; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa17_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(15, active0, 0L); +} +private final int jjMoveStringLiteralDfa17_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(15, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(16, active0, 0L); + return 17; + } + switch(curChar) + { + case 104: + return jjMoveStringLiteralDfa18_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(16, active0, 0L); +} +private final int jjMoveStringLiteralDfa18_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(16, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(17, active0, 0L); + return 18; + } + switch(curChar) + { + case 101: + return jjMoveStringLiteralDfa19_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(17, active0, 0L); +} +private final int jjMoveStringLiteralDfa19_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(17, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(18, active0, 0L); + return 19; + } + switch(curChar) + { + case 109: + return jjMoveStringLiteralDfa20_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(18, active0, 0L); +} +private final int jjMoveStringLiteralDfa20_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(18, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(19, active0, 0L); + return 20; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa21_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(19, active0, 0L); +} +private final int jjMoveStringLiteralDfa21_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(19, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(20, active0, 0L); + return 21; + } + switch(curChar) + { + case 76: + return jjMoveStringLiteralDfa22_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(20, active0, 0L); +} +private final int jjMoveStringLiteralDfa22_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(20, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(21, active0, 0L); + return 22; + } + switch(curChar) + { + case 111: + return jjMoveStringLiteralDfa23_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(21, active0, 0L); +} +private final int jjMoveStringLiteralDfa23_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(21, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(22, active0, 0L); + return 23; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa24_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(22, active0, 0L); +} +private final int jjMoveStringLiteralDfa24_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(22, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(23, active0, 0L); + return 24; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa25_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(23, active0, 0L); +} +private final int jjMoveStringLiteralDfa25_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(23, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(24, active0, 0L); + return 25; + } + switch(curChar) + { + case 116: + return jjMoveStringLiteralDfa26_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(24, active0, 0L); +} +private final int jjMoveStringLiteralDfa26_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(24, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(25, active0, 0L); + return 26; + } + switch(curChar) + { + case 105: + return jjMoveStringLiteralDfa27_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(25, active0, 0L); +} +private final int jjMoveStringLiteralDfa27_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(25, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(26, active0, 0L); + return 27; + } + switch(curChar) + { + case 111: + return jjMoveStringLiteralDfa28_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(26, active0, 0L); +} +private final int jjMoveStringLiteralDfa28_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(26, old0, 0L); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(27, active0, 0L); + return 28; + } + switch(curChar) + { + case 110: + if ((active0 & 0x1000L) != 0L) + return jjStopAtPos(28, 12); + break; + default : + break; + } + return jjStartNfa_0(27, active0, 0L); +} +private final void jjCheckNAdd(int state) +{ + if (jjrounds[state] != jjround) + { + jjstateSet[jjnewStateCnt++] = state; + jjrounds[state] = jjround; + } +} +private final void jjAddStates(int start, int end) +{ + do { + jjstateSet[jjnewStateCnt++] = jjnextStates[start]; + } while (start++ != end); +} +private final void jjCheckNAddTwoStates(int state1, int state2) +{ + jjCheckNAdd(state1); + jjCheckNAdd(state2); +} +private final void jjCheckNAddStates(int start, int end) +{ + do { + jjCheckNAdd(jjnextStates[start]); + } while (start++ != end); +} +private final void jjCheckNAddStates(int start) +{ + jjCheckNAdd(jjnextStates[start]); + jjCheckNAdd(jjnextStates[start + 1]); +} +static final long[] jjbitVec0 = { + 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL +}; +static final long[] jjbitVec2 = { + 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL +}; +static final long[] jjbitVec3 = { + 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L +}; +static final long[] jjbitVec4 = { + 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL +}; +static final long[] jjbitVec5 = { + 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL +}; +static final long[] jjbitVec6 = { + 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L +}; +static final long[] jjbitVec7 = { + 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L +}; +static final long[] jjbitVec8 = { + 0x3fffffffffffL, 0x0L, 0x0L, 0x0L +}; +private final int jjMoveNfa_0(int startState, int curPos) +{ + int[] nextStates; + int startsAt = 0; + jjnewStateCnt = 53; + int i = 1; + jjstateSet[0] = startState; + int j, kind = 0x7fffffff; + for (;;) + { + if (++jjround == 0x7fffffff) + ReInitRounds(); + if (curChar < 64) + { + long l = 1L << curChar; + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + else if (curChar == 39) + jjCheckNAddStates(7, 10); + else if (curChar == 36) + { + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + } + else if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + else if (curChar == 46) + jjCheckNAdd(13); + else if (curChar == 60) + jjstateSet[jjnewStateCnt++] = 7; + if ((0x3fe000000000000L & l) != 0L) + { + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(10, 11); + } + else if (curChar == 48) + { + if (kind > 58) + kind = 58; + jjCheckNAddStates(11, 13); + } + break; + case 0: + if (curChar == 45) + jjCheckNAddStates(14, 16); + break; + case 1: + if ((0xffffdfffffffffffL & l) != 0L) + jjCheckNAddStates(14, 16); + break; + case 2: + if (curChar == 45) + jjCheckNAdd(1); + break; + case 3: + if (curChar == 62 && kind > 6) + kind = 6; + break; + case 4: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 3; + break; + case 5: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 4; + break; + case 6: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 0; + break; + case 7: + if (curChar == 33) + jjstateSet[jjnewStateCnt++] = 6; + break; + case 9: + if ((0x3fe000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(10, 11); + break; + case 10: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(10, 11); + break; + case 12: + if (curChar == 46) + jjCheckNAdd(13); + break; + case 13: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddStates(17, 19); + break; + case 15: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(16); + break; + case 16: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddTwoStates(16, 17); + break; + case 18: + if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + break; + case 19: + if ((0xfffffffbffffdbffL & l) != 0L) + jjCheckNAddTwoStates(19, 20); + break; + case 20: + if (curChar == 34 && kind > 65) + kind = 65; + break; + case 21: + if (curChar != 36) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 22: + if ((0x3ff201000000000L & l) == 0L) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 23: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + break; + case 24: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(24, 25); + break; + case 25: + if (curChar != 46) + break; + if (kind > 62) + kind = 62; + jjCheckNAddStates(20, 22); + break; + case 26: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddStates(20, 22); + break; + case 28: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(29); + break; + case 29: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddTwoStates(29, 17); + break; + case 30: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(30, 31); + break; + case 32: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(33); + break; + case 33: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddTwoStates(33, 17); + break; + case 34: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(23, 25); + break; + case 36: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(37); + break; + case 37: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(37, 17); + break; + case 38: + if (curChar != 48) + break; + if (kind > 58) + kind = 58; + jjCheckNAddStates(11, 13); + break; + case 40: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(40, 11); + break; + case 41: + if ((0xff000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(41, 11); + break; + case 42: + if (curChar == 39) + jjCheckNAddStates(7, 10); + break; + case 43: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAdd(44); + break; + case 44: + if (curChar == 39 && kind > 64) + kind = 64; + break; + case 46: + if ((0x8400000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 47: + if ((0xff000000000000L & l) != 0L) + jjCheckNAddTwoStates(48, 44); + break; + case 48: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 49: + if ((0xf000000000000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 50; + break; + case 50: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(48); + break; + case 51: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAddTwoStates(51, 52); + break; + case 52: + if (curChar == 39 && kind > 65) + kind = 65; + break; + default : break; + } + } while(i != startsAt); + } + else if (curChar < 128) + { + long l = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if ((0x7fffffe87fffffeL & l) == 0L) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 1: + jjAddStates(14, 16); + break; + case 11: + if ((0x100000001000L & l) != 0L && kind > 58) + kind = 58; + break; + case 14: + if ((0x2000000020L & l) != 0L) + jjAddStates(26, 27); + break; + case 17: + if ((0x5000000050L & l) != 0L && kind > 62) + kind = 62; + break; + case 19: + jjAddStates(28, 29); + break; + case 27: + if ((0x2000000020L & l) != 0L) + jjAddStates(30, 31); + break; + case 31: + if ((0x2000000020L & l) != 0L) + jjAddStates(32, 33); + break; + case 35: + if ((0x2000000020L & l) != 0L) + jjAddStates(34, 35); + break; + case 39: + if ((0x100000001000000L & l) != 0L) + jjCheckNAdd(40); + break; + case 40: + if ((0x7e0000007eL & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(40, 11); + break; + case 43: + if ((0xffffffffefffffffL & l) != 0L) + jjCheckNAdd(44); + break; + case 45: + if (curChar == 92) + jjAddStates(36, 38); + break; + case 46: + if ((0x14404410000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 51: + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + else + { + int hiByte = (int)(curChar >> 8); + int i1 = hiByte >> 6; + long l1 = 1L << (hiByte & 077); + int i2 = (curChar & 0xff) >> 6; + long l2 = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 1: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(14, 16); + break; + case 19: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(28, 29); + break; + case 43: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjstateSet[jjnewStateCnt++] = 44; + break; + case 51: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + if (kind != 0x7fffffff) + { + jjmatchedKind = kind; + jjmatchedPos = curPos; + kind = 0x7fffffff; + } + ++curPos; + if ((i = jjnewStateCnt) == (startsAt = 53 - (jjnewStateCnt = startsAt))) + return curPos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return curPos; } + } +} +private final int jjStopStringLiteralDfa_1(int pos, long active0, long active1) +{ + switch (pos) + { + case 0: + if ((active1 & 0x3c00L) != 0L) + return 7; + return -1; + default : + return -1; + } +} +private final int jjStartNfa_1(int pos, long active0, long active1) +{ + return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0, active1), pos + 1); +} +private final int jjStartNfaWithStates_1(int pos, int kind, int state) +{ + jjmatchedKind = kind; + jjmatchedPos = pos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return pos + 1; } + return jjMoveNfa_1(state, pos + 1); +} +private final int jjMoveStringLiteralDfa0_1() +{ + switch(curChar) + { + case 9: + return jjStopAtPos(0, 2); + case 10: + return jjStopAtPos(0, 3); + case 12: + return jjStopAtPos(0, 5); + case 13: + return jjStopAtPos(0, 4); + case 32: + return jjStopAtPos(0, 1); + case 59: + return jjStopAtPos(0, 73); + case 60: + jjmatchedKind = 76; + return jjMoveStringLiteralDfa1_1(0x2c00L); + case 61: + return jjStopAtPos(0, 80); + case 62: + return jjStopAtPos(0, 78); + case 63: + return jjMoveStringLiteralDfa1_1(0x8000L); + case 91: + return jjStopAtPos(0, 71); + case 93: + return jjStopAtPos(0, 72); + case 123: + return jjStopAtPos(0, 69); + case 125: + return jjStopAtPos(0, 70); + default : + return jjMoveNfa_1(8, 0); + } +} +private final int jjMoveStringLiteralDfa1_1(long active1) +{ + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_1(0, 0L, active1); + return 1; + } + switch(curChar) + { + case 33: + if ((active1 & 0x800L) != 0L) + return jjStartNfaWithStates_1(1, 75, 6); + break; + case 47: + if ((active1 & 0x400L) != 0L) + return jjStopAtPos(1, 74); + break; + case 62: + if ((active1 & 0x8000L) != 0L) + return jjStopAtPos(1, 79); + break; + case 63: + if ((active1 & 0x2000L) != 0L) + return jjStopAtPos(1, 77); + break; + default : + break; + } + return jjStartNfa_1(0, 0L, active1); +} +private final int jjMoveNfa_1(int startState, int curPos) +{ + int[] nextStates; + int startsAt = 0; + jjnewStateCnt = 53; + int i = 1; + jjstateSet[0] = startState; + int j, kind = 0x7fffffff; + for (;;) + { + if (++jjround == 0x7fffffff) + ReInitRounds(); + if (curChar < 64) + { + long l = 1L << curChar; + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + else if (curChar == 39) + jjCheckNAddStates(7, 10); + else if (curChar == 36) + { + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + } + else if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + else if (curChar == 46) + jjCheckNAdd(13); + else if (curChar == 60) + jjstateSet[jjnewStateCnt++] = 7; + if ((0x3fe000000000000L & l) != 0L) + { + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(10, 11); + } + else if (curChar == 48) + { + if (kind > 58) + kind = 58; + jjCheckNAddStates(11, 13); + } + break; + case 0: + if (curChar == 45) + jjCheckNAddStates(14, 16); + break; + case 1: + if ((0xffffdfffffffffffL & l) != 0L) + jjCheckNAddStates(14, 16); + break; + case 2: + if (curChar == 45) + jjCheckNAdd(1); + break; + case 3: + if (curChar == 62 && kind > 6) + kind = 6; + break; + case 4: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 3; + break; + case 5: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 4; + break; + case 6: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 0; + break; + case 7: + if (curChar == 33) + jjstateSet[jjnewStateCnt++] = 6; + break; + case 9: + if ((0x3fe000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(10, 11); + break; + case 10: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(10, 11); + break; + case 12: + if (curChar == 46) + jjCheckNAdd(13); + break; + case 13: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddStates(17, 19); + break; + case 15: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(16); + break; + case 16: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddTwoStates(16, 17); + break; + case 18: + if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + break; + case 19: + if ((0xfffffffbffffdbffL & l) != 0L) + jjCheckNAddTwoStates(19, 20); + break; + case 20: + if (curChar == 34 && kind > 65) + kind = 65; + break; + case 21: + if (curChar != 36) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 22: + if ((0x3ff201000000000L & l) == 0L) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 23: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + break; + case 24: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(24, 25); + break; + case 25: + if (curChar != 46) + break; + if (kind > 62) + kind = 62; + jjCheckNAddStates(20, 22); + break; + case 26: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddStates(20, 22); + break; + case 28: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(29); + break; + case 29: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddTwoStates(29, 17); + break; + case 30: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(30, 31); + break; + case 32: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(33); + break; + case 33: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 62) + kind = 62; + jjCheckNAddTwoStates(33, 17); + break; + case 34: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(23, 25); + break; + case 36: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(37); + break; + case 37: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(37, 17); + break; + case 38: + if (curChar != 48) + break; + if (kind > 58) + kind = 58; + jjCheckNAddStates(11, 13); + break; + case 40: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(40, 11); + break; + case 41: + if ((0xff000000000000L & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(41, 11); + break; + case 42: + if (curChar == 39) + jjCheckNAddStates(7, 10); + break; + case 43: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAdd(44); + break; + case 44: + if (curChar == 39 && kind > 64) + kind = 64; + break; + case 46: + if ((0x8400000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 47: + if ((0xff000000000000L & l) != 0L) + jjCheckNAddTwoStates(48, 44); + break; + case 48: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 49: + if ((0xf000000000000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 50; + break; + case 50: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(48); + break; + case 51: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAddTwoStates(51, 52); + break; + case 52: + if (curChar == 39 && kind > 65) + kind = 65; + break; + default : break; + } + } while(i != startsAt); + } + else if (curChar < 128) + { + long l = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if ((0x7fffffe87fffffeL & l) == 0L) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 1: + jjAddStates(14, 16); + break; + case 11: + if ((0x100000001000L & l) != 0L && kind > 58) + kind = 58; + break; + case 14: + if ((0x2000000020L & l) != 0L) + jjAddStates(26, 27); + break; + case 17: + if ((0x5000000050L & l) != 0L && kind > 62) + kind = 62; + break; + case 19: + jjAddStates(28, 29); + break; + case 27: + if ((0x2000000020L & l) != 0L) + jjAddStates(30, 31); + break; + case 31: + if ((0x2000000020L & l) != 0L) + jjAddStates(32, 33); + break; + case 35: + if ((0x2000000020L & l) != 0L) + jjAddStates(34, 35); + break; + case 39: + if ((0x100000001000000L & l) != 0L) + jjCheckNAdd(40); + break; + case 40: + if ((0x7e0000007eL & l) == 0L) + break; + if (kind > 58) + kind = 58; + jjCheckNAddTwoStates(40, 11); + break; + case 43: + if ((0xffffffffefffffffL & l) != 0L) + jjCheckNAdd(44); + break; + case 45: + if (curChar == 92) + jjAddStates(36, 38); + break; + case 46: + if ((0x14404410000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 51: + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + else + { + int hiByte = (int)(curChar >> 8); + int i1 = hiByte >> 6; + long l1 = 1L << (hiByte & 077); + int i2 = (curChar & 0xff) >> 6; + long l2 = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + break; + if (kind > 66) + kind = 66; + jjCheckNAdd(22); + break; + case 1: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(14, 16); + break; + case 19: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(28, 29); + break; + case 43: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjstateSet[jjnewStateCnt++] = 44; + break; + case 51: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + if (kind != 0x7fffffff) + { + jjmatchedKind = kind; + jjmatchedPos = curPos; + kind = 0x7fffffff; + } + ++curPos; + if ((i = jjnewStateCnt) == (startsAt = 53 - (jjnewStateCnt = startsAt))) + return curPos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return curPos; } + } +} +static final int[] jjnextStates = { + 24, 25, 30, 31, 34, 35, 17, 43, 45, 51, 52, 39, 41, 11, 1, 2, + 5, 13, 14, 17, 26, 27, 17, 34, 35, 17, 15, 16, 19, 20, 28, 29, + 32, 33, 36, 37, 46, 47, 49, 51, 52, +}; +private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) +{ + switch(hiByte) + { + case 0: + return ((jjbitVec2[i2] & l2) != 0L); + default : + if ((jjbitVec0[i1] & l1) != 0L) + return true; + return false; + } +} +private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2) +{ + switch(hiByte) + { + case 0: + return ((jjbitVec4[i2] & l2) != 0L); + case 48: + return ((jjbitVec5[i2] & l2) != 0L); + case 49: + return ((jjbitVec6[i2] & l2) != 0L); + case 51: + return ((jjbitVec7[i2] & l2) != 0L); + case 61: + return ((jjbitVec8[i2] & l2) != 0L); + default : + if ((jjbitVec3[i1] & l1) != 0L) + return true; + return false; + } +} +public static final String[] jjstrLiteralImages = { +"", null, null, null, null, null, null, "\170\155\154", +"\104\117\103\124\131\120\105", "\120\125\102\114\111\103", "\145\156\143\157\144\151\156\147", +"\166\145\162\163\151\157\156", +"\170\163\151\72\156\157\116\141\155\145\163\160\141\143\145\123\143\150\145\155\141\114\157\143\141\164\151\157\156", "\170\155\154\156\163\72\170\163\151", "\117\165\164\160\165\164", +"\103\154\141\163\163", "\117\160", "\120\141\162\141\155\145\164\145\162", "\121\111\104", +"\164\145\170\164\55\145\156\144\55\154\151\156\145", "\103\157\156\156\145\143\164\151\157\156", "\116\157\164\145", +"\164\145\170\164\55\142\145\147\151\156\55\154\151\156\145", "\156\141\155\145", "\146\162\157\155", "\111\156\163\164\141\156\143\145", +"\105\156\164\162\171", "\144\163\164\55\160\157\162\164", "\107\165\141\162\144\163", "\163\162\143", +"\111\104", "\101\143\164\151\157\156", "\111\155\160\157\162\164", "\120\157\162\164", +"\154\151\164\145\162\141\154\55\153\151\156\144", "\124\162\141\156\163\151\164\151\157\156", +"\141\163\163\151\147\156\141\142\154\145", "\151\156\151\164\151\141\154\55\163\164\141\164\145", +"\101\143\164\151\157\156\124\141\147\163", "\101\162\147\163", "\144\163\164", "\151\144", "\105\170\160\162", +"\160\157\162\164", "\164\145\170\164\55\142\145\147\151\156\55\143\157\154", +"\163\162\143\55\160\157\162\164", "\164\145\170\164\55\145\156\144\55\143\157\154", "\166\141\154\165\145", +"\104\145\143\154", "\111\156\160\165\164", "\153\151\156\144", "\123\164\155\164", +"\124\171\160\145", "\130\104\106", "\101\164\164\162\151\142\165\164\145", +"\123\143\150\145\144\165\154\145", "\164\157", "\101\143\164\157\162", null, null, null, null, null, null, null, +null, null, null, null, "\173", "\175", "\133", "\135", "\73", "\74\57", "\74\41", +"\74", "\74\77", "\76", "\77\76", "\75", "\57\76", }; +public static final String[] lexStateNames = { + "DEFAULT", + "BOUNDS", +}; +public static final int[] jjnewLexState = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, + 0, 0, 0, 1, 1, -1, -1, +}; +static final long[] jjtoToken = { + 0x47ffffffffffff81L, 0x3ffe7L, +}; +static final long[] jjtoSkip = { + 0x7eL, 0x0L, +}; +static final long[] jjtoSpecial = { + 0x7eL, 0x0L, +}; +protected JavaCharStream input_stream; +private final int[] jjrounds = new int[53]; +private final int[] jjstateSet = new int[106]; +protected char curChar; +public XmlParserTokenManager(JavaCharStream stream){ + if (JavaCharStream.staticFlag) + throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); + input_stream = stream; +} +public XmlParserTokenManager(JavaCharStream stream, int lexState){ + this(stream); + SwitchTo(lexState); +} +public void ReInit(JavaCharStream stream) +{ + jjmatchedPos = jjnewStateCnt = 0; + curLexState = defaultLexState; + input_stream = stream; + ReInitRounds(); +} +private final void ReInitRounds() +{ + int i; + jjround = 0x80000001; + for (i = 53; i-- > 0;) + jjrounds[i] = 0x80000000; +} +public void ReInit(JavaCharStream stream, int lexState) +{ + ReInit(stream); + SwitchTo(lexState); +} +public void SwitchTo(int lexState) +{ + if (lexState >= 2 || lexState < 0) + throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); + else + curLexState = lexState; +} + +protected Token jjFillToken() +{ + Token t = Token.newToken(jjmatchedKind); + t.kind = jjmatchedKind; + String im = jjstrLiteralImages[jjmatchedKind]; + t.image = (im == null) ? input_stream.GetImage() : im; + t.beginLine = input_stream.getBeginLine(); + t.beginColumn = input_stream.getBeginColumn(); + t.endLine = input_stream.getEndLine(); + t.endColumn = input_stream.getEndColumn(); + return t; +} + +int curLexState = 0; +int defaultLexState = 0; +int jjnewStateCnt; +int jjround; +int jjmatchedPos; +int jjmatchedKind; + +public Token getNextToken() +{ + int kind; + Token specialToken = null; + Token matchedToken; + int curPos = 0; + + EOFLoop : + for (;;) + { + try + { + curChar = input_stream.BeginToken(); + } + catch(java.io.IOException e) + { + jjmatchedKind = 0; + matchedToken = jjFillToken(); + matchedToken.specialToken = specialToken; + return matchedToken; + } + + switch(curLexState) + { + case 0: + jjmatchedKind = 0x7fffffff; + jjmatchedPos = 0; + curPos = jjMoveStringLiteralDfa0_0(); + break; + case 1: + jjmatchedKind = 0x7fffffff; + jjmatchedPos = 0; + curPos = jjMoveStringLiteralDfa0_1(); + break; + } + if (jjmatchedKind != 0x7fffffff) + { + if (jjmatchedPos + 1 < curPos) + input_stream.backup(curPos - jjmatchedPos - 1); + if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) + { + matchedToken = jjFillToken(); + matchedToken.specialToken = specialToken; + if (jjnewLexState[jjmatchedKind] != -1) + curLexState = jjnewLexState[jjmatchedKind]; + return matchedToken; + } + else + { + if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) + { + matchedToken = jjFillToken(); + if (specialToken == null) + specialToken = matchedToken; + else + { + matchedToken.specialToken = specialToken; + specialToken = (specialToken.next = matchedToken); + } + } + if (jjnewLexState[jjmatchedKind] != -1) + curLexState = jjnewLexState[jjmatchedKind]; + continue EOFLoop; + } + } + int error_line = input_stream.getEndLine(); + int error_column = input_stream.getEndColumn(); + String error_after = null; + boolean EOFSeen = false; + try { input_stream.readChar(); input_stream.backup(1); } + catch (java.io.IOException e1) { + EOFSeen = true; + error_after = curPos <= 1 ? "" : input_stream.GetImage(); + if (curChar == '\n' || curChar == '\r') { + error_line++; + error_column = 0; + } + else + error_column++; + } + if (!EOFSeen) { + input_stream.backup(1); + error_after = curPos <= 1 ? "" : input_stream.GetImage(); + } + throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); + } +} + +} diff --git a/examples/actors/xdfAST/XmlParserTreeConstants.java b/examples/actors/xdfAST/XmlParserTreeConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..34372b5fe6dedf49485615465b726cd64b4c0d54 --- /dev/null +++ b/examples/actors/xdfAST/XmlParserTreeConstants.java @@ -0,0 +1,125 @@ +/* Generated By:JJTree: Do not edit this line. /work/csandersn/actors/xmlSchemCompiler/examples/actors/xdfAST/XmlParserTreeConstants.java */ + +package xdfAST; + +public interface XmlParserTreeConstants +{ + public int JJTSTART = 0; + public int JJTSPECIFICATION = 1; + public int JJTOPT = 2; + public int JJTDOCTYPE = 3; + public int JJTVOID = 4; + public int JJTXMLHEADER = 5; + public int JJTLIST = 6; + public int JJTATTRVALUE = 7; + public int JJTENCODING = 8; + public int JJTVERSION = 9; + public int JJTXSINONAMESPACESCHEMALOCATION = 10; + public int JJTXMLNSXSI = 11; + public int JJTINTELEMENT = 12; + public int JJTFLOATELEMENT = 13; + public int JJTSTRINGELEMENT = 14; + public int JJTOUTPUT = 15; + public int JJTCLASS = 16; + public int JJTOP = 17; + public int JJTPARAMETER = 18; + public int JJTQID = 19; + public int JJTTEXT_END_LINE = 20; + public int JJTCONNECTION = 21; + public int JJTNOTE = 22; + public int JJTTEXT_BEGIN_LINE = 23; + public int JJTNAME = 24; + public int JJTFROM = 25; + public int JJTINSTANCE = 26; + public int JJTENTRY = 27; + public int JJTDST_PORT = 28; + public int JJTGUARDS = 29; + public int JJTSRC = 30; + public int JJTID = 31; + public int JJTACTION = 32; + public int JJTIMPORT = 33; + public int JJTPORT = 34; + public int JJTLITERAL_KIND = 35; + public int JJTTRANSITION = 36; + public int JJTASSIGNABLE = 37; + public int JJTINITIAL_STATE = 38; + public int JJTACTIONTAGS = 39; + public int JJTARGS = 40; + public int JJTDST = 41; + public int JJTEXPR = 42; + public int JJTTEXT_BEGIN_COL = 43; + public int JJTSRC_PORT = 44; + public int JJTTEXT_END_COL = 45; + public int JJTVALUE = 46; + public int JJTDECL = 47; + public int JJTINPUT = 48; + public int JJTKIND = 49; + public int JJTSTMT = 50; + public int JJTTYPE = 51; + public int JJTXDF = 52; + public int JJT_ATTRIBUTE = 53; + public int JJTSCHEDULE = 54; + public int JJT_TO = 55; + public int JJTACTOR = 56; + + + public String[] jjtNodeName = { + "Start", + "Specification", + "Opt", + "DocType", + "void", + "XmlHeader", + "List", + "AttrValue", + "Encoding", + "Version", + "XsiNoNamespaceSchemaLocation", + "XmlnsXsi", + "IntElement", + "FloatElement", + "StringElement", + "Output", + "Class", + "Op", + "Parameter", + "QID", + "text_end_line", + "Connection", + "Note", + "text_begin_line", + "name", + "from", + "Instance", + "Entry", + "dst_port", + "Guards", + "src", + "ID", + "Action", + "Import", + "Port", + "literal_kind", + "Transition", + "assignable", + "initial_state", + "ActionTags", + "Args", + "dst", + "Expr", + "text_begin_col", + "src_port", + "text_end_col", + "value", + "Decl", + "Input", + "kind", + "Stmt", + "Type", + "XDF", + "_Attribute", + "Schedule", + "_to", + "Actor", + }; +} diff --git a/examples/actors/xdfAST/XmlParserVisitor.java b/examples/actors/xdfAST/XmlParserVisitor.java new file mode 100644 index 0000000000000000000000000000000000000000..7ddebafc4c1f580ed41306eac63f651edf9f1dc6 --- /dev/null +++ b/examples/actors/xdfAST/XmlParserVisitor.java @@ -0,0 +1,64 @@ +/* Generated By:JJTree: Do not edit this line. /work/csandersn/actors/xmlSchemCompiler/examples/actors/xdfAST/XmlParserVisitor.java */ + +package xdfAST; + +public interface XmlParserVisitor +{ + public Object visit(SimpleNode node, Object data); + public Object visit(Start node, Object data); + public Object visit(Specification node, Object data); + public Object visit(Opt node, Object data); + public Object visit(DocType node, Object data); + public Object visit(XmlHeader node, Object data); + public Object visit(List node, Object data); + public Object visit(AttrValue node, Object data); + public Object visit(Encoding node, Object data); + public Object visit(Version node, Object data); + public Object visit(XsiNoNamespaceSchemaLocation node, Object data); + public Object visit(XmlnsXsi node, Object data); + public Object visit(IntElement node, Object data); + public Object visit(FloatElement node, Object data); + public Object visit(StringElement node, Object data); + public Object visit(Output node, Object data); + public Object visit(Class node, Object data); + public Object visit(Op node, Object data); + public Object visit(Parameter node, Object data); + public Object visit(QID node, Object data); + public Object visit(text_end_line node, Object data); + public Object visit(Connection node, Object data); + public Object visit(Note node, Object data); + public Object visit(text_begin_line node, Object data); + public Object visit(name node, Object data); + public Object visit(from node, Object data); + public Object visit(Instance node, Object data); + public Object visit(Entry node, Object data); + public Object visit(dst_port node, Object data); + public Object visit(Guards node, Object data); + public Object visit(src node, Object data); + public Object visit(ID node, Object data); + public Object visit(Action node, Object data); + public Object visit(Import node, Object data); + public Object visit(Port node, Object data); + public Object visit(literal_kind node, Object data); + public Object visit(Transition node, Object data); + public Object visit(assignable node, Object data); + public Object visit(initial_state node, Object data); + public Object visit(ActionTags node, Object data); + public Object visit(Args node, Object data); + public Object visit(dst node, Object data); + public Object visit(Expr node, Object data); + public Object visit(text_begin_col node, Object data); + public Object visit(src_port node, Object data); + public Object visit(text_end_col node, Object data); + public Object visit(value node, Object data); + public Object visit(Decl node, Object data); + public Object visit(Input node, Object data); + public Object visit(kind node, Object data); + public Object visit(Stmt node, Object data); + public Object visit(Type node, Object data); + public Object visit(XDF node, Object data); + public Object visit(_Attribute node, Object data); + public Object visit(Schedule node, Object data); + public Object visit(_to node, Object data); + public Object visit(Actor node, Object data); +} diff --git a/examples/actors/xdfAST/XmlnsXsi.java b/examples/actors/xdfAST/XmlnsXsi.java new file mode 100644 index 0000000000000000000000000000000000000000..670d8c691a18c2cfa226b70af04980e9ef2e053f --- /dev/null +++ b/examples/actors/xdfAST/XmlnsXsi.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class XmlnsXsi extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public XmlnsXsi clone() throws CloneNotSupportedException { + XmlnsXsi node = (XmlnsXsi)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlnsXsi copy() { + try { + XmlnsXsi node = (XmlnsXsi)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlnsXsi fullCopy() { + XmlnsXsi res = (XmlnsXsi)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 43 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" xmlns:xsi="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 21 + + public XmlnsXsi(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public XmlnsXsi(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public XmlnsXsi() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 21 + public XmlnsXsi(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XmlnsXsi"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/XsiNoNamespaceSchemaLocation.java b/examples/actors/xdfAST/XsiNoNamespaceSchemaLocation.java new file mode 100644 index 0000000000000000000000000000000000000000..c790f3b12dd16603c69cb91f1e672e57f5676ecf --- /dev/null +++ b/examples/actors/xdfAST/XsiNoNamespaceSchemaLocation.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class XsiNoNamespaceSchemaLocation extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public XsiNoNamespaceSchemaLocation clone() throws CloneNotSupportedException { + XsiNoNamespaceSchemaLocation node = (XsiNoNamespaceSchemaLocation)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XsiNoNamespaceSchemaLocation copy() { + try { + XsiNoNamespaceSchemaLocation node = (XsiNoNamespaceSchemaLocation)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XsiNoNamespaceSchemaLocation fullCopy() { + XsiNoNamespaceSchemaLocation res = (XsiNoNamespaceSchemaLocation)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 48 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" xsi:NoNamespaceSchemaLocation="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 22 + + public XsiNoNamespaceSchemaLocation(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public XsiNoNamespaceSchemaLocation(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public XsiNoNamespaceSchemaLocation() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 22 + public XsiNoNamespaceSchemaLocation(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XsiNoNamespaceSchemaLocation"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/_Attribute.java b/examples/actors/xdfAST/_Attribute.java new file mode 100644 index 0000000000000000000000000000000000000000..f2fb8b80e6036ced02f3071240fcd991a632a953 --- /dev/null +++ b/examples/actors/xdfAST/_Attribute.java @@ -0,0 +1,276 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class _Attribute extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public _Attribute clone() throws CloneNotSupportedException { + _Attribute node = (_Attribute)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public _Attribute copy() { + try { + _Attribute node = (_Attribute)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public _Attribute fullCopy() { + _Attribute res = (_Attribute)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 529 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<_Attribute "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</_Attribute> "); + } + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 65 + + public _Attribute(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public _Attribute(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public _Attribute() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xdf.ast at line 19 + + + // Declared in xdf.ast line 65 + public _Attribute(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xdf.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "_Attribute"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xdf.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xdf.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xdf.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xdf.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xdf.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xdf.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xdf.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xdf.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xdf.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xdf.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xdf.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xdf.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xdf.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xdf.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/_to.java b/examples/actors/xdfAST/_to.java new file mode 100644 index 0000000000000000000000000000000000000000..c405fe33a7bdc1186f04beef08132d82975749c7 --- /dev/null +++ b/examples/actors/xdfAST/_to.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class _to extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public _to clone() throws CloneNotSupportedException { + _to node = (_to)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public _to copy() { + try { + _to node = (_to)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public _to fullCopy() { + _to res = (_to)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 563 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" to="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 67 + + public _to(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public _to(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public _to() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 67 + public _to(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "_to"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/assignable.java b/examples/actors/xdfAST/assignable.java new file mode 100644 index 0000000000000000000000000000000000000000..8bee93084187ca8a363aff72dc21a4dbb71df219 --- /dev/null +++ b/examples/actors/xdfAST/assignable.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class assignable extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public assignable clone() throws CloneNotSupportedException { + assignable node = (assignable)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public assignable copy() { + try { + assignable node = (assignable)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public assignable fullCopy() { + assignable res = (assignable)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 343 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" assignable="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 47 + + public assignable(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public assignable(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public assignable() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 47 + public assignable(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "assignable"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/dst.java b/examples/actors/xdfAST/dst.java new file mode 100644 index 0000000000000000000000000000000000000000..35221e4af3ccd25023b378c7d335c2163f3857d3 --- /dev/null +++ b/examples/actors/xdfAST/dst.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class dst extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public dst clone() throws CloneNotSupportedException { + dst node = (dst)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public dst copy() { + try { + dst node = (dst)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public dst fullCopy() { + dst res = (dst)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 387 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" dst="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 51 + + public dst(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public dst(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public dst() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 51 + public dst(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "dst"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/dst_port.java b/examples/actors/xdfAST/dst_port.java new file mode 100644 index 0000000000000000000000000000000000000000..df8e72996793650d7c195af6683b006dd502cd79 --- /dev/null +++ b/examples/actors/xdfAST/dst_port.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class dst_port extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public dst_port clone() throws CloneNotSupportedException { + dst_port node = (dst_port)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public dst_port copy() { + try { + dst_port node = (dst_port)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public dst_port fullCopy() { + dst_port res = (dst_port)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 226 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" dst-port="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 38 + + public dst_port(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public dst_port(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public dst_port() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 38 + public dst_port(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "dst_port"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/from.java b/examples/actors/xdfAST/from.java new file mode 100644 index 0000000000000000000000000000000000000000..4e256070a9197bb2034158dd4dece9100dcf5e37 --- /dev/null +++ b/examples/actors/xdfAST/from.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class from extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public from clone() throws CloneNotSupportedException { + from node = (from)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public from copy() { + try { + from node = (from)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public from fullCopy() { + from res = (from)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 187 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" from="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 35 + + public from(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public from(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public from() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 35 + public from(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "from"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/id.java b/examples/actors/xdfAST/id.java new file mode 100644 index 0000000000000000000000000000000000000000..d77bf0b0080f941628f35c2ebf595402c8844ba6 --- /dev/null +++ b/examples/actors/xdfAST/id.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class id extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public id clone() throws CloneNotSupportedException { + id node = (id)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public id copy() { + try { + id node = (id)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public id fullCopy() { + id res = (id)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 392 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" id="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 52 + + public id(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public id(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public id() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 52 + public id(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "id"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/initial_state.java b/examples/actors/xdfAST/initial_state.java new file mode 100644 index 0000000000000000000000000000000000000000..1bc05175664eaeb24cfb0efa0b4307dbbf46f8f9 --- /dev/null +++ b/examples/actors/xdfAST/initial_state.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class initial_state extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public initial_state clone() throws CloneNotSupportedException { + initial_state node = (initial_state)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public initial_state copy() { + try { + initial_state node = (initial_state)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public initial_state fullCopy() { + initial_state res = (initial_state)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 348 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" initial-state="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 48 + + public initial_state(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public initial_state(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public initial_state() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 48 + public initial_state(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "initial_state"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/kind.java b/examples/actors/xdfAST/kind.java new file mode 100644 index 0000000000000000000000000000000000000000..671bc95d3313881eda74d3d50002505cdfc1e856 --- /dev/null +++ b/examples/actors/xdfAST/kind.java @@ -0,0 +1,154 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class kind extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + isKind_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public kind clone() throws CloneNotSupportedException { + kind node = (kind)super.clone(); + node.isKind_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public kind copy() { + try { + kind node = (kind)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public kind fullCopy() { + kind res = (kind)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 473 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" kind="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 61 + + public kind(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public kind(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public kind() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 61 + public kind(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "kind"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + + protected int isKind_visited = -1; + // Declared in SSR.jrag at line 174 + @SuppressWarnings({"unchecked", "cast"}) public boolean isKind() { + if(isKind_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isKind in class: "); + isKind_visited = boundariesCrossed; + boolean isKind_value = isKind_compute(); + isKind_visited = -1; + return isKind_value; + } + + private boolean isKind_compute() { return true; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/literal_kind.java b/examples/actors/xdfAST/literal_kind.java new file mode 100644 index 0000000000000000000000000000000000000000..c6745cfdbe21779dd9d7db5e4cebb239973a3ac1 --- /dev/null +++ b/examples/actors/xdfAST/literal_kind.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class literal_kind extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public literal_kind clone() throws CloneNotSupportedException { + literal_kind node = (literal_kind)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public literal_kind copy() { + try { + literal_kind node = (literal_kind)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public literal_kind fullCopy() { + literal_kind res = (literal_kind)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 321 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" literal-kind="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 45 + + public literal_kind(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public literal_kind(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public literal_kind() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 45 + public literal_kind(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "literal_kind"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/name.java b/examples/actors/xdfAST/name.java new file mode 100644 index 0000000000000000000000000000000000000000..f2eb15e11a24b429801d9375fed762d0188bd4b4 --- /dev/null +++ b/examples/actors/xdfAST/name.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class name extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public name clone() throws CloneNotSupportedException { + name node = (name)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public name copy() { + try { + name node = (name)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public name fullCopy() { + name res = (name)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 182 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" name="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 34 + + public name(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public name(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public name() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 34 + public name(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "name"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/port.java b/examples/actors/xdfAST/port.java new file mode 100644 index 0000000000000000000000000000000000000000..1dfe1cab32ab41a2d80194a1280202535fc3269e --- /dev/null +++ b/examples/actors/xdfAST/port.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class port extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public port clone() throws CloneNotSupportedException { + port node = (port)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public port copy() { + try { + port node = (port)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public port fullCopy() { + port res = (port)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 414 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" port="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 54 + + public port(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public port(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public port() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 54 + public port(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "port"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/src.java b/examples/actors/xdfAST/src.java new file mode 100644 index 0000000000000000000000000000000000000000..bac865c36d0119b675667317ad1e588a98c148a9 --- /dev/null +++ b/examples/actors/xdfAST/src.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class src extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public src clone() throws CloneNotSupportedException { + src node = (src)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public src copy() { + try { + src node = (src)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public src fullCopy() { + src res = (src)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 248 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" src="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 40 + + public src(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public src(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public src() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 40 + public src(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "src"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/src_port.java b/examples/actors/xdfAST/src_port.java new file mode 100644 index 0000000000000000000000000000000000000000..8272bc9966ae6044acc8364e0ca7a1596b48e02e --- /dev/null +++ b/examples/actors/xdfAST/src_port.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class src_port extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public src_port clone() throws CloneNotSupportedException { + src_port node = (src_port)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public src_port copy() { + try { + src_port node = (src_port)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public src_port fullCopy() { + src_port res = (src_port)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 424 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" src-port="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 56 + + public src_port(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public src_port(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public src_port() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 56 + public src_port(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "src_port"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/text_begin_col.java b/examples/actors/xdfAST/text_begin_col.java new file mode 100644 index 0000000000000000000000000000000000000000..bd07e70f62ce3734de990d811643847fe8eff2bd --- /dev/null +++ b/examples/actors/xdfAST/text_begin_col.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class text_begin_col extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public text_begin_col clone() throws CloneNotSupportedException { + text_begin_col node = (text_begin_col)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public text_begin_col copy() { + try { + text_begin_col node = (text_begin_col)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public text_begin_col fullCopy() { + text_begin_col res = (text_begin_col)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 419 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" text-begin-col="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 55 + + public text_begin_col(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public text_begin_col(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public text_begin_col() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 55 + public text_begin_col(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "text_begin_col"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/text_begin_line.java b/examples/actors/xdfAST/text_begin_line.java new file mode 100644 index 0000000000000000000000000000000000000000..ac658f000f5033cb24ba6a69cf956b2a20ea2e61 --- /dev/null +++ b/examples/actors/xdfAST/text_begin_line.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class text_begin_line extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public text_begin_line clone() throws CloneNotSupportedException { + text_begin_line node = (text_begin_line)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public text_begin_line copy() { + try { + text_begin_line node = (text_begin_line)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public text_begin_line fullCopy() { + text_begin_line res = (text_begin_line)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 177 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" text-begin-line="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 33 + + public text_begin_line(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public text_begin_line(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public text_begin_line() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 33 + public text_begin_line(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "text_begin_line"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/text_end_col.java b/examples/actors/xdfAST/text_end_col.java new file mode 100644 index 0000000000000000000000000000000000000000..e50cd11f36e0e2da93128e4ce6ed6982ec5c1db2 --- /dev/null +++ b/examples/actors/xdfAST/text_end_col.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class text_end_col extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public text_end_col clone() throws CloneNotSupportedException { + text_end_col node = (text_end_col)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public text_end_col copy() { + try { + text_end_col node = (text_end_col)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public text_end_col fullCopy() { + text_end_col res = (text_end_col)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 429 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" text-end-col="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 57 + + public text_end_col(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public text_end_col(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public text_end_col() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 57 + public text_end_col(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "text_end_col"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/text_end_line.java b/examples/actors/xdfAST/text_end_line.java new file mode 100644 index 0000000000000000000000000000000000000000..f1cd5e5303cffae13cc6390576d13ff0891aa520 --- /dev/null +++ b/examples/actors/xdfAST/text_end_line.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class text_end_line extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public text_end_line clone() throws CloneNotSupportedException { + text_end_line node = (text_end_line)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public text_end_line copy() { + try { + text_end_line node = (text_end_line)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public text_end_line fullCopy() { + text_end_line res = (text_end_line)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 138 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" text-end-line="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 30 + + public text_end_line(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public text_end_line(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public text_end_line() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 30 + public text_end_line(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "text_end_line"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/value.java b/examples/actors/xdfAST/value.java new file mode 100644 index 0000000000000000000000000000000000000000..d530c0c02db4c108f193db3a4a0b2c827ede147d --- /dev/null +++ b/examples/actors/xdfAST/value.java @@ -0,0 +1,139 @@ + +package xdfAST; +import java.io.PrintStream;import java.util.HashSet;import java.io.FileReader; + + +public class value extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public value clone() throws CloneNotSupportedException { + value node = (value)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public value copy() { + try { + value node = (value)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public value fullCopy() { + value res = (value)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 434 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" value="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xdf.ast at line 3 + // Declared in xdf.ast line 58 + + public value(int i) { + super(i); + } + + // Declared in xdf.ast at line 6 + + public value(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xdf.ast at line 10 + + public value() { + this(0); + + + } + + // Declared in xdf.ast at line 17 + + + // Declared in xdf.ast line 58 + public value(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xdf.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "value"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xdf.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xdf.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xdf.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xdf.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xdf.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xdf.ast at line 2 + // Declared in xdf.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xdf.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xdf.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xdfAST/xdf.jj b/examples/actors/xdfAST/xdf.jj new file mode 100644 index 0000000000000000000000000000000000000000..dd81c9ced3fe10a5d2504b077ae7bb6e528239bc --- /dev/null +++ b/examples/actors/xdfAST/xdf.jj @@ -0,0 +1,2083 @@ +/*@bgen(jjtree) Generated By:JJTree: Do not edit this line. /work/csandersn/actors/xmlSchemCompiler/examples/actors/xdfAST/xdf.jj */ +/*@egen*//* -*-Java-*- */ + +options { + JAVA_UNICODE_ESCAPE = true; + STATIC = false; +} + +PARSER_BEGIN(XmlParser) + package xdfAST; + public class XmlParser/*@bgen(jjtree)*/implements XmlParserTreeConstants/*@egen*/ {/*@bgen(jjtree)*/ + protected JJTXmlParserState jjtree = new JJTXmlParserState(); + +/*@egen*/ +} +PARSER_END(XmlParser) + +//----------------------------------------------// +// LEXICAL TOKENS // +//----------------------------------------------// +<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* WHITE SPACE */ +{ + " " + | + "\t" + | + "\n" + | + "\r" + | + "\f" +}// WHITE SPACE + +<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* COMMENTS */ +{ + < "<!--" ( ~["-"] | ( "-" ~["-"] ) )* "-->"> +}// COMMENTS + +<DEFAULT> TOKEN : /* Reserved Words */ +{ + <XML : "xml"> + | <DOCTYPE : "DOCTYPE"> + | <PUBLIC : "PUBLIC"> + | <encoding : "encoding"> + | <version : "version"> + | <XsiNoNamespaceSchemaLocation : "xsi:noNamespaceSchemaLocation"> + | <XmlnsXsi : "xmlns:xsi"> + | <Output : "Output" > + | <Class : "Class" > + | <Op : "Op" > + | <Parameter : "Parameter" > + | <QID : "QID" > + | <text_end_line : "text-end-line" > + | <Connection : "Connection" > + | <Note : "Note" > + | <text_begin_line : "text-begin-line" > + | <name : "name" > + | <from : "from" > + | <Instance : "Instance" > + | <Entry : "Entry" > + | <dst_port : "dst-port" > + | <Guards : "Guards" > + | <src : "src" > + | <ID : "ID" > + | <Action : "Action" > + | <Import : "Import" > + | <Port : "Port" > + | <literal_kind : "literal-kind" > + | <Transition : "Transition" > + | <assignable : "assignable" > + | <initial_state : "initial-state" > + | <ActionTags : "ActionTags" > + | <Args : "Args" > + | <dst : "dst" > + | <id : "id" > + | <Expr : "Expr" > + | <port : "port" > + | <text_begin_col : "text-begin-col" > + | <src_port : "src-port" > + | <text_end_col : "text-end-col" > + | <value : "value" > + | <Decl : "Decl" > + | <Input : "Input" > + | <kind : "kind" > + | <Stmt : "Stmt" > + | <Type : "Type" > + | <XDF : "XDF" > + | <_Attribute : "Attribute" > + | <Schedule : "Schedule" > + | <_to : "to" > + | <Actor : "Actor" > +}// Reserved Words + +<DEFAULT, BOUNDS> TOKEN : /* LITERALS */ +{ + < INTEGER_LITERAL: + <DECIMAL_LITERAL> (["l","L"])? + | + <HEX_LITERAL> (["l","L"])? + | + <OCTAL_LITERAL> (["l","L"])? + > + | + < #DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* > + | + < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ > + | + < #OCTAL_LITERAL: "0" (["0"-"7"])* > + | + < FLOAT_LITERAL: + (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? (["f","F","d","D"])? + | + "." (["0"-"9"])+ (<EXPONENT>)? (["f","F","d","D"])? + | + (["0"-"9"])+ <EXPONENT> (["f","F","d","D"])? + | + (["0"-"9"])+ (<EXPONENT>)? ["f","F","d","D"] + > + | + < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ > + | + < CHARACTER_LITERAL: + "'" + ( (~["'","\\","\n","\r"]) + | + ("\\" + ( ["n","t","b","r","f","\\","'","\""] + | + ["0"-"7"] ( ["0"-"7"] )? + | + ["0"-"3"] ["0"-"7"] ["0"-"7"] + ) + ) + ) + "'" + > + | + < STRING_LITERAL: + ("\"" + ( (~["\"","\n","\r"]) + )* + "\"") + | ("\'" + ( (~["\'","\n","\r"]) + )* + "\'") + > +}// LITERALS +<DEFAULT, BOUNDS> TOKEN : /* IDENTIFIERS */ +{ + < IDENTIFIER: <LETTER> (<LETTER>|<DIGIT>|"-")* > + | + < #LETTER: + [ + "$", + "A"-"Z", + "_", + "a"-"z", + "\u00c0"-"\u00d6", + "\u00d8"-"\u00f6", + "\u00f8"-"\u00ff", + "\u0100"-"\u1fff", + "\u3040"-"\u318f", + "\u3300"-"\u337f", + "\u3400"-"\u3d2d", + "\u4e00"-"\u9fff", + "\uf900"-"\ufaff" + ] + > + | + < #DIGIT: + [ + "0"-"9", + "\u0660"-"\u0669", + "\u06f0"-"\u06f9", + "\u0966"-"\u096f", + "\u09e6"-"\u09ef", + "\u0a66"-"\u0a6f", + "\u0ae6"-"\u0aef", + "\u0b66"-"\u0b6f", + "\u0be7"-"\u0bef", + "\u0c66"-"\u0c6f", + "\u0ce6"-"\u0cef", + "\u0d66"-"\u0d6f", + "\u0e50"-"\u0e59", + "\u0ed0"-"\u0ed9", + "\u1040"-"\u1049" + ] + > +}// IDENTIFIERS +<DEFAULT,BOUNDS> TOKEN : /* SEPARATORS */ +{ + < LBRACE : "{" > + | < RBRACE : "}" > + | < LBRACKET : "[" > + | < RBRACKET : "]" > + | < SEMICOLON : ";" > + | < LTSLASH : "</" > : DEFAULT + | < LTBANG : "<!" > : DEFAULT + | < LT : "<" > : DEFAULT + | < LTQ : "<?" > : DEFAULT + | < GT : ">" > : BOUNDS + | < QGT : "?>" > : BOUNDS +}// SEPARATORS +<DEFAULT,BOUNDS> TOKEN : /* OPERATORS */ +{ + < ASSIGN : "=" > +}// OPERATORS +Start Start() : {/*@bgen(jjtree) Start */ + Start jjtn000 = new Start(JJTSTART); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Start */ + try { +/*@egen*/ + Specification()/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + { return jjtn000; }/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Specification() : {/*@bgen(jjtree) Specification */ + Specification jjtn000 = new Specification(JJTSPECIFICATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Specification */ + try { +/*@egen*/ + XmlHeader()/*@bgen(jjtree) #Opt( true) */ + { + Opt jjtn001 = new Opt(JJTOPT); + boolean jjtc001 = true; + jjtree.openNodeScope(jjtn001); + } + try { +/*@egen*/ + ( [DocType()] )/*@bgen(jjtree)*/ + } catch (Throwable jjte001) { + if (jjtc001) { + jjtree.clearNodeScope(jjtn001); + jjtc001 = false; + } else { + jjtree.popNode(); + } + if (jjte001 instanceof RuntimeException) { + throw (RuntimeException)jjte001; + } + if (jjte001 instanceof ParseException) { + throw (ParseException)jjte001; + } + throw (Error)jjte001; + } finally { + if (jjtc001) { + jjtree.closeNodeScope(jjtn001, true); + } + } +/*@egen*/ + ElementList()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void DocType() : {/*@bgen(jjtree) DocType */ + DocType jjtn000 = new DocType(JJTDOCTYPE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/String s;} +{/*@bgen(jjtree) DocType */ + try { +/*@egen*/ + <LTBANG> + { + s = new String(); + if (getToken(1).kind != GT ) { + s += getData(); + } + }/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setSTRING(s);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +JAVACODE +String getData() { + StringBuffer s = new StringBuffer(); +// jjtThis.someData = true; + while ((getToken(1)).kind != LT && (getToken(1)).kind != LTSLASH) { + Token t = getNextToken(); + if (t.specialToken != null) { + Token tmp_t = t.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + s.append(tmp_t.image); + tmp_t = tmp_t.next; + } + } + s.append(t.image); + s.append(" "); + } + return s.toString(); +} + +void XmlHeader() : {/*@bgen(jjtree) XmlHeader */ + XmlHeader jjtn000 = new XmlHeader(JJTXMLHEADER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XmlHeader */ + try { +/*@egen*/ + <LTQ> <XML> AttributeList() <QGT>/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void ElementList() : {/*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) List */ + try { +/*@egen*/ + (Element())*/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void AttributeList() : {/*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) List */ + try { +/*@egen*/ + (Attribute())*/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void AttrValue() : {/*@bgen(jjtree) AttrValue */ + AttrValue jjtn000 = new AttrValue(JJTATTRVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t; } +{/*@bgen(jjtree) AttrValue */ + try { +/*@egen*/ + t = <STRING_LITERAL>/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(t.image);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Encoding() : {/*@bgen(jjtree) Encoding */ + Encoding jjtn000 = new Encoding(JJTENCODING); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Encoding */ + try { +/*@egen*/ + <encoding> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Version() : {/*@bgen(jjtree) Version */ + Version jjtn000 = new Version(JJTVERSION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Version */ + try { +/*@egen*/ + <version> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void XsiNoNamespaceSchemaLocation() : {/*@bgen(jjtree) XsiNoNamespaceSchemaLocation */ + XsiNoNamespaceSchemaLocation jjtn000 = new XsiNoNamespaceSchemaLocation(JJTXSINONAMESPACESCHEMALOCATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XsiNoNamespaceSchemaLocation */ + try { +/*@egen*/ + <XsiNoNamespaceSchemaLocation> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void XmlnsXsi() : {/*@bgen(jjtree) XmlnsXsi */ + XmlnsXsi jjtn000 = new XmlnsXsi(JJTXMLNSXSI); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XmlnsXsi */ + try { +/*@egen*/ + <XmlnsXsi> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Element() : {} +{ + ( <LT> ( + ActionTags() + | Stmt() + | _Attribute() + | Action() + | QID() + | Transition() + | Output() + | Parameter() + | XDF() + | Args() + | Entry() + | Expr() + | Note() + | Guards() + | Actor() + | Decl() + | ID() + | Type() + | Import() + | Op() + | Port() + | Input() + | Class() + | Schedule() + | Connection() + | Instance() + )) + | SimpleElement() +} + +void SimpleElement() : {} +{ + IntElement() + | FloatElement() + | StringElement() +} + +void IntElement() : {/*@bgen(jjtree) IntElement */ + IntElement jjtn000 = new IntElement(JJTINTELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t; } +{/*@bgen(jjtree) IntElement */ + try { +/*@egen*/ + t = <INTEGER_LITERAL>/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(t.image);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void FloatElement() : {/*@bgen(jjtree) FloatElement */ + FloatElement jjtn000 = new FloatElement(JJTFLOATELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t; } +{/*@bgen(jjtree) FloatElement */ + try { +/*@egen*/ + t = <FLOAT_LITERAL>/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(t.image);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void StringElement() : {/*@bgen(jjtree) StringElement */ + StringElement jjtn000 = new StringElement(JJTSTRINGELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t;String s; } +{/*@bgen(jjtree) StringElement */ + try { +/*@egen*/ + t = <IDENTIFIER> + { + s = t.image; + if (getToken(1).kind != GT ) { + s += getData(); + } + }/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(s);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Attribute() : {} +{ + Encoding() + | Version() + | XsiNoNamespaceSchemaLocation() + | XmlnsXsi() + | _to() + | literal_kind() + | src() + | kind() + | text_begin_col() + | port() + | dst_port() + | initial_state() + | id() + | value() + | from() + | text_end_line() + | text_end_col() + | src_port() + | assignable() + | text_begin_line() + | dst() + | name() + +} + +void Output() : {/*@bgen(jjtree) Output */ + Output jjtn000 = new Output(JJTOUTPUT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Output */ + try { +/*@egen*/ + <Output> AttributeList() + ( <GT> ElementList() "</" <Output> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Class() : {/*@bgen(jjtree) Class */ + Class jjtn000 = new Class(JJTCLASS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Class */ + try { +/*@egen*/ + <Class> AttributeList() + ( <GT> ElementList() "</" <Class> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Op() : {/*@bgen(jjtree) Op */ + Op jjtn000 = new Op(JJTOP); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Op */ + try { +/*@egen*/ + <Op> AttributeList() + ( <GT> ElementList() "</" <Op> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Parameter() : {/*@bgen(jjtree) Parameter */ + Parameter jjtn000 = new Parameter(JJTPARAMETER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Parameter */ + try { +/*@egen*/ + <Parameter> AttributeList() + ( <GT> ElementList() "</" <Parameter> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void QID() : {/*@bgen(jjtree) QID */ + QID jjtn000 = new QID(JJTQID); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) QID */ + try { +/*@egen*/ + <QID> AttributeList() + ( <GT> ElementList() "</" <QID> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void text_end_line() : {/*@bgen(jjtree) text_end_line */ + text_end_line jjtn000 = new text_end_line(JJTTEXT_END_LINE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) text_end_line */ + try { +/*@egen*/ + <text_end_line> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Connection() : {/*@bgen(jjtree) Connection */ + Connection jjtn000 = new Connection(JJTCONNECTION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Connection */ + try { +/*@egen*/ + <Connection> AttributeList() + ( <GT> ElementList() "</" <Connection> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Note() : {/*@bgen(jjtree) Note */ + Note jjtn000 = new Note(JJTNOTE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Note */ + try { +/*@egen*/ + <Note> AttributeList() + ( <GT> ElementList() "</" <Note> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void text_begin_line() : {/*@bgen(jjtree) text_begin_line */ + text_begin_line jjtn000 = new text_begin_line(JJTTEXT_BEGIN_LINE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) text_begin_line */ + try { +/*@egen*/ + <text_begin_line> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void name() : {/*@bgen(jjtree) name */ + name jjtn000 = new name(JJTNAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) name */ + try { +/*@egen*/ + <name> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void from() : {/*@bgen(jjtree) from */ + from jjtn000 = new from(JJTFROM); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) from */ + try { +/*@egen*/ + <from> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Instance() : {/*@bgen(jjtree) Instance */ + Instance jjtn000 = new Instance(JJTINSTANCE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Instance */ + try { +/*@egen*/ + <Instance> AttributeList() + ( <GT> ElementList() "</" <Instance> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Entry() : {/*@bgen(jjtree) Entry */ + Entry jjtn000 = new Entry(JJTENTRY); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Entry */ + try { +/*@egen*/ + <Entry> AttributeList() + ( <GT> ElementList() "</" <Entry> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void dst_port() : {/*@bgen(jjtree) dst_port */ + dst_port jjtn000 = new dst_port(JJTDST_PORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) dst_port */ + try { +/*@egen*/ + <dst_port> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Guards() : {/*@bgen(jjtree) Guards */ + Guards jjtn000 = new Guards(JJTGUARDS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Guards */ + try { +/*@egen*/ + <Guards> AttributeList() + ( <GT> ElementList() "</" <Guards> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void src() : {/*@bgen(jjtree) src */ + src jjtn000 = new src(JJTSRC); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) src */ + try { +/*@egen*/ + <src> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void ID() : {/*@bgen(jjtree) ID */ + ID jjtn000 = new ID(JJTID); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) ID */ + try { +/*@egen*/ + <ID> AttributeList() + ( <GT> ElementList() "</" <ID> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Action() : {/*@bgen(jjtree) Action */ + Action jjtn000 = new Action(JJTACTION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Action */ + try { +/*@egen*/ + <Action> AttributeList() + ( <GT> ElementList() "</" <Action> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Import() : {/*@bgen(jjtree) Import */ + Import jjtn000 = new Import(JJTIMPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Import */ + try { +/*@egen*/ + <Import> AttributeList() + ( <GT> ElementList() "</" <Import> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Port() : {/*@bgen(jjtree) Port */ + Port jjtn000 = new Port(JJTPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Port */ + try { +/*@egen*/ + <Port> AttributeList() + ( <GT> ElementList() "</" <Port> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void literal_kind() : {/*@bgen(jjtree) literal_kind */ + literal_kind jjtn000 = new literal_kind(JJTLITERAL_KIND); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) literal_kind */ + try { +/*@egen*/ + <literal_kind> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Transition() : {/*@bgen(jjtree) Transition */ + Transition jjtn000 = new Transition(JJTTRANSITION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Transition */ + try { +/*@egen*/ + <Transition> AttributeList() + ( <GT> ElementList() "</" <Transition> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void assignable() : {/*@bgen(jjtree) assignable */ + assignable jjtn000 = new assignable(JJTASSIGNABLE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) assignable */ + try { +/*@egen*/ + <assignable> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void initial_state() : {/*@bgen(jjtree) initial_state */ + initial_state jjtn000 = new initial_state(JJTINITIAL_STATE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) initial_state */ + try { +/*@egen*/ + <initial_state> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void ActionTags() : {/*@bgen(jjtree) ActionTags */ + ActionTags jjtn000 = new ActionTags(JJTACTIONTAGS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) ActionTags */ + try { +/*@egen*/ + <ActionTags> AttributeList() + ( <GT> ElementList() "</" <ActionTags> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Args() : {/*@bgen(jjtree) Args */ + Args jjtn000 = new Args(JJTARGS); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Args */ + try { +/*@egen*/ + <Args> AttributeList() + ( <GT> ElementList() "</" <Args> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void dst() : {/*@bgen(jjtree) dst */ + dst jjtn000 = new dst(JJTDST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) dst */ + try { +/*@egen*/ + <dst> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void id() : {/*@bgen(jjtree) id */ + id jjtn000 = new id(JJTID); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) id */ + try { +/*@egen*/ + <id> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Expr() : {/*@bgen(jjtree) Expr */ + Expr jjtn000 = new Expr(JJTEXPR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Expr */ + try { +/*@egen*/ + <Expr> AttributeList() + ( <GT> ElementList() "</" <Expr> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void port() : {/*@bgen(jjtree) port */ + port jjtn000 = new port(JJTPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) port */ + try { +/*@egen*/ + <port> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void text_begin_col() : {/*@bgen(jjtree) text_begin_col */ + text_begin_col jjtn000 = new text_begin_col(JJTTEXT_BEGIN_COL); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) text_begin_col */ + try { +/*@egen*/ + <text_begin_col> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void src_port() : {/*@bgen(jjtree) src_port */ + src_port jjtn000 = new src_port(JJTSRC_PORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) src_port */ + try { +/*@egen*/ + <src_port> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void text_end_col() : {/*@bgen(jjtree) text_end_col */ + text_end_col jjtn000 = new text_end_col(JJTTEXT_END_COL); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) text_end_col */ + try { +/*@egen*/ + <text_end_col> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void value() : {/*@bgen(jjtree) value */ + value jjtn000 = new value(JJTVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) value */ + try { +/*@egen*/ + <value> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Decl() : {/*@bgen(jjtree) Decl */ + Decl jjtn000 = new Decl(JJTDECL); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Decl */ + try { +/*@egen*/ + <Decl> AttributeList() + ( <GT> ElementList() "</" <Decl> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Input() : {/*@bgen(jjtree) Input */ + Input jjtn000 = new Input(JJTINPUT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Input */ + try { +/*@egen*/ + <Input> AttributeList() + ( <GT> ElementList() "</" <Input> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void kind() : {/*@bgen(jjtree) kind */ + kind jjtn000 = new kind(JJTKIND); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) kind */ + try { +/*@egen*/ + <kind> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Stmt() : {/*@bgen(jjtree) Stmt */ + Stmt jjtn000 = new Stmt(JJTSTMT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Stmt */ + try { +/*@egen*/ + <Stmt> AttributeList() + ( <GT> ElementList() "</" <Stmt> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Type() : {/*@bgen(jjtree) Type */ + Type jjtn000 = new Type(JJTTYPE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Type */ + try { +/*@egen*/ + <Type> AttributeList() + ( <GT> ElementList() "</" <Type> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void XDF() : {/*@bgen(jjtree) XDF */ + XDF jjtn000 = new XDF(JJTXDF); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XDF */ + try { +/*@egen*/ + <XDF> AttributeList() + ( <GT> ElementList() "</" <XDF> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void _Attribute() : {/*@bgen(jjtree) _Attribute */ + _Attribute jjtn000 = new _Attribute(JJT_ATTRIBUTE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) _Attribute */ + try { +/*@egen*/ + <_Attribute> AttributeList() + ( <GT> ElementList() "</" <_Attribute> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Schedule() : {/*@bgen(jjtree) Schedule */ + Schedule jjtn000 = new Schedule(JJTSCHEDULE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Schedule */ + try { +/*@egen*/ + <Schedule> AttributeList() + ( <GT> ElementList() "</" <Schedule> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void _to() : {/*@bgen(jjtree) _to */ + _to jjtn000 = new _to(JJT_TO); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) _to */ + try { +/*@egen*/ + <_to> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Actor() : {/*@bgen(jjtree) Actor */ + Actor jjtn000 = new Actor(JJTACTOR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Actor */ + try { +/*@egen*/ + <Actor> AttributeList() + ( <GT> ElementList() "</" <Actor> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} diff --git a/examples/actors/xlim/Merge.jrag b/examples/actors/xlim/Merge.jrag index 2edcdb3e20789a69ea8f78994d6958316dd937d2..76d199c5632d3a1d782f0a3308fa44748e05d2cc 100644 --- a/examples/actors/xlim/Merge.jrag +++ b/examples/actors/xlim/Merge.jrag @@ -9,6 +9,9 @@ import java.util.HashSet; aspect Merge { + public void Start.merge(Start dest) { + getSpecification().getDesign().merge(dest.getSpecification().getDesign()); + } public void design.merge(design dest) { HashSet<operation> ops = getOperations(new HashSet<operation>()); for (Element e : getElements()) { @@ -22,7 +25,15 @@ aspect Merge { } aspect Operations { - syn HashSet<operation> Element.getOperations(HashSet<operation> ops) = ops; + syn HashSet<operation> ASTNode.getOperations(HashSet<operation> ops) = ops; + eq Start.getOperations(HashSet<operation> ops) = + getSpecification().getOperations(ops); + eq Specification.getOperations(HashSet<operation> ops) { + for (Element e : getElements()) { + ops = e.getOperations(ops); + } + return ops; + } eq ComplexElement.getOperations(HashSet<operation> ops) { for (Element e : getElements()) { ops = e.getOperations(ops); diff --git a/examples/actors/xlim/SDF.jrag b/examples/actors/xlim/SDF.jrag index cb54f9d04fbfdb1b1d2886300c1e8edfded144f1..fbe90d8cf5a0146bad22cb4ed4a36215b082013e 100644 --- a/examples/actors/xlim/SDF.jrag +++ b/examples/actors/xlim/SDF.jrag @@ -52,6 +52,8 @@ aspect Misc { return s; } + syn design Specification.getDesign() = (design) getElement(0); + } aspect Fixes { diff --git a/examples/actors/xlimAST/ASTNode$State.java b/examples/actors/xlimAST/ASTNode$State.java new file mode 100644 index 0000000000000000000000000000000000000000..e53446672b898e52f187f5ac53fb6b264af53f8c --- /dev/null +++ b/examples/actors/xlimAST/ASTNode$State.java @@ -0,0 +1,51 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + +class ASTNode$State extends java.lang.Object { + // Declared in ASTNode.ast at line 46 + + private int[] stack; + + // Declared in ASTNode.ast at line 47 + + private int pos; + + // Declared in ASTNode.ast at line 48 + + public ASTNode$State() { + stack = new int[64]; + pos = 0; + } + + // Declared in ASTNode.ast at line 52 + + private void ensureSize(int size) { + if(size < stack.length) + return; + int[] newStack = new int[stack.length * 2]; + System.arraycopy(stack, 0, newStack, 0, stack.length); + stack = newStack; + } + + // Declared in ASTNode.ast at line 59 + + public void push(int i) { + ensureSize(pos+1); + stack[pos++] = i; + } + + // Declared in ASTNode.ast at line 63 + + public int pop() { + return stack[--pos]; + } + + // Declared in ASTNode.ast at line 66 + + public int peek() { + return stack[pos-1]; + } + + +} diff --git a/examples/actors/xlimAST/ASTNode.java b/examples/actors/xlimAST/ASTNode.java new file mode 100644 index 0000000000000000000000000000000000000000..b8329a994dd2ebdbd0adfc11b351868b9e46d2f7 --- /dev/null +++ b/examples/actors/xlimAST/ASTNode.java @@ -0,0 +1,405 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + +// Generated with JastAdd II (http://jastadd.cs.lth.se) version R20090428 + +public class ASTNode<T extends ASTNode> extends SimpleNode implements Cloneable, Iterable<T> { + public void flushCache() { + getOperations_HashSet_operation__visited = new java.util.HashMap(4); + isSDF_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public ASTNode<T> clone() throws CloneNotSupportedException { + ASTNode node = (ASTNode)super.clone(); + node.getOperations_HashSet_operation__visited = new java.util.HashMap(4); + node.isSDF_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ASTNode<T> copy() { + try { + ASTNode node = (ASTNode)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ASTNode<T> fullCopy() { + ASTNode res = (ASTNode)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 9 + + public void prettyPrint(String indent, PrintStream pStream) { + for (int i=0; i<getNumChild(); i++) { + getChild(i).prettyPrint(indent,pStream); + } + } + + // Declared in SDF.jrag at line 48 + + + static String fix(String s) { + if (s.indexOf('"') == 0) { + return s.substring(1,s.length()-1); + } + return s; + } + + // Declared in SDF.jrag at line 60 + + int numChildren; + + // Declared in SDF.jrag at line 61 + + int numChildren() {return jjtGetNumChildren();} + + // Declared in ASTNode.ast at line 3 + // Declared in ASTNode.ast line 0 + + public ASTNode(int i) { + super(i); + } + + // Declared in ASTNode.ast at line 6 + + public ASTNode(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in ASTNode.ast at line 10 + + public ASTNode() { + this(0); + + + } + + // Declared in ASTNode.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ASTNode"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in ASTNode.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in ASTNode.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in ASTNode.ast at line 32 + + +public void checkChild(Node n, int i) { +} + + // Declared in ASTNode.ast at line 35 + + + static public boolean generatedWithCircularEnabled = true; + + // Declared in ASTNode.ast at line 36 + + static public boolean generatedWithCacheCycle = true; + + // Declared in ASTNode.ast at line 37 + + static public boolean generatedWithComponentCheck = false; + + // Declared in ASTNode.ast at line 38 + + static public boolean IN_CIRCLE = false; + + // Declared in ASTNode.ast at line 39 + + static public int CIRCLE_INDEX; + + // Declared in ASTNode.ast at line 40 + + static public boolean CHANGE = false; + + // Declared in ASTNode.ast at line 41 + + static public boolean LAST_CYCLE = false; + + // Declared in ASTNode.ast at line 42 + + static public boolean RESET_CYCLE = false; + + // Declared in ASTNode.ast at line 43 + + public static int boundariesCrossed = 0; + + // Declared in ASTNode.ast at line 70 + + protected static ASTNode$State state = new ASTNode$State(); + + // Declared in ASTNode.ast at line 71 + + public boolean in$Circle = false; + + // Declared in ASTNode.ast at line 72 + + public boolean in$Circle() { return in$Circle; } + + // Declared in ASTNode.ast at line 73 + + public void in$Circle(boolean b) { in$Circle = b; } + + // Declared in ASTNode.ast at line 74 + + public boolean is$Final = false; + + // Declared in ASTNode.ast at line 75 + + public boolean is$Final() { return is$Final; } + + // Declared in ASTNode.ast at line 76 + + public void is$Final(boolean b) { is$Final = b; } + + // Declared in ASTNode.ast at line 77 + + protected static final int REWRITE_CHANGE = 1; + + // Declared in ASTNode.ast at line 78 + + protected static final int REWRITE_NOCHANGE = 2; + + // Declared in ASTNode.ast at line 79 + + protected static final int REWRITE_INTERRUPT = 3; + + // Declared in ASTNode.ast at line 80 + + @SuppressWarnings("cast") public T getChild(int i) { + return (T)ASTNode.getChild(this, i); + } + + // Declared in ASTNode.ast at line 83 + + public static ASTNode getChild(ASTNode that, int i) { + ASTNode node = that.getChildNoTransform(i); + if(node.is$Final()) return node; + if(!node.mayHaveRewrite()) { + node.is$Final(that.is$Final()); + return node; + } + if(!node.in$Circle()) { + int rewriteState; + int num = ASTNode.boundariesCrossed; + do { + ASTNode.state.push(ASTNode.REWRITE_CHANGE); + ASTNode oldNode = node; + oldNode.in$Circle(true); + node = node.rewriteTo(); + if(node != oldNode) + that.setChild(node, i); + oldNode.in$Circle(false); + rewriteState = state.pop(); + } while(rewriteState == ASTNode.REWRITE_CHANGE); + if(rewriteState == ASTNode.REWRITE_NOCHANGE && that.is$Final()) { + node.is$Final(true); + ASTNode.boundariesCrossed = num; + } + } + else if(that.is$Final() != node.is$Final()) boundariesCrossed++; + return node; + } + + // Declared in ASTNode.ast at line 111 + + private int childIndex; + + // Declared in ASTNode.ast at line 112 + + public int getIndexOfChild(ASTNode node) { + if(node != null && node.childIndex < getNumChildNoTransform() && node == getChildNoTransform(node.childIndex)) + return node.childIndex; + for(int i = 0; i < getNumChildNoTransform(); i++) + if(getChildNoTransform(i) == node) { + node.childIndex = i; + return i; + } + return -1; + } + + // Declared in ASTNode.ast at line 123 + + + public void addChild(T node) { + setChild(node, getNumChildNoTransform()); + } + + // Declared in ASTNode.ast at line 126 + + @SuppressWarnings("cast") public final T getChildNoTransform(int i) { + return (T)children[i]; + } + + // Declared in ASTNode.ast at line 129 + + public final int getNumChildNoTransform() { + return numChildren(); + } + + // Declared in ASTNode.ast at line 132 + + public int getNumChild() { + return (children == null) ? 0 : children.length; + } + + // Declared in ASTNode.ast at line 135 + + public void setChild(T node, int i) { + if(children == null) { + children = new ASTNode[i + 1]; + } else if (i >= children.length) { + ASTNode c[] = new ASTNode[i + 1]; + System.arraycopy(children, 0, c, 0, children.length); + children = c; + } + children[i] = node; + if(node != null) { node.setParent(this); node.childIndex = i; } + } + + // Declared in ASTNode.ast at line 146 + + public void insertChild(T node, int i) { + if(children == null) { + children = new ASTNode[i + 1]; + children[i] = node; + } else { + ASTNode c[] = new ASTNode[children.length + 1]; + System.arraycopy(children, 0, c, 0, i); + c[i] = node; + if(i < children.length) + System.arraycopy(children, i, c, i+1, children.length-i); + children = c; + } + if(node != null) { node.setParent(this); node.childIndex = i; } + } + + // Declared in ASTNode.ast at line 160 + + public void removeChild(int i) { + if(children != null) { + ASTNode child = (ASTNode) children[i]; + if(child != null) { + child.setParent(null); + child.childIndex = -1; + } + System.arraycopy(children, i+1, children, i, children.length-i-1); + numChildren--; + } + } + + // Declared in ASTNode.ast at line 171 + + public ASTNode getParent() { + if(parent != null && ((ASTNode)parent).is$Final() != is$Final()) { + boundariesCrossed++; + } + return (ASTNode)parent; + } + + // Declared in ASTNode.ast at line 177 + + public void setParent(ASTNode node) { + parent = node; + } + + // Declared in ASTNode.ast at line 180 + + public static void reset() { + IN_CIRCLE = false; + CIRCLE_INDEX = 0; + CHANGE = false; + LAST_CYCLE = false; + boundariesCrossed = 0; + state = new ASTNode$State(); + } + + // Declared in ASTNode.ast at line 188 + + public java.util.Iterator<T> iterator() { + return new java.util.Iterator<T>() { + private int counter = 0; + public boolean hasNext() { + return counter < getNumChild(); + } + @SuppressWarnings("unchecked") public T next() { + if(hasNext()) + return (T)getChild(counter++); + else + return null; + } + public void remove() { + throw new UnsupportedOperationException(); + } + }; + } + + // Declared in ASTNode.ast at line 205 + + public boolean mayHaveRewrite() { return false; } + + protected java.util.Map getOperations_HashSet_operation__visited; + // Declared in Merge.jrag at line 28 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<operation> getOperations(HashSet<operation> ops) { + Object _parameters = ops; +if(getOperations_HashSet_operation__visited == null) getOperations_HashSet_operation__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getOperations_HashSet_operation__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getOperations in class: "); + getOperations_HashSet_operation__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<operation> getOperations_HashSet_operation__value = getOperations_compute(ops); + getOperations_HashSet_operation__visited.remove(_parameters); + return getOperations_HashSet_operation__value; + } + + private HashSet<operation> getOperations_compute(HashSet<operation> ops) { return ops; } + + protected int isSDF_visited = -1; + // Declared in SDF.jrag at line 10 + @SuppressWarnings({"unchecked", "cast"}) public boolean isSDF() { + if(isSDF_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isSDF in class: "); + isSDF_visited = boundariesCrossed; + boolean isSDF_value = isSDF_compute(); + isSDF_visited = -1; + return isSDF_value; + } + + private boolean isSDF_compute() { return false; } + +public ASTNode rewriteTo() { + if(state.peek() == ASTNode.REWRITE_CHANGE) { + state.pop(); + state.push(ASTNode.REWRITE_NOCHANGE); + } + return this; +} + +} diff --git a/examples/actors/xlimAST/AttrValue.java b/examples/actors/xlimAST/AttrValue.java new file mode 100644 index 0000000000000000000000000000000000000000..bc4f86c22e7964a0319cbc777dfcf018d0aee75b --- /dev/null +++ b/examples/actors/xlimAST/AttrValue.java @@ -0,0 +1,134 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class AttrValue extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public AttrValue clone() throws CloneNotSupportedException { + AttrValue node = (AttrValue)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public AttrValue copy() { + try { + AttrValue node = (AttrValue)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public AttrValue fullCopy() { + AttrValue res = (AttrValue)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 29 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(getLITERAL()); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 18 + + public AttrValue(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public AttrValue(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public AttrValue() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 18 + public AttrValue(String p0) { + setLITERAL(p0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "AttrValue"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 18 + protected String tokenString_LITERAL; + + // Declared in xlim.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xlim.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Attribute.java b/examples/actors/xlimAST/Attribute.java new file mode 100644 index 0000000000000000000000000000000000000000..7ba3c2c20567d3d21fe13cd080cd9ab194b51133 --- /dev/null +++ b/examples/actors/xlimAST/Attribute.java @@ -0,0 +1,131 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class Attribute extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Attribute clone() throws CloneNotSupportedException { + Attribute node = (Attribute)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Attribute copy() { + try { + Attribute node = (Attribute)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Attribute fullCopy() { + Attribute res = (Attribute)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 17 + + public Attribute(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public Attribute(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public Attribute() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 17 + public Attribute(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Attribute"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/ComplexElement.java b/examples/actors/xlimAST/ComplexElement.java new file mode 100644 index 0000000000000000000000000000000000000000..cda458649c6001303eea6afdbf9d22e6a1fd784d --- /dev/null +++ b/examples/actors/xlimAST/ComplexElement.java @@ -0,0 +1,278 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class ComplexElement extends Element implements Cloneable { + public void flushCache() { + super.flushCache(); + getOperations_HashSet_operation__visited = new java.util.HashMap(4); + } + @SuppressWarnings({"unchecked", "cast"}) public ComplexElement clone() throws CloneNotSupportedException { + ComplexElement node = (ComplexElement)super.clone(); + node.getOperations_HashSet_operation__visited = new java.util.HashMap(4); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ComplexElement copy() { + try { + ComplexElement node = (ComplexElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ComplexElement fullCopy() { + ComplexElement res = (ComplexElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 11 + + public ComplexElement(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public ComplexElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public ComplexElement() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 11 + public ComplexElement(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ComplexElement"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected java.util.Map getOperations_HashSet_operation__visited; + // Declared in Merge.jrag at line 37 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<operation> getOperations(HashSet<operation> ops) { + Object _parameters = ops; +if(getOperations_HashSet_operation__visited == null) getOperations_HashSet_operation__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getOperations_HashSet_operation__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getOperations in class: "); + getOperations_HashSet_operation__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<operation> getOperations_HashSet_operation__value = getOperations_compute(ops); + getOperations_HashSet_operation__visited.remove(_parameters); + return getOperations_HashSet_operation__value; + } + + private HashSet<operation> getOperations_compute(HashSet<operation> ops) { + for (Element e : getElements()) { + ops = e.getOperations(ops); + } + return ops; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/DocType.java b/examples/actors/xlimAST/DocType.java new file mode 100644 index 0000000000000000000000000000000000000000..e3aa6f9c6380ad0290b688c17bfa26f8175e254a --- /dev/null +++ b/examples/actors/xlimAST/DocType.java @@ -0,0 +1,136 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class DocType extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public DocType clone() throws CloneNotSupportedException { + DocType node = (DocType)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public DocType copy() { + try { + DocType node = (DocType)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public DocType fullCopy() { + DocType res = (DocType)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 23 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print("<!"); + pStream.print(getSTRING()); + pStream.println(); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 8 + + public DocType(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public DocType(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public DocType() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 8 + public DocType(String p0) { + setSTRING(p0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "DocType"+ "\"" + getSTRING() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 8 + protected String tokenString_STRING; + + // Declared in xlim.ast at line 3 + + public void setSTRING(String value) { + tokenString_STRING = value; + } + + // Declared in xlim.ast at line 6 + + public String getSTRING() { + return tokenString_STRING != null ? tokenString_STRING : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Element.java b/examples/actors/xlimAST/Element.java new file mode 100644 index 0000000000000000000000000000000000000000..94a1e3a6c9ee2a0cda5d7af1e4767ee9a182f7c5 --- /dev/null +++ b/examples/actors/xlimAST/Element.java @@ -0,0 +1,99 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public abstract class Element extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + isAction_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Element clone() throws CloneNotSupportedException { + Element node = (Element)super.clone(); + node.isAction_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 10 + + public Element(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public Element(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public Element() { + this(0); + + + } + + // Declared in xlim.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Element"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 32 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 35 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 38 + + public boolean mayHaveRewrite() { return false; } + + protected int isAction_visited = -1; + // Declared in SDF.jrag at line 33 + @SuppressWarnings({"unchecked", "cast"}) public boolean isAction() { + if(isAction_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isAction in class: "); + isAction_visited = boundariesCrossed; + boolean isAction_value = isAction_compute(); + isAction_visited = -1; + return isAction_value; + } + + private boolean isAction_compute() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Encoding.java b/examples/actors/xlimAST/Encoding.java new file mode 100644 index 0000000000000000000000000000000000000000..477241add83c2d18515981870e87af9a7f38034a --- /dev/null +++ b/examples/actors/xlimAST/Encoding.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class Encoding extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Encoding clone() throws CloneNotSupportedException { + Encoding node = (Encoding)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Encoding copy() { + try { + Encoding node = (Encoding)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Encoding fullCopy() { + Encoding res = (Encoding)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 33 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" encoding="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 19 + + public Encoding(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public Encoding(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public Encoding() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 19 + public Encoding(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Encoding"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/FloatElement.java b/examples/actors/xlimAST/FloatElement.java new file mode 100644 index 0000000000000000000000000000000000000000..8f74462d2bec090714e6916460fd4a26eb1be7d2 --- /dev/null +++ b/examples/actors/xlimAST/FloatElement.java @@ -0,0 +1,127 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class FloatElement extends SimpleElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public FloatElement clone() throws CloneNotSupportedException { + FloatElement node = (FloatElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public FloatElement copy() { + try { + FloatElement node = (FloatElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public FloatElement fullCopy() { + FloatElement res = (FloatElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 16 + + public FloatElement(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public FloatElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public FloatElement() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 16 + public FloatElement(String p0) { + setLITERAL(p0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "FloatElement"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 16 + protected String tokenString_LITERAL; + + // Declared in xlim.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xlim.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/IntElement.java b/examples/actors/xlimAST/IntElement.java new file mode 100644 index 0000000000000000000000000000000000000000..7269411efc13badc66cedc2a251d585cd046dd71 --- /dev/null +++ b/examples/actors/xlimAST/IntElement.java @@ -0,0 +1,127 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class IntElement extends SimpleElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public IntElement clone() throws CloneNotSupportedException { + IntElement node = (IntElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public IntElement copy() { + try { + IntElement node = (IntElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public IntElement fullCopy() { + IntElement res = (IntElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 15 + + public IntElement(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public IntElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public IntElement() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 15 + public IntElement(String p0) { + setLITERAL(p0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "IntElement"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 15 + protected String tokenString_LITERAL; + + // Declared in xlim.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xlim.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/JJTXmlParserState.java b/examples/actors/xlimAST/JJTXmlParserState.java new file mode 100644 index 0000000000000000000000000000000000000000..5a86d8932181b61ada5429613f77b25054d71242 --- /dev/null +++ b/examples/actors/xlimAST/JJTXmlParserState.java @@ -0,0 +1,123 @@ +/* Generated By:JJTree: Do not edit this line. /home/csandersn/work/actors/xmlSchemCompiler/examples/actors/xlimAST/JJTXmlParserState.java */ + +package xlimAST; + +class JJTXmlParserState { + private java.util.Stack nodes; + private java.util.Stack marks; + + private int sp; // number of nodes on stack + private int mk; // current mark + private boolean node_created; + + JJTXmlParserState() { + nodes = new java.util.Stack(); + marks = new java.util.Stack(); + sp = 0; + mk = 0; + } + + /* Determines whether the current node was actually closed and + pushed. This should only be called in the final user action of a + node scope. */ + boolean nodeCreated() { + return node_created; + } + + /* Call this to reinitialize the node stack. It is called + automatically by the parser's ReInit() method. */ + void reset() { + nodes.removeAllElements(); + marks.removeAllElements(); + sp = 0; + mk = 0; + } + + /* Returns the root node of the AST. It only makes sense to call + this after a successful parse. */ + Node rootNode() { + return (Node)nodes.elementAt(0); + } + + /* Pushes a node on to the stack. */ + void pushNode(Node n) { + nodes.push(n); + ++sp; + } + + /* Returns the node on the top of the stack, and remove it from the + stack. */ + Node popNode() { + if (--sp < mk) { + mk = ((Integer)marks.pop()).intValue(); + } + return (Node)nodes.pop(); + } + + /* Returns the node currently on the top of the stack. */ + Node peekNode() { + return (Node)nodes.peek(); + } + + /* Returns the number of children on the stack in the current node + scope. */ + int nodeArity() { + return sp - mk; + } + + + void clearNodeScope(Node n) { + while (sp > mk) { + popNode(); + } + mk = ((Integer)marks.pop()).intValue(); + } + + + void openNodeScope(Node n) { + marks.push(new Integer(mk)); + mk = sp; + n.jjtOpen(); + } + + + /* A definite node is constructed from a specified number of + children. That number of nodes are popped from the stack and + made the children of the definite node. Then the definite node + is pushed on to the stack. */ + void closeNodeScope(Node n, int num) { + mk = ((Integer)marks.pop()).intValue(); + while (num-- > 0) { + Node c = popNode(); + c.jjtSetParent(n); + n.jjtAddChild(c, num); + } + n.jjtClose(); + pushNode(n); + node_created = true; + } + + + /* A conditional node is constructed if its condition is true. All + the nodes that have been pushed since the node was opened are + made children of the the conditional node, which is then pushed + on to the stack. If the condition is false the node is not + constructed and they are left on the stack. */ + void closeNodeScope(Node n, boolean condition) { + if (condition) { + int a = nodeArity(); + mk = ((Integer)marks.pop()).intValue(); + while (a-- > 0) { + Node c = popNode(); + c.jjtSetParent(n); + n.jjtAddChild(c, a); + } + n.jjtClose(); + pushNode(n); + node_created = true; + } else { + mk = ((Integer)marks.pop()).intValue(); + node_created = false; + } + } +} diff --git a/examples/actors/xlimAST/JavaCharStream.java b/examples/actors/xlimAST/JavaCharStream.java new file mode 100644 index 0000000000000000000000000000000000000000..cc87e1d1a36273d13a28f41745d6ca6a13aa0342 --- /dev/null +++ b/examples/actors/xlimAST/JavaCharStream.java @@ -0,0 +1,584 @@ +/* Generated By:JavaCC: Do not edit this line. JavaCharStream.java Version 4.0 */ +package xlimAST; + +/** + * An implementation of interface CharStream, where the stream is assumed to + * contain only ASCII characters (with java-like unicode escape processing). + */ + +public class JavaCharStream +{ + public static final boolean staticFlag = false; + static final int hexval(char c) throws java.io.IOException { + switch(c) + { + case '0' : + return 0; + case '1' : + return 1; + case '2' : + return 2; + case '3' : + return 3; + case '4' : + return 4; + case '5' : + return 5; + case '6' : + return 6; + case '7' : + return 7; + case '8' : + return 8; + case '9' : + return 9; + + case 'a' : + case 'A' : + return 10; + case 'b' : + case 'B' : + return 11; + case 'c' : + case 'C' : + return 12; + case 'd' : + case 'D' : + return 13; + case 'e' : + case 'E' : + return 14; + case 'f' : + case 'F' : + return 15; + } + + throw new java.io.IOException(); // Should never come here + } + + public int bufpos = -1; + int bufsize; + int available; + int tokenBegin; + protected int bufline[]; + protected int bufcolumn[]; + + protected int column = 0; + protected int line = 1; + + protected boolean prevCharIsCR = false; + protected boolean prevCharIsLF = false; + + protected java.io.Reader inputStream; + + protected char[] nextCharBuf; + protected char[] buffer; + protected int maxNextCharInd = 0; + protected int nextCharInd = -1; + protected int inBuf = 0; + protected int tabSize = 8; + + protected void setTabSize(int i) { tabSize = i; } + protected int getTabSize(int i) { return tabSize; } + + protected void ExpandBuff(boolean wrapAround) + { + char[] newbuffer = new char[bufsize + 2048]; + int newbufline[] = new int[bufsize + 2048]; + int newbufcolumn[] = new int[bufsize + 2048]; + + try + { + if (wrapAround) + { + System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); + System.arraycopy(buffer, 0, newbuffer, + bufsize - tokenBegin, bufpos); + buffer = newbuffer; + + System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); + System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos); + bufline = newbufline; + + System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); + System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos); + bufcolumn = newbufcolumn; + + bufpos += (bufsize - tokenBegin); + } + else + { + System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin); + buffer = newbuffer; + + System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin); + bufline = newbufline; + + System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin); + bufcolumn = newbufcolumn; + + bufpos -= tokenBegin; + } + } + catch (Throwable t) + { + throw new Error(t.getMessage()); + } + + available = (bufsize += 2048); + tokenBegin = 0; + } + + protected void FillBuff() throws java.io.IOException + { + int i; + if (maxNextCharInd == 4096) + maxNextCharInd = nextCharInd = 0; + + try { + if ((i = inputStream.read(nextCharBuf, maxNextCharInd, + 4096 - maxNextCharInd)) == -1) + { + inputStream.close(); + throw new java.io.IOException(); + } + else + maxNextCharInd += i; + return; + } + catch(java.io.IOException e) { + if (bufpos != 0) + { + --bufpos; + backup(0); + } + else + { + bufline[bufpos] = line; + bufcolumn[bufpos] = column; + } + throw e; + } + } + + protected char ReadByte() throws java.io.IOException + { + if (++nextCharInd >= maxNextCharInd) + FillBuff(); + + return nextCharBuf[nextCharInd]; + } + + public char BeginToken() throws java.io.IOException + { + if (inBuf > 0) + { + --inBuf; + + if (++bufpos == bufsize) + bufpos = 0; + + tokenBegin = bufpos; + return buffer[bufpos]; + } + + tokenBegin = 0; + bufpos = -1; + + return readChar(); + } + + protected void AdjustBuffSize() + { + if (available == bufsize) + { + if (tokenBegin > 2048) + { + bufpos = 0; + available = tokenBegin; + } + else + ExpandBuff(false); + } + else if (available > tokenBegin) + available = bufsize; + else if ((tokenBegin - available) < 2048) + ExpandBuff(true); + else + available = tokenBegin; + } + + protected void UpdateLineColumn(char c) + { + column++; + + if (prevCharIsLF) + { + prevCharIsLF = false; + line += (column = 1); + } + else if (prevCharIsCR) + { + prevCharIsCR = false; + if (c == '\n') + { + prevCharIsLF = true; + } + else + line += (column = 1); + } + + switch (c) + { + case '\r' : + prevCharIsCR = true; + break; + case '\n' : + prevCharIsLF = true; + break; + case '\t' : + column--; + column += (tabSize - (column % tabSize)); + break; + default : + break; + } + + bufline[bufpos] = line; + bufcolumn[bufpos] = column; + } + + public char readChar() throws java.io.IOException + { + if (inBuf > 0) + { + --inBuf; + + if (++bufpos == bufsize) + bufpos = 0; + + return buffer[bufpos]; + } + + char c; + + if (++bufpos == available) + AdjustBuffSize(); + + if ((buffer[bufpos] = c = ReadByte()) == '\\') + { + UpdateLineColumn(c); + + int backSlashCnt = 1; + + for (;;) // Read all the backslashes + { + if (++bufpos == available) + AdjustBuffSize(); + + try + { + if ((buffer[bufpos] = c = ReadByte()) != '\\') + { + UpdateLineColumn(c); + // found a non-backslash char. + if ((c == 'u') && ((backSlashCnt & 1) == 1)) + { + if (--bufpos < 0) + bufpos = bufsize - 1; + + break; + } + + backup(backSlashCnt); + return '\\'; + } + } + catch(java.io.IOException e) + { + if (backSlashCnt > 1) + backup(backSlashCnt); + + return '\\'; + } + + UpdateLineColumn(c); + backSlashCnt++; + } + + // Here, we have seen an odd number of backslash's followed by a 'u' + try + { + while ((c = ReadByte()) == 'u') + ++column; + + buffer[bufpos] = c = (char)(hexval(c) << 12 | + hexval(ReadByte()) << 8 | + hexval(ReadByte()) << 4 | + hexval(ReadByte())); + + column += 4; + } + catch(java.io.IOException e) + { + throw new Error("Invalid escape character at line " + line + + " column " + column + "."); + } + + if (backSlashCnt == 1) + return c; + else + { + backup(backSlashCnt - 1); + return '\\'; + } + } + else + { + UpdateLineColumn(c); + return (c); + } + } + + /** + * @deprecated + * @see #getEndColumn + */ + + public int getColumn() { + return bufcolumn[bufpos]; + } + + /** + * @deprecated + * @see #getEndLine + */ + + public int getLine() { + return bufline[bufpos]; + } + + public int getEndColumn() { + return bufcolumn[bufpos]; + } + + public int getEndLine() { + return bufline[bufpos]; + } + + public int getBeginColumn() { + return bufcolumn[tokenBegin]; + } + + public int getBeginLine() { + return bufline[tokenBegin]; + } + + public void backup(int amount) { + + inBuf += amount; + if ((bufpos -= amount) < 0) + bufpos += bufsize; + } + + public JavaCharStream(java.io.Reader dstream, + int startline, int startcolumn, int buffersize) + { + inputStream = dstream; + line = startline; + column = startcolumn - 1; + + available = bufsize = buffersize; + buffer = new char[buffersize]; + bufline = new int[buffersize]; + bufcolumn = new int[buffersize]; + nextCharBuf = new char[4096]; + } + + public JavaCharStream(java.io.Reader dstream, + int startline, int startcolumn) + { + this(dstream, startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.Reader dstream) + { + this(dstream, 1, 1, 4096); + } + public void ReInit(java.io.Reader dstream, + int startline, int startcolumn, int buffersize) + { + inputStream = dstream; + line = startline; + column = startcolumn - 1; + + if (buffer == null || buffersize != buffer.length) + { + available = bufsize = buffersize; + buffer = new char[buffersize]; + bufline = new int[buffersize]; + bufcolumn = new int[buffersize]; + nextCharBuf = new char[4096]; + } + prevCharIsLF = prevCharIsCR = false; + tokenBegin = inBuf = maxNextCharInd = 0; + nextCharInd = bufpos = -1; + } + + public void ReInit(java.io.Reader dstream, + int startline, int startcolumn) + { + ReInit(dstream, startline, startcolumn, 4096); + } + + public void ReInit(java.io.Reader dstream) + { + ReInit(dstream, 1, 1, 4096); + } + public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, + int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException + { + this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); + } + + public JavaCharStream(java.io.InputStream dstream, int startline, + int startcolumn, int buffersize) + { + this(new java.io.InputStreamReader(dstream), startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.InputStream dstream, String encoding, int startline, + int startcolumn) throws java.io.UnsupportedEncodingException + { + this(dstream, encoding, startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.InputStream dstream, int startline, + int startcolumn) + { + this(dstream, startline, startcolumn, 4096); + } + + public JavaCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException + { + this(dstream, encoding, 1, 1, 4096); + } + + public JavaCharStream(java.io.InputStream dstream) + { + this(dstream, 1, 1, 4096); + } + + public void ReInit(java.io.InputStream dstream, String encoding, int startline, + int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException + { + ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize); + } + + public void ReInit(java.io.InputStream dstream, int startline, + int startcolumn, int buffersize) + { + ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize); + } + public void ReInit(java.io.InputStream dstream, String encoding, int startline, + int startcolumn) throws java.io.UnsupportedEncodingException + { + ReInit(dstream, encoding, startline, startcolumn, 4096); + } + public void ReInit(java.io.InputStream dstream, int startline, + int startcolumn) + { + ReInit(dstream, startline, startcolumn, 4096); + } + public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException + { + ReInit(dstream, encoding, 1, 1, 4096); + } + + public void ReInit(java.io.InputStream dstream) + { + ReInit(dstream, 1, 1, 4096); + } + + public String GetImage() + { + if (bufpos >= tokenBegin) + return new String(buffer, tokenBegin, bufpos - tokenBegin + 1); + else + return new String(buffer, tokenBegin, bufsize - tokenBegin) + + new String(buffer, 0, bufpos + 1); + } + + public char[] GetSuffix(int len) + { + char[] ret = new char[len]; + + if ((bufpos + 1) >= len) + System.arraycopy(buffer, bufpos - len + 1, ret, 0, len); + else + { + System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0, + len - bufpos - 1); + System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1); + } + + return ret; + } + + public void Done() + { + nextCharBuf = null; + buffer = null; + bufline = null; + bufcolumn = null; + } + + /** + * Method to adjust line and column numbers for the start of a token. + */ + public void adjustBeginLineColumn(int newLine, int newCol) + { + int start = tokenBegin; + int len; + + if (bufpos >= tokenBegin) + { + len = bufpos - tokenBegin + inBuf + 1; + } + else + { + len = bufsize - tokenBegin + bufpos + 1 + inBuf; + } + + int i = 0, j = 0, k = 0; + int nextColDiff = 0, columnDiff = 0; + + while (i < len && + bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) + { + bufline[j] = newLine; + nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j]; + bufcolumn[j] = newCol + columnDiff; + columnDiff = nextColDiff; + i++; + } + + if (i < len) + { + bufline[j] = newLine++; + bufcolumn[j] = newCol + columnDiff; + + while (i++ < len) + { + if (bufline[j = start % bufsize] != bufline[++start % bufsize]) + bufline[j] = newLine++; + else + bufline[j] = newLine; + } + } + + line = bufline[j]; + column = bufcolumn[j]; + } + +} diff --git a/examples/actors/xlimAST/List.java b/examples/actors/xlimAST/List.java new file mode 100644 index 0000000000000000000000000000000000000000..a1ea1008389be8d1c0407e3f35f01d7a52c792d6 --- /dev/null +++ b/examples/actors/xlimAST/List.java @@ -0,0 +1,144 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; +public class List<T extends ASTNode> extends ASTNode<T> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public List<T> clone() throws CloneNotSupportedException { + List node = (List)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public List<T> copy() { + try { + List node = (List)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public List<T> fullCopy() { + List res = (List)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in SDF.jrag at line 62 + + int getNumNoTransformChild() {return getNumChildNoTransform();} + + // Declared in List.ast at line 3 + // Declared in List.ast line 0 + + public List(int i) { + super(i); + } + + // Declared in List.ast at line 6 + + public List(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in List.ast at line 10 + + public List() { + this(0); + + + } + + // Declared in List.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "List"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in List.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in List.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in List.ast at line 32 + + +public void checkChild(Node n, int i) { + if(!(n instanceof ASTNode)) throw new Error("The node type of child " + i + " must be an instance of ASTNode"); +} + + // Declared in List.ast at line 36 + + + public List<T> add(T node) { + addChild(node); + return this; + } + + // Declared in List.ast at line 41 + + + public void insertChild(T node, int i) { + list$touched = true; + super.insertChild(node, i); + } + + // Declared in List.ast at line 45 + + public void addChild(T node) { + list$touched = true; + super.addChild(node); + } + + // Declared in List.ast at line 49 + + public void removeChild(int i) { + list$touched = true; + super.removeChild(i); + } + + // Declared in List.ast at line 53 + + public int getNumChild() { + if(list$touched) { + for(int i = 0; i < getNumChildNoTransform(); i++) + getChild(i); + list$touched = false; + } + return getNumChildNoTransform(); + } + + // Declared in List.ast at line 61 + + private boolean list$touched = true; + + // Declared in List.ast at line 62 + + public boolean mayHaveRewrite() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Node.java b/examples/actors/xlimAST/Node.java new file mode 100644 index 0000000000000000000000000000000000000000..a85d16a68600acfe9440abe38fa669642b714118 --- /dev/null +++ b/examples/actors/xlimAST/Node.java @@ -0,0 +1,37 @@ +/* Generated By:JJTree: Do not edit this line. Node.java */ + +package xlimAST; + +/* All AST nodes must implement this interface. It provides basic + machinery for constructing the parent and child relationships + between nodes. */ + +public interface Node { + + /** This method is called after the node has been made the current + node. It indicates that child nodes can now be added to it. */ + public void jjtOpen(); + + /** This method is called after all the child nodes have been + added. */ + public void jjtClose(); + + /** This pair of methods are used to inform the node of its + parent. */ + public void jjtSetParent(Node n); + public Node jjtGetParent(); + + /** This method tells the node to add its argument to the node's + list of children. */ + public void jjtAddChild(Node n, int i); + + /** This method returns a child node. The children are numbered + from zero, left to right. */ + public Node jjtGetChild(int i); + + /** Return the number of children the node has. */ + public int jjtGetNumChildren(); + + /** Accept the visitor. **/ + public Object jjtAccept(XmlParserVisitor visitor, Object data); +} diff --git a/examples/actors/xlimAST/Opt.java b/examples/actors/xlimAST/Opt.java new file mode 100644 index 0000000000000000000000000000000000000000..ae1cd0a4f567887f7209db14e5a4ed327f06b6df --- /dev/null +++ b/examples/actors/xlimAST/Opt.java @@ -0,0 +1,108 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; +public class Opt<T extends ASTNode> extends ASTNode<T> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Opt<T> clone() throws CloneNotSupportedException { + Opt node = (Opt)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Opt<T> copy() { + try { + Opt node = (Opt)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Opt<T> fullCopy() { + Opt res = (Opt)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in SDF.jrag at line 63 + + int getNumChildNoTransfrom() {return getNumChildNoTransform();} + + // Declared in Opt.ast at line 3 + // Declared in Opt.ast line 0 + + public Opt(int i) { + super(i); + } + + // Declared in Opt.ast at line 6 + + public Opt(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in Opt.ast at line 10 + + public Opt() { + this(0); + + + } + + // Declared in Opt.ast at line 16 + + + public Opt(T opt) { + setChild(opt, 0); + } + + // Declared in Opt.ast at line 20 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Opt"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in Opt.ast at line 27 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in Opt.ast at line 31 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in Opt.ast at line 36 + + +public void checkChild(Node n, int i) { + if(i > 0) throw new Error("Optional nodes can only have one child"); + if(!(n instanceof ASTNode)) throw new Error("Node type must be an instance of ASTNode"); +} + + // Declared in Opt.ast at line 41 + + + public boolean mayHaveRewrite() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/PHI.java b/examples/actors/xlimAST/PHI.java new file mode 100644 index 0000000000000000000000000000000000000000..d3b4ab7154bda7660ee4bf98dfbe723343747e89 --- /dev/null +++ b/examples/actors/xlimAST/PHI.java @@ -0,0 +1,276 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class PHI extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public PHI clone() throws CloneNotSupportedException { + PHI node = (PHI)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public PHI copy() { + try { + PHI node = (PHI)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public PHI fullCopy() { + PHI res = (PHI)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 80 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<PHI "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</PHI> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 28 + + public PHI(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public PHI(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public PHI() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 28 + public PHI(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "PHI"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/ParseException.java b/examples/actors/xlimAST/ParseException.java new file mode 100644 index 0000000000000000000000000000000000000000..f68d3a5970fd2de9330c76b3af37b5e27abebef7 --- /dev/null +++ b/examples/actors/xlimAST/ParseException.java @@ -0,0 +1,192 @@ +/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 3.0 */ +package xlimAST; + +/** + * This exception is thrown when parse errors are encountered. + * You can explicitly create objects of this exception type by + * calling the method generateParseException in the generated + * parser. + * + * You can modify this class to customize your error reporting + * mechanisms so long as you retain the public fields. + */ +public class ParseException extends Exception { + + /** + * This constructor is used by the method "generateParseException" + * in the generated parser. Calling this constructor generates + * a new object of this type with the fields "currentToken", + * "expectedTokenSequences", and "tokenImage" set. The boolean + * flag "specialConstructor" is also set to true to indicate that + * this constructor was used to create this object. + * This constructor calls its super class with the empty string + * to force the "toString" method of parent class "Throwable" to + * print the error message in the form: + * ParseException: <result of getMessage> + */ + public ParseException(Token currentTokenVal, + int[][] expectedTokenSequencesVal, + String[] tokenImageVal + ) + { + super(""); + specialConstructor = true; + currentToken = currentTokenVal; + expectedTokenSequences = expectedTokenSequencesVal; + tokenImage = tokenImageVal; + } + + /** + * The following constructors are for use by you for whatever + * purpose you can think of. Constructing the exception in this + * manner makes the exception behave in the normal way - i.e., as + * documented in the class "Throwable". The fields "errorToken", + * "expectedTokenSequences", and "tokenImage" do not contain + * relevant information. The JavaCC generated code does not use + * these constructors. + */ + + public ParseException() { + super(); + specialConstructor = false; + } + + public ParseException(String message) { + super(message); + specialConstructor = false; + } + + /** + * This variable determines which constructor was used to create + * this object and thereby affects the semantics of the + * "getMessage" method (see below). + */ + protected boolean specialConstructor; + + /** + * This is the last token that has been consumed successfully. If + * this object has been created due to a parse error, the token + * followng this token will (therefore) be the first error token. + */ + public Token currentToken; + + /** + * Each entry in this array is an array of integers. Each array + * of integers represents a sequence of tokens (by their ordinal + * values) that is expected at this point of the parse. + */ + public int[][] expectedTokenSequences; + + /** + * This is a reference to the "tokenImage" array of the generated + * parser within which the parse error occurred. This array is + * defined in the generated ...Constants interface. + */ + public String[] tokenImage; + + /** + * This method has the standard behavior when this object has been + * created using the standard constructors. Otherwise, it uses + * "currentToken" and "expectedTokenSequences" to generate a parse + * error message and returns it. If this object has been created + * due to a parse error, and you do not catch it (it gets thrown + * from the parser), then this method is called during the printing + * of the final stack trace, and hence the correct error message + * gets displayed. + */ + public String getMessage() { + if (!specialConstructor) { + return super.getMessage(); + } + StringBuffer expected = new StringBuffer(); + int maxSize = 0; + for (int i = 0; i < expectedTokenSequences.length; i++) { + if (maxSize < expectedTokenSequences[i].length) { + maxSize = expectedTokenSequences[i].length; + } + for (int j = 0; j < expectedTokenSequences[i].length; j++) { + expected.append(tokenImage[expectedTokenSequences[i][j]]).append(" "); + } + if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) { + expected.append("..."); + } + expected.append(eol).append(" "); + } + String retval = "Encountered \""; + Token tok = currentToken.next; + for (int i = 0; i < maxSize; i++) { + if (i != 0) retval += " "; + if (tok.kind == 0) { + retval += tokenImage[0]; + break; + } + retval += add_escapes(tok.image); + tok = tok.next; + } + retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn; + retval += "." + eol; + if (expectedTokenSequences.length == 1) { + retval += "Was expecting:" + eol + " "; + } else { + retval += "Was expecting one of:" + eol + " "; + } + retval += expected.toString(); + return retval; + } + + /** + * The end of line string for this machine. + */ + protected String eol = System.getProperty("line.separator", "\n"); + + /** + * Used to convert raw characters to their escaped version + * when these raw version cannot be used as part of an ASCII + * string literal. + */ + protected String add_escapes(String str) { + StringBuffer retval = new StringBuffer(); + char ch; + for (int i = 0; i < str.length(); i++) { + switch (str.charAt(i)) + { + case 0 : + continue; + case '\b': + retval.append("\\b"); + continue; + case '\t': + retval.append("\\t"); + continue; + case '\n': + retval.append("\\n"); + continue; + case '\f': + retval.append("\\f"); + continue; + case '\r': + retval.append("\\r"); + continue; + case '\"': + retval.append("\\\""); + continue; + case '\'': + retval.append("\\\'"); + continue; + case '\\': + retval.append("\\\\"); + continue; + default: + if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { + String s = "0000" + Integer.toString(ch, 16); + retval.append("\\u" + s.substring(s.length() - 4, s.length())); + } else { + retval.append(ch); + } + continue; + } + } + return retval.toString(); + } + +} diff --git a/examples/actors/xlimAST/SimpleElement.java b/examples/actors/xlimAST/SimpleElement.java new file mode 100644 index 0000000000000000000000000000000000000000..de5656500ab05bc42751c302ec4214724afe53dd --- /dev/null +++ b/examples/actors/xlimAST/SimpleElement.java @@ -0,0 +1,84 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public abstract class SimpleElement extends Element implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public SimpleElement clone() throws CloneNotSupportedException { + SimpleElement node = (SimpleElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 13 + + public SimpleElement(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public SimpleElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public SimpleElement() { + this(0); + + + } + + // Declared in xlim.ast at line 16 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "SimpleElement"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 23 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 27 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 32 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 35 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 38 + + public boolean mayHaveRewrite() { return false; } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/SimpleNode.java b/examples/actors/xlimAST/SimpleNode.java new file mode 100644 index 0000000000000000000000000000000000000000..b1b9aeecab0d2db7cb570dbebe5cbaa33428a588 --- /dev/null +++ b/examples/actors/xlimAST/SimpleNode.java @@ -0,0 +1,87 @@ +/* Generated By:JJTree: Do not edit this line. SimpleNode.java */ + +package xlimAST; + +public class SimpleNode implements Node { + protected Node parent; + protected Node[] children; + protected int id; + protected XmlParser parser; + + public SimpleNode(int i) { + id = i; + } + + public SimpleNode(XmlParser p, int i) { + this(i); + parser = p; + } + + public void jjtOpen() { + } + + public void jjtClose() { + } + + public void jjtSetParent(Node n) { parent = n; } + public Node jjtGetParent() { return parent; } + + public void jjtAddChild(Node n, int i) { + if (children == null) { + children = new Node[i + 1]; + } else if (i >= children.length) { + Node c[] = new Node[i + 1]; + System.arraycopy(children, 0, c, 0, children.length); + children = c; + } + children[i] = n; + } + + public Node jjtGetChild(int i) { + return children[i]; + } + + public int jjtGetNumChildren() { + return (children == null) ? 0 : children.length; + } + + /** Accept the visitor. **/ + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + /** Accept the visitor. **/ + public Object childrenAccept(XmlParserVisitor visitor, Object data) { + if (children != null) { + for (int i = 0; i < children.length; ++i) { + children[i].jjtAccept(visitor, data); + } + } + return data; + } + + /* You can override these two methods in subclasses of SimpleNode to + customize the way the node appears when the tree is dumped. If + your output uses more than one line you should override + toString(String), otherwise overriding toString() is probably all + you need to do. */ + + public String toString() { return XmlParserTreeConstants.jjtNodeName[id]; } + public String toString(String prefix) { return prefix + toString(); } + + /* Override this method if you want to customize how the node dumps + out its children. */ + + public void dump(String prefix) { + System.out.println(toString(prefix)); + if (children != null) { + for (int i = 0; i < children.length; ++i) { + SimpleNode n = (SimpleNode)children[i]; + if (n != null) { + n.dump(prefix + " "); + } + } + } + } +} + diff --git a/examples/actors/xlimAST/Specification.java b/examples/actors/xlimAST/Specification.java new file mode 100644 index 0000000000000000000000000000000000000000..31dad297086b0539d12d2186ab6f4d86882d0cfa --- /dev/null +++ b/examples/actors/xlimAST/Specification.java @@ -0,0 +1,308 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class Specification extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + getOperations_HashSet_operation__visited = new java.util.HashMap(4); + isSDF_visited = -1; + getDesign_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Specification clone() throws CloneNotSupportedException { + Specification node = (Specification)super.clone(); + node.getOperations_HashSet_operation__visited = new java.util.HashMap(4); + node.isSDF_visited = -1; + node.getDesign_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Specification copy() { + try { + Specification node = (Specification)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Specification fullCopy() { + Specification res = (Specification)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 6 + + public Specification(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public Specification(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public Specification() { + this(0); + + setChild(new Opt(), 1); + setChild(new List(), 2); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 6 + public Specification(XmlHeader p0, Opt<DocType> p1, List<Element> p2) { + setChild(p0, 0); + setChild(p1, 1); + setChild(p2, 2); + } + + // Declared in xlim.ast at line 25 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Specification"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 32 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 36 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 41 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof XmlHeader)) throw new Error("Child number 0 of Specification has the type " + n.getClass().getName() + " which is not an instance of XmlHeader"); + if(i == 1) { + if(!(n instanceof Opt)) throw new Error("Child number 1 of Specification has the type " + n.getClass().getName() + " which is not an instance of Opt"); + if(((Opt)n).getNumChildNoTransfrom() != 0 && !(((Opt)n).getChildNoTransform(0) instanceof DocType)) throw new Error("Optional DocType has the type " + ((Opt)n).getChildNoTransform(0).getClass().getName() + " which is not an instance of DocType"); + } + if(i == 2) { + if(!(n instanceof List)) throw new Error("Child number 2 of Specification has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 54 + + + public int getNumChild() { + return 3; + } + + // Declared in xlim.ast at line 57 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 6 + public void setXmlHeader(XmlHeader node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public XmlHeader getXmlHeader() { + return (XmlHeader)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public XmlHeader getXmlHeaderNoTransform() { + return (XmlHeader)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 6 + public void setDocTypeOpt(Opt<DocType> opt) { + setChild(opt, 1); + } + + // Declared in xlim.ast at line 6 + + + public boolean hasDocType() { + return getDocTypeOpt().getNumChild() != 0; + } + + // Declared in xlim.ast at line 10 + + + @SuppressWarnings({"unchecked", "cast"}) public DocType getDocType() { + return (DocType)getDocTypeOpt().getChild(0); + } + + // Declared in xlim.ast at line 14 + + + public void setDocType(DocType node) { + getDocTypeOpt().setChild(node, 0); + } + + // Declared in xlim.ast at line 17 + + @SuppressWarnings({"unchecked", "cast"}) public Opt<DocType> getDocTypeOpt() { + return (Opt<DocType>)getChild(1); + } + + // Declared in xlim.ast at line 21 + + + @SuppressWarnings({"unchecked", "cast"}) public Opt<DocType> getDocTypeOptNoTransform() { + return (Opt<DocType>)getChildNoTransform(1); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 6 + public void setElementList(List<Element> list) { + setChild(list, 2); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(2); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(2); + } + + protected java.util.Map getOperations_HashSet_operation__visited; + // Declared in Merge.jrag at line 31 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<operation> getOperations(HashSet<operation> ops) { + Object _parameters = ops; +if(getOperations_HashSet_operation__visited == null) getOperations_HashSet_operation__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getOperations_HashSet_operation__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getOperations in class: "); + getOperations_HashSet_operation__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<operation> getOperations_HashSet_operation__value = getOperations_compute(ops); + getOperations_HashSet_operation__visited.remove(_parameters); + return getOperations_HashSet_operation__value; + } + + private HashSet<operation> getOperations_compute(HashSet<operation> ops) { + for (Element e : getElements()) { + ops = e.getOperations(ops); + } + return ops; + } + + protected int isSDF_visited = -1; + // Declared in SDF.jrag at line 12 + @SuppressWarnings({"unchecked", "cast"}) public boolean isSDF() { + if(isSDF_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isSDF in class: "); + isSDF_visited = boundariesCrossed; + boolean isSDF_value = isSDF_compute(); + isSDF_visited = -1; + return isSDF_value; + } + + private boolean isSDF_compute() { + boolean result = false; + for (Element e : getElements()) { + result |= e.isSDF(); + } + return result; + } + + protected int getDesign_visited = -1; + // Declared in SDF.jrag at line 55 + @SuppressWarnings({"unchecked", "cast"}) public design getDesign() { + if(getDesign_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: getDesign in class: "); + getDesign_visited = boundariesCrossed; + design getDesign_value = getDesign_compute(); + getDesign_visited = -1; + return getDesign_value; + } + + private design getDesign_compute() { return (design) getElement(0); } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Start.java b/examples/actors/xlimAST/Start.java new file mode 100644 index 0000000000000000000000000000000000000000..093a2d2af1b693ce06b884a076e38831ed6c418a --- /dev/null +++ b/examples/actors/xlimAST/Start.java @@ -0,0 +1,176 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; +// -*-Java-*- + +// Automatically generated JastAdd abstract grammar file +// Predefined types + +public class Start extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + getOperations_HashSet_operation__visited = new java.util.HashMap(4); + isSDF_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public Start clone() throws CloneNotSupportedException { + Start node = (Start)super.clone(); + node.getOperations_HashSet_operation__visited = new java.util.HashMap(4); + node.isSDF_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Start copy() { + try { + Start node = (Start)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Start fullCopy() { + Start res = (Start)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in Merge.jrag at line 12 + + public void merge(Start dest) { + getSpecification().getDesign().merge(dest.getSpecification().getDesign()); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 5 + + public Start(int i) { + super(i); + is$Final(true); + } + + // Declared in xlim.ast at line 7 + + public Start(XmlParser p, int i) { + this(i); + parser = p; + is$Final(true); + } + + // Declared in xlim.ast at line 12 + + public Start() { + this(0); + + is$Final(true); + + } + + // Declared in xlim.ast at line 20 + + + // Declared in xlim.ast line 5 + public Start(Specification p0) { + setChild(p0, 0); + is$Final(true); + } + + // Declared in xlim.ast at line 25 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Start"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 32 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 36 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 41 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof Specification)) throw new Error("Child number 0 of Start has the type " + n.getClass().getName() + " which is not an instance of Specification"); +} + + // Declared in xlim.ast at line 45 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 48 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 5 + public void setSpecification(Specification node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public Specification getSpecification() { + return (Specification)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public Specification getSpecificationNoTransform() { + return (Specification)getChildNoTransform(0); + } + + protected java.util.Map getOperations_HashSet_operation__visited; + // Declared in Merge.jrag at line 29 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<operation> getOperations(HashSet<operation> ops) { + Object _parameters = ops; +if(getOperations_HashSet_operation__visited == null) getOperations_HashSet_operation__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getOperations_HashSet_operation__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getOperations in class: "); + getOperations_HashSet_operation__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<operation> getOperations_HashSet_operation__value = getOperations_compute(ops); + getOperations_HashSet_operation__visited.remove(_parameters); + return getOperations_HashSet_operation__value; + } + + private HashSet<operation> getOperations_compute(HashSet<operation> ops) { return getSpecification().getOperations(ops); } + + protected int isSDF_visited = -1; + // Declared in SDF.jrag at line 11 + @SuppressWarnings({"unchecked", "cast"}) public boolean isSDF() { + if(isSDF_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isSDF in class: "); + isSDF_visited = boundariesCrossed; + boolean isSDF_value = isSDF_compute(); + isSDF_visited = -1; + return isSDF_value; + } + + private boolean isSDF_compute() { return getSpecification().isSDF(); } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/StringElement.java b/examples/actors/xlimAST/StringElement.java new file mode 100644 index 0000000000000000000000000000000000000000..e1d7ff8cadfac77ababbd5eb71e4cf353c597621 --- /dev/null +++ b/examples/actors/xlimAST/StringElement.java @@ -0,0 +1,127 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class StringElement extends SimpleElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public StringElement clone() throws CloneNotSupportedException { + StringElement node = (StringElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public StringElement copy() { + try { + StringElement node = (StringElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public StringElement fullCopy() { + StringElement res = (StringElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 14 + + public StringElement(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public StringElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public StringElement() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 14 + public StringElement(String p0) { + setLITERAL(p0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "StringElement"+ "\"" + getLITERAL() + "\""); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { +} + + // Declared in xlim.ast at line 40 + + + public int getNumChild() { + return 0; + } + + // Declared in xlim.ast at line 43 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 14 + protected String tokenString_LITERAL; + + // Declared in xlim.ast at line 3 + + public void setLITERAL(String value) { + tokenString_LITERAL = value; + } + + // Declared in xlim.ast at line 6 + + public String getLITERAL() { + return tokenString_LITERAL != null ? tokenString_LITERAL : ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Thing.java b/examples/actors/xlimAST/Thing.java new file mode 100644 index 0000000000000000000000000000000000000000..449ae5de4cb4bd4c46ebab9864605eb75186ca4d --- /dev/null +++ b/examples/actors/xlimAST/Thing.java @@ -0,0 +1,237 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public abstract class Thing extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Thing clone() throws CloneNotSupportedException { + Thing node = (Thing)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 9 + + public Thing(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public Thing(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public Thing() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 9 + public Thing(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Thing"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Token.java b/examples/actors/xlimAST/Token.java new file mode 100644 index 0000000000000000000000000000000000000000..8be820376a3faf434a719775907eb2fa02e3ce6c --- /dev/null +++ b/examples/actors/xlimAST/Token.java @@ -0,0 +1,81 @@ +/* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */ +package xlimAST; + +/** + * Describes the input token stream. + */ + +public class Token { + + /** + * An integer that describes the kind of this token. This numbering + * system is determined by JavaCCParser, and a table of these numbers is + * stored in the file ...Constants.java. + */ + public int kind; + + /** + * beginLine and beginColumn describe the position of the first character + * of this token; endLine and endColumn describe the position of the + * last character of this token. + */ + public int beginLine, beginColumn, endLine, endColumn; + + /** + * The string image of the token. + */ + public String image; + + /** + * A reference to the next regular (non-special) token from the input + * stream. If this is the last token from the input stream, or if the + * token manager has not read tokens beyond this one, this field is + * set to null. This is true only if this token is also a regular + * token. Otherwise, see below for a description of the contents of + * this field. + */ + public Token next; + + /** + * This field is used to access special tokens that occur prior to this + * token, but after the immediately preceding regular (non-special) token. + * If there are no such special tokens, this field is set to null. + * When there are more than one such special token, this field refers + * to the last of these special tokens, which in turn refers to the next + * previous special token through its specialToken field, and so on + * until the first special token (whose specialToken field is null). + * The next fields of special tokens refer to other special tokens that + * immediately follow it (without an intervening regular token). If there + * is no such token, this field is null. + */ + public Token specialToken; + + /** + * Returns the image. + */ + public String toString() + { + return image; + } + + /** + * Returns a new Token object, by default. However, if you want, you + * can create and return subclass objects based on the value of ofKind. + * Simply add the cases to the switch for all those special cases. + * For example, if you have a subclass of Token called IDToken that + * you want to create if ofKind is ID, simlpy add something like : + * + * case MyParserConstants.ID : return new IDToken(); + * + * to the following switch statement. Then you can cast matchedToken + * variable to the appropriate type and use it in your lexical actions. + */ + public static final Token newToken(int ofKind) + { + switch(ofKind) + { + default : return new Token(); + } + } + +} diff --git a/examples/actors/xlimAST/TokenMgrError.java b/examples/actors/xlimAST/TokenMgrError.java new file mode 100644 index 0000000000000000000000000000000000000000..aeb87caab6c52901dfdbea655237ad74af5d64f8 --- /dev/null +++ b/examples/actors/xlimAST/TokenMgrError.java @@ -0,0 +1,133 @@ +/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */ +package xlimAST; + +public class TokenMgrError extends Error +{ + /* + * Ordinals for various reasons why an Error of this type can be thrown. + */ + + /** + * Lexical error occured. + */ + static final int LEXICAL_ERROR = 0; + + /** + * An attempt wass made to create a second instance of a static token manager. + */ + static final int STATIC_LEXER_ERROR = 1; + + /** + * Tried to change to an invalid lexical state. + */ + static final int INVALID_LEXICAL_STATE = 2; + + /** + * Detected (and bailed out of) an infinite loop in the token manager. + */ + static final int LOOP_DETECTED = 3; + + /** + * Indicates the reason why the exception is thrown. It will have + * one of the above 4 values. + */ + int errorCode; + + /** + * Replaces unprintable characters by their espaced (or unicode escaped) + * equivalents in the given string + */ + protected static final String addEscapes(String str) { + StringBuffer retval = new StringBuffer(); + char ch; + for (int i = 0; i < str.length(); i++) { + switch (str.charAt(i)) + { + case 0 : + continue; + case '\b': + retval.append("\\b"); + continue; + case '\t': + retval.append("\\t"); + continue; + case '\n': + retval.append("\\n"); + continue; + case '\f': + retval.append("\\f"); + continue; + case '\r': + retval.append("\\r"); + continue; + case '\"': + retval.append("\\\""); + continue; + case '\'': + retval.append("\\\'"); + continue; + case '\\': + retval.append("\\\\"); + continue; + default: + if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) { + String s = "0000" + Integer.toString(ch, 16); + retval.append("\\u" + s.substring(s.length() - 4, s.length())); + } else { + retval.append(ch); + } + continue; + } + } + return retval.toString(); + } + + /** + * Returns a detailed message for the Error when it is thrown by the + * token manager to indicate a lexical error. + * Parameters : + * EOFSeen : indicates if EOF caused the lexicl error + * curLexState : lexical state in which this error occured + * errorLine : line number when the error occured + * errorColumn : column number when the error occured + * errorAfter : prefix that was seen before this error occured + * curchar : the offending character + * Note: You can customize the lexical error message by modifying this method. + */ + protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) { + return("Lexical error at line " + + errorLine + ", column " + + errorColumn + ". Encountered: " + + (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") + + "after : \"" + addEscapes(errorAfter) + "\""); + } + + /** + * You can also modify the body of this method to customize your error messages. + * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not + * of end-users concern, so you can return something like : + * + * "Internal Error : Please file a bug report .... " + * + * from this method for such cases in the release version of your parser. + */ + public String getMessage() { + return super.getMessage(); + } + + /* + * Constructors of various flavors follow. + */ + + public TokenMgrError() { + } + + public TokenMgrError(String message, int reason) { + super(message); + errorCode = reason; + } + + public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) { + this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason); + } +} diff --git a/examples/actors/xlimAST/ValueElement.java b/examples/actors/xlimAST/ValueElement.java new file mode 100644 index 0000000000000000000000000000000000000000..d524325a03d01494d289202bd6d7873db865e646 --- /dev/null +++ b/examples/actors/xlimAST/ValueElement.java @@ -0,0 +1,256 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class ValueElement extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public ValueElement clone() throws CloneNotSupportedException { + ValueElement node = (ValueElement)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public ValueElement copy() { + try { + ValueElement node = (ValueElement)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public ValueElement fullCopy() { + ValueElement res = (ValueElement)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 12 + + public ValueElement(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public ValueElement(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public ValueElement() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 12 + public ValueElement(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "ValueElement"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/Version.java b/examples/actors/xlimAST/Version.java new file mode 100644 index 0000000000000000000000000000000000000000..45f073d7234e3e53e4f05ce16f30736046371361 --- /dev/null +++ b/examples/actors/xlimAST/Version.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class Version extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public Version clone() throws CloneNotSupportedException { + Version node = (Version)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public Version copy() { + try { + Version node = (Version)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public Version fullCopy() { + Version res = (Version)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 38 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" version="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 20 + + public Version(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public Version(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public Version() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 20 + public Version(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "Version"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/XmlHeader.java b/examples/actors/xlimAST/XmlHeader.java new file mode 100644 index 0000000000000000000000000000000000000000..f2b123900c9921f8b0ba000fc06198554d4b8a48 --- /dev/null +++ b/examples/actors/xlimAST/XmlHeader.java @@ -0,0 +1,194 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class XmlHeader extends ASTNode<ASTNode> implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public XmlHeader clone() throws CloneNotSupportedException { + XmlHeader node = (XmlHeader)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlHeader copy() { + try { + XmlHeader node = (XmlHeader)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlHeader fullCopy() { + XmlHeader res = (XmlHeader)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 15 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print("<?xml "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(indent,pStream); + } + pStream.println("?> "); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 7 + + public XmlHeader(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public XmlHeader(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public XmlHeader() { + this(0); + + setChild(new List(), 0); + + } + + // Declared in xlim.ast at line 18 + + + // Declared in xlim.ast line 7 + public XmlHeader(List<Attribute> p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 22 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XmlHeader"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 29 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 33 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 38 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of XmlHeader has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } +} + + // Declared in xlim.ast at line 46 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 49 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 7 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/XmlParser.java b/examples/actors/xlimAST/XmlParser.java new file mode 100644 index 0000000000000000000000000000000000000000..dd4c7d71fcadcd88fa4fb18ed174786e99b6fd12 --- /dev/null +++ b/examples/actors/xlimAST/XmlParser.java @@ -0,0 +1,1608 @@ +/* Generated By:JJTree&JavaCC: Do not edit this line. XmlParser.java */ + package xlimAST; + public class XmlParser/*@bgen(jjtree)*/implements XmlParserTreeConstants, XmlParserConstants {/*@bgen(jjtree)*/ + protected JJTXmlParserState jjtree = new JJTXmlParserState(); + + // OPERATORS + final public Start Start() throws ParseException { + /*@bgen(jjtree) Start */ + Start jjtn000 = new Start(JJTSTART); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + Specification(); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + {if (true) return jjtn000;} + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + throw new Error("Missing return statement in function"); + } + + final public void Specification() throws ParseException { + /*@bgen(jjtree) Specification */ + Specification jjtn000 = new Specification(JJTSPECIFICATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + XmlHeader(); + Opt jjtn001 = new Opt(JJTOPT); + boolean jjtc001 = true; + jjtree.openNodeScope(jjtn001); + try { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case LTBANG: + DocType(); + break; + default: + jj_la1[0] = jj_gen; + ; + } + } catch (Throwable jjte001) { + if (jjtc001) { + jjtree.clearNodeScope(jjtn001); + jjtc001 = false; + } else { + jjtree.popNode(); + } + if (jjte001 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte001;} + } + if (jjte001 instanceof ParseException) { + {if (true) throw (ParseException)jjte001;} + } + {if (true) throw (Error)jjte001;} + } finally { + if (jjtc001) { + jjtree.closeNodeScope(jjtn001, true); + } + } + ElementList(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void DocType() throws ParseException { + /*@bgen(jjtree) DocType */ + DocType jjtn000 = new DocType(JJTDOCTYPE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);String s; + try { + jj_consume_token(LTBANG); + s = new String(); + if (getToken(1).kind != GT ) { + s += getData(); + } + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setSTRING(s); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + String getData() throws ParseException { + StringBuffer s = new StringBuffer(); +// jjtThis.someData = true; + while ((getToken(1)).kind != LT && (getToken(1)).kind != LTSLASH) { + Token t = getNextToken(); + if (t.specialToken != null) { + Token tmp_t = t.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + s.append(tmp_t.image); + tmp_t = tmp_t.next; + } + } + s.append(t.image); + s.append(" "); + } + return s.toString(); + } + + final public void XmlHeader() throws ParseException { + /*@bgen(jjtree) XmlHeader */ + XmlHeader jjtn000 = new XmlHeader(JJTXMLHEADER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(LTQ); + jj_consume_token(XML); + AttributeList(); + jj_consume_token(QGT); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void ElementList() throws ParseException { + /*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + label_1: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + ; + break; + default: + jj_la1[1] = jj_gen; + break label_1; + } + Element(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void AttributeList() throws ParseException { + /*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + label_2: + while (true) { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case encoding: + case version: + case XsiNoNamespaceSchemaLocation: + case XmlnsXsi: + case portName: + case sourceName: + case kind: + case typeName: + case decision: + case size: + case dir: + case source: + case value: + case qualifier: + case style: + case removable: + case autostart: + case target: + case name: + ; + break; + default: + jj_la1[2] = jj_gen; + break label_2; + } + Attribute(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void AttrValue() throws ParseException { + /*@bgen(jjtree) AttrValue */ + AttrValue jjtn000 = new AttrValue(JJTATTRVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; + try { + t = jj_consume_token(STRING_LITERAL); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(t.image); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Encoding() throws ParseException { + /*@bgen(jjtree) Encoding */ + Encoding jjtn000 = new Encoding(JJTENCODING); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(encoding); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Version() throws ParseException { + /*@bgen(jjtree) Version */ + Version jjtn000 = new Version(JJTVERSION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(version); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void XsiNoNamespaceSchemaLocation() throws ParseException { + /*@bgen(jjtree) XsiNoNamespaceSchemaLocation */ + XsiNoNamespaceSchemaLocation jjtn000 = new XsiNoNamespaceSchemaLocation(JJTXSINONAMESPACESCHEMALOCATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(XsiNoNamespaceSchemaLocation); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void XmlnsXsi() throws ParseException { + /*@bgen(jjtree) XmlnsXsi */ + XmlnsXsi jjtn000 = new XmlnsXsi(JJTXMLNSXSI); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(XmlnsXsi); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Element() throws ParseException { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case LT: + jj_consume_token(LT); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case port: + port(); + break; + case operation: + operation(); + break; + case actor_port: + actor_port(); + break; + case PHI: + PHI(); + break; + case design: + design(); + break; + case module: + module(); + break; + case initValue: + initValue(); + break; + case stateVar: + stateVar(); + break; + default: + jj_la1[3] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + SimpleElement(); + break; + default: + jj_la1[4] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void SimpleElement() throws ParseException { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case INTEGER_LITERAL: + IntElement(); + break; + case FLOAT_LITERAL: + FloatElement(); + break; + case IDENTIFIER: + StringElement(); + break; + default: + jj_la1[5] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void IntElement() throws ParseException { + /*@bgen(jjtree) IntElement */ + IntElement jjtn000 = new IntElement(JJTINTELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; + try { + t = jj_consume_token(INTEGER_LITERAL); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(t.image); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void FloatElement() throws ParseException { + /*@bgen(jjtree) FloatElement */ + FloatElement jjtn000 = new FloatElement(JJTFLOATELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t; + try { + t = jj_consume_token(FLOAT_LITERAL); + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(t.image); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void StringElement() throws ParseException { + /*@bgen(jjtree) StringElement */ + StringElement jjtn000 = new StringElement(JJTSTRINGELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000);Token t;String s; + try { + t = jj_consume_token(IDENTIFIER); + s = t.image; + if (getToken(1).kind != GT ) { + s += getData(); + } + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + jjtn000.setLITERAL(s); + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void Attribute() throws ParseException { + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case encoding: + Encoding(); + break; + case version: + Version(); + break; + case XsiNoNamespaceSchemaLocation: + XsiNoNamespaceSchemaLocation(); + break; + case XmlnsXsi: + XmlnsXsi(); + break; + case source: + source(); + break; + case style: + style(); + break; + case name: + name(); + break; + case removable: + removable(); + break; + case sourceName: + sourceName(); + break; + case dir: + dir(); + break; + case kind: + kind(); + break; + case portName: + portName(); + break; + case decision: + decision(); + break; + case target: + target(); + break; + case qualifier: + qualifier(); + break; + case typeName: + typeName(); + break; + case value: + value(); + break; + case autostart: + autostart(); + break; + case size: + size(); + break; + default: + jj_la1[6] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } + + final public void portName() throws ParseException { + /*@bgen(jjtree) portName */ + portName jjtn000 = new portName(JJTPORTNAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(portName); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void module() throws ParseException { + /*@bgen(jjtree) module */ + module jjtn000 = new module(JJTMODULE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(module); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(module); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[7] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void sourceName() throws ParseException { + /*@bgen(jjtree) sourceName */ + sourceName jjtn000 = new sourceName(JJTSOURCENAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(sourceName); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void PHI() throws ParseException { + /*@bgen(jjtree) PHI */ + PHI jjtn000 = new PHI(JJTPHI); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(PHI); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(PHI); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[8] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void kind() throws ParseException { + /*@bgen(jjtree) kind */ + kind jjtn000 = new kind(JJTKIND); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(kind); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void initValue() throws ParseException { + /*@bgen(jjtree) initValue */ + initValue jjtn000 = new initValue(JJTINITVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(initValue); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(initValue); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[9] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void typeName() throws ParseException { + /*@bgen(jjtree) typeName */ + typeName jjtn000 = new typeName(JJTTYPENAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(typeName); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void port() throws ParseException { + /*@bgen(jjtree) port */ + port jjtn000 = new port(JJTPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(port); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(port); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[10] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void decision() throws ParseException { + /*@bgen(jjtree) decision */ + decision jjtn000 = new decision(JJTDECISION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(decision); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void operation() throws ParseException { + /*@bgen(jjtree) operation */ + operation jjtn000 = new operation(JJTOPERATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(operation); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(operation); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[11] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void design() throws ParseException { + /*@bgen(jjtree) design */ + design jjtn000 = new design(JJTDESIGN); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(design); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(design); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[12] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void stateVar() throws ParseException { + /*@bgen(jjtree) stateVar */ + stateVar jjtn000 = new stateVar(JJTSTATEVAR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(stateVar); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(stateVar); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[13] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void size() throws ParseException { + /*@bgen(jjtree) size */ + size jjtn000 = new size(JJTSIZE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(size); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void dir() throws ParseException { + /*@bgen(jjtree) dir */ + dir jjtn000 = new dir(JJTDIR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(dir); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void source() throws ParseException { + /*@bgen(jjtree) source */ + source jjtn000 = new source(JJTSOURCE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(source); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void value() throws ParseException { + /*@bgen(jjtree) value */ + value jjtn000 = new value(JJTVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(value); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void actor_port() throws ParseException { + /*@bgen(jjtree) actor_port */ + actor_port jjtn000 = new actor_port(JJTACTOR_PORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(actor_port); + AttributeList(); + switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { + case GT: + jj_consume_token(GT); + ElementList(); + jj_consume_token(LTSLASH); + jj_consume_token(actor_port); + jj_consume_token(GT); + break; + case INTEGER_LITERAL: + case FLOAT_LITERAL: + case IDENTIFIER: + case LT: + case 60: + ElementList(); + jj_consume_token(60); + break; + default: + jj_la1[14] = jj_gen; + jj_consume_token(-1); + throw new ParseException(); + } + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void qualifier() throws ParseException { + /*@bgen(jjtree) qualifier */ + qualifier jjtn000 = new qualifier(JJTQUALIFIER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(qualifier); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void style() throws ParseException { + /*@bgen(jjtree) style */ + style jjtn000 = new style(JJTSTYLE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(style); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void removable() throws ParseException { + /*@bgen(jjtree) removable */ + removable jjtn000 = new removable(JJTREMOVABLE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(removable); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void autostart() throws ParseException { + /*@bgen(jjtree) autostart */ + autostart jjtn000 = new autostart(JJTAUTOSTART); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(autostart); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void target() throws ParseException { + /*@bgen(jjtree) target */ + target jjtn000 = new target(JJTTARGET); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(target); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + final public void name() throws ParseException { + /*@bgen(jjtree) name */ + name jjtn000 = new name(JJTNAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); + try { + jj_consume_token(name); + jj_consume_token(ASSIGN); + AttrValue(); + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + {if (true) throw (RuntimeException)jjte000;} + } + if (jjte000 instanceof ParseException) { + {if (true) throw (ParseException)jjte000;} + } + {if (true) throw (Error)jjte000;} + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } + } + + public XmlParserTokenManager token_source; + JavaCharStream jj_input_stream; + public Token token, jj_nt; + private int jj_ntk; + private int jj_gen; + final private int[] jj_la1 = new int[15]; + static private int[] jj_la1_0; + static private int[] jj_la1_1; + static { + jj_la1_0(); + jj_la1_1(); + } + private static void jj_la1_0() { + jj_la1_0 = new int[] {0x0,0x0,0xbc557c00,0x43aa8000,0x0,0x0,0xbc557c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + } + private static void jj_la1_1() { + jj_la1_1 = new int[] {0x400000,0x802220,0x1f,0x0,0x802220,0x2220,0x1f,0x12802220,0x12802220,0x12802220,0x12802220,0x12802220,0x12802220,0x12802220,0x12802220,}; + } + + public XmlParser(java.io.InputStream stream) { + this(stream, null); + } + public XmlParser(java.io.InputStream stream, String encoding) { + try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } + token_source = new XmlParserTokenManager(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 15; i++) jj_la1[i] = -1; + } + + public void ReInit(java.io.InputStream stream) { + ReInit(stream, null); + } + public void ReInit(java.io.InputStream stream, String encoding) { + try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } + token_source.ReInit(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jjtree.reset(); + jj_gen = 0; + for (int i = 0; i < 15; i++) jj_la1[i] = -1; + } + + public XmlParser(java.io.Reader stream) { + jj_input_stream = new JavaCharStream(stream, 1, 1); + token_source = new XmlParserTokenManager(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 15; i++) jj_la1[i] = -1; + } + + public void ReInit(java.io.Reader stream) { + jj_input_stream.ReInit(stream, 1, 1); + token_source.ReInit(jj_input_stream); + token = new Token(); + jj_ntk = -1; + jjtree.reset(); + jj_gen = 0; + for (int i = 0; i < 15; i++) jj_la1[i] = -1; + } + + public XmlParser(XmlParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jj_gen = 0; + for (int i = 0; i < 15; i++) jj_la1[i] = -1; + } + + public void ReInit(XmlParserTokenManager tm) { + token_source = tm; + token = new Token(); + jj_ntk = -1; + jjtree.reset(); + jj_gen = 0; + for (int i = 0; i < 15; i++) jj_la1[i] = -1; + } + + final private Token jj_consume_token(int kind) throws ParseException { + Token oldToken; + if ((oldToken = token).next != null) token = token.next; + else token = token.next = token_source.getNextToken(); + jj_ntk = -1; + if (token.kind == kind) { + jj_gen++; + return token; + } + token = oldToken; + jj_kind = kind; + throw generateParseException(); + } + + final public Token getNextToken() { + if (token.next != null) token = token.next; + else token = token.next = token_source.getNextToken(); + jj_ntk = -1; + jj_gen++; + return token; + } + + final public Token getToken(int index) { + Token t = token; + for (int i = 0; i < index; i++) { + if (t.next != null) t = t.next; + else t = t.next = token_source.getNextToken(); + } + return t; + } + + final private int jj_ntk() { + if ((jj_nt=token.next) == null) + return (jj_ntk = (token.next=token_source.getNextToken()).kind); + else + return (jj_ntk = jj_nt.kind); + } + + private java.util.Vector jj_expentries = new java.util.Vector(); + private int[] jj_expentry; + private int jj_kind = -1; + + public ParseException generateParseException() { + jj_expentries.removeAllElements(); + boolean[] la1tokens = new boolean[61]; + for (int i = 0; i < 61; i++) { + la1tokens[i] = false; + } + if (jj_kind >= 0) { + la1tokens[jj_kind] = true; + jj_kind = -1; + } + for (int i = 0; i < 15; i++) { + if (jj_la1[i] == jj_gen) { + for (int j = 0; j < 32; j++) { + if ((jj_la1_0[i] & (1<<j)) != 0) { + la1tokens[j] = true; + } + if ((jj_la1_1[i] & (1<<j)) != 0) { + la1tokens[32+j] = true; + } + } + } + } + for (int i = 0; i < 61; i++) { + if (la1tokens[i]) { + jj_expentry = new int[1]; + jj_expentry[0] = i; + jj_expentries.addElement(jj_expentry); + } + } + int[][] exptokseq = new int[jj_expentries.size()][]; + for (int i = 0; i < jj_expentries.size(); i++) { + exptokseq[i] = (int[])jj_expentries.elementAt(i); + } + return new ParseException(token, exptokseq, tokenImage); + } + + final public void enable_tracing() { + } + + final public void disable_tracing() { + } + +} diff --git a/examples/actors/xlimAST/XmlParserConstants.java b/examples/actors/xlimAST/XmlParserConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..b2a627748f5150039bde5e4d34e9d9a2f4088457 --- /dev/null +++ b/examples/actors/xlimAST/XmlParserConstants.java @@ -0,0 +1,128 @@ +/* Generated By:JJTree&JavaCC: Do not edit this line. XmlParserConstants.java */ +package xlimAST; + +public interface XmlParserConstants { + + int EOF = 0; + int XML = 7; + int DOCTYPE = 8; + int PUBLIC = 9; + int encoding = 10; + int version = 11; + int XsiNoNamespaceSchemaLocation = 12; + int XmlnsXsi = 13; + int portName = 14; + int module = 15; + int sourceName = 16; + int PHI = 17; + int kind = 18; + int initValue = 19; + int typeName = 20; + int port = 21; + int decision = 22; + int operation = 23; + int design = 24; + int stateVar = 25; + int size = 26; + int dir = 27; + int source = 28; + int value = 29; + int actor_port = 30; + int qualifier = 31; + int style = 32; + int removable = 33; + int autostart = 34; + int target = 35; + int name = 36; + int INTEGER_LITERAL = 37; + int DECIMAL_LITERAL = 38; + int HEX_LITERAL = 39; + int OCTAL_LITERAL = 40; + int FLOAT_LITERAL = 41; + int EXPONENT = 42; + int CHARACTER_LITERAL = 43; + int STRING_LITERAL = 44; + int IDENTIFIER = 45; + int LETTER = 46; + int DIGIT = 47; + int LBRACE = 48; + int RBRACE = 49; + int LBRACKET = 50; + int RBRACKET = 51; + int SEMICOLON = 52; + int LTSLASH = 53; + int LTBANG = 54; + int LT = 55; + int LTQ = 56; + int GT = 57; + int QGT = 58; + int ASSIGN = 59; + + int DEFAULT = 0; + int BOUNDS = 1; + + String[] tokenImage = { + "<EOF>", + "\" \"", + "\"\\t\"", + "\"\\n\"", + "\"\\r\"", + "\"\\f\"", + "<token of kind 6>", + "\"xml\"", + "\"DOCTYPE\"", + "\"PUBLIC\"", + "\"encoding\"", + "\"version\"", + "\"xsi:noNamespaceSchemaLocation\"", + "\"xmlns:xsi\"", + "\"portName\"", + "\"module\"", + "\"sourceName\"", + "\"PHI\"", + "\"kind\"", + "\"initValue\"", + "\"typeName\"", + "\"port\"", + "\"decision\"", + "\"operation\"", + "\"design\"", + "\"stateVar\"", + "\"size\"", + "\"dir\"", + "\"source\"", + "\"value\"", + "\"actor-port\"", + "\"qualifier\"", + "\"style\"", + "\"removable\"", + "\"autostart\"", + "\"target\"", + "\"name\"", + "<INTEGER_LITERAL>", + "<DECIMAL_LITERAL>", + "<HEX_LITERAL>", + "<OCTAL_LITERAL>", + "<FLOAT_LITERAL>", + "<EXPONENT>", + "<CHARACTER_LITERAL>", + "<STRING_LITERAL>", + "<IDENTIFIER>", + "<LETTER>", + "<DIGIT>", + "\"{\"", + "\"}\"", + "\"[\"", + "\"]\"", + "\";\"", + "\"</\"", + "\"<!\"", + "\"<\"", + "\"<?\"", + "\">\"", + "\"?>\"", + "\"=\"", + "\"/>\"", + }; + +} diff --git a/examples/actors/xlimAST/XmlParserTokenManager.java b/examples/actors/xlimAST/XmlParserTokenManager.java new file mode 100644 index 0000000000000000000000000000000000000000..84f31066b2a7276c5fe773f3028e52a736f2f3e0 --- /dev/null +++ b/examples/actors/xlimAST/XmlParserTokenManager.java @@ -0,0 +1,2433 @@ +/* Generated By:JJTree&JavaCC: Do not edit this line. XmlParserTokenManager.java */ +package xlimAST; + +public class XmlParserTokenManager implements XmlParserConstants +{ + public java.io.PrintStream debugStream = System.out; + public void setDebugStream(java.io.PrintStream ds) { debugStream = ds; } +private final int jjStopStringLiteralDfa_0(int pos, long active0) +{ + switch (pos) + { + case 0: + if ((active0 & 0x1e0000000000000L) != 0L) + return 7; + if ((active0 & 0x1fffffff80L) != 0L) + { + jjmatchedKind = 45; + return 22; + } + return -1; + case 1: + if ((active0 & 0x1fffffff80L) != 0L) + { + jjmatchedKind = 45; + jjmatchedPos = 1; + return 22; + } + if ((active0 & 0x40000000000000L) != 0L) + return 6; + return -1; + case 2: + if ((active0 & 0x8022080L) != 0L) + return 22; + if ((active0 & 0x1ff7fddf00L) != 0L) + { + if (jjmatchedPos != 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return 22; + } + return -1; + case 3: + if ((active0 & 0x1004244000L) != 0L) + return 22; + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0xff3d9af00L) != 0L) + { + if (jjmatchedPos != 3) + { + jjmatchedKind = 45; + jjmatchedPos = 3; + } + return 22; + } + return -1; + case 4: + if ((active0 & 0x120000000L) != 0L) + return 22; + if ((active0 & 0xed3d9ef00L) != 0L) + { + jjmatchedKind = 45; + jjmatchedPos = 4; + return 22; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 5: + if ((active0 & 0x811018200L) != 0L) + return 22; + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 45; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x6c2d84d00L) != 0L) + { + if (jjmatchedPos != 5) + { + jjmatchedKind = 45; + jjmatchedPos = 5; + } + return 22; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 6: + if ((active0 & 0x900L) != 0L) + return 22; + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 45; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0x6c2d94400L) != 0L) + { + jjmatchedKind = 45; + jjmatchedPos = 6; + return 22; + } + return -1; + case 7: + if ((active0 & 0x2504400L) != 0L) + return 22; + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 45; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + if ((active0 & 0x6c0890000L) != 0L) + { + jjmatchedKind = 45; + jjmatchedPos = 7; + return 22; + } + return -1; + case 8: + if ((active0 & 0x680880000L) != 0L) + return 22; + if ((active0 & 0x40010000L) != 0L) + { + jjmatchedKind = 45; + jjmatchedPos = 8; + return 22; + } + if ((active0 & 0x2000L) != 0L) + { + if (jjmatchedPos < 4) + { + jjmatchedKind = 45; + jjmatchedPos = 4; + } + return -1; + } + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 9: + if ((active0 & 0x40010000L) != 0L) + return 22; + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 10: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 11: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 12: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 13: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 14: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 15: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 16: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 17: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 18: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 19: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 20: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 21: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 22: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 23: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 24: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 25: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 26: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + case 27: + if ((active0 & 0x1000L) != 0L) + { + if (jjmatchedPos < 2) + { + jjmatchedKind = 45; + jjmatchedPos = 2; + } + return -1; + } + return -1; + default : + return -1; + } +} +private final int jjStartNfa_0(int pos, long active0) +{ + return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1); +} +private final int jjStopAtPos(int pos, int kind) +{ + jjmatchedKind = kind; + jjmatchedPos = pos; + return pos + 1; +} +private final int jjStartNfaWithStates_0(int pos, int kind, int state) +{ + jjmatchedKind = kind; + jjmatchedPos = pos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return pos + 1; } + return jjMoveNfa_0(state, pos + 1); +} +private final int jjMoveStringLiteralDfa0_0() +{ + switch(curChar) + { + case 9: + return jjStopAtPos(0, 2); + case 10: + return jjStopAtPos(0, 3); + case 12: + return jjStopAtPos(0, 5); + case 13: + return jjStopAtPos(0, 4); + case 32: + return jjStopAtPos(0, 1); + case 47: + return jjMoveStringLiteralDfa1_0(0x1000000000000000L); + case 59: + return jjStopAtPos(0, 52); + case 60: + jjmatchedKind = 55; + return jjMoveStringLiteralDfa1_0(0x160000000000000L); + case 61: + return jjStopAtPos(0, 59); + case 62: + return jjStopAtPos(0, 57); + case 63: + return jjMoveStringLiteralDfa1_0(0x400000000000000L); + case 68: + return jjMoveStringLiteralDfa1_0(0x100L); + case 80: + return jjMoveStringLiteralDfa1_0(0x20200L); + case 91: + return jjStopAtPos(0, 50); + case 93: + return jjStopAtPos(0, 51); + case 97: + return jjMoveStringLiteralDfa1_0(0x440000000L); + case 100: + return jjMoveStringLiteralDfa1_0(0x9400000L); + case 101: + return jjMoveStringLiteralDfa1_0(0x400L); + case 105: + return jjMoveStringLiteralDfa1_0(0x80000L); + case 107: + return jjMoveStringLiteralDfa1_0(0x40000L); + case 109: + return jjMoveStringLiteralDfa1_0(0x8000L); + case 110: + return jjMoveStringLiteralDfa1_0(0x1000000000L); + case 111: + return jjMoveStringLiteralDfa1_0(0x800000L); + case 112: + return jjMoveStringLiteralDfa1_0(0x204000L); + case 113: + return jjMoveStringLiteralDfa1_0(0x80000000L); + case 114: + return jjMoveStringLiteralDfa1_0(0x200000000L); + case 115: + return jjMoveStringLiteralDfa1_0(0x116010000L); + case 116: + return jjMoveStringLiteralDfa1_0(0x800100000L); + case 118: + return jjMoveStringLiteralDfa1_0(0x20000800L); + case 120: + return jjMoveStringLiteralDfa1_0(0x3080L); + case 123: + return jjStopAtPos(0, 48); + case 125: + return jjStopAtPos(0, 49); + default : + return jjMoveNfa_0(8, 0); + } +} +private final int jjMoveStringLiteralDfa1_0(long active0) +{ + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(0, active0); + return 1; + } + switch(curChar) + { + case 33: + if ((active0 & 0x40000000000000L) != 0L) + return jjStartNfaWithStates_0(1, 54, 6); + break; + case 47: + if ((active0 & 0x20000000000000L) != 0L) + return jjStopAtPos(1, 53); + break; + case 62: + if ((active0 & 0x400000000000000L) != 0L) + return jjStopAtPos(1, 58); + else if ((active0 & 0x1000000000000000L) != 0L) + return jjStopAtPos(1, 60); + break; + case 63: + if ((active0 & 0x100000000000000L) != 0L) + return jjStopAtPos(1, 56); + break; + case 72: + return jjMoveStringLiteralDfa2_0(active0, 0x20000L); + case 79: + return jjMoveStringLiteralDfa2_0(active0, 0x100L); + case 85: + return jjMoveStringLiteralDfa2_0(active0, 0x200L); + case 97: + return jjMoveStringLiteralDfa2_0(active0, 0x1820000000L); + case 99: + return jjMoveStringLiteralDfa2_0(active0, 0x40000000L); + case 101: + return jjMoveStringLiteralDfa2_0(active0, 0x201400800L); + case 105: + return jjMoveStringLiteralDfa2_0(active0, 0xc040000L); + case 109: + return jjMoveStringLiteralDfa2_0(active0, 0x2080L); + case 110: + return jjMoveStringLiteralDfa2_0(active0, 0x80400L); + case 111: + return jjMoveStringLiteralDfa2_0(active0, 0x1021c000L); + case 112: + return jjMoveStringLiteralDfa2_0(active0, 0x800000L); + case 115: + return jjMoveStringLiteralDfa2_0(active0, 0x1000L); + case 116: + return jjMoveStringLiteralDfa2_0(active0, 0x102000000L); + case 117: + return jjMoveStringLiteralDfa2_0(active0, 0x480000000L); + case 121: + return jjMoveStringLiteralDfa2_0(active0, 0x100000L); + default : + break; + } + return jjStartNfa_0(0, active0); +} +private final int jjMoveStringLiteralDfa2_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(0, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(1, active0); + return 2; + } + switch(curChar) + { + case 66: + return jjMoveStringLiteralDfa3_0(active0, 0x200L); + case 67: + return jjMoveStringLiteralDfa3_0(active0, 0x100L); + case 73: + if ((active0 & 0x20000L) != 0L) + return jjStartNfaWithStates_0(2, 17, 22); + break; + case 97: + return jjMoveStringLiteralDfa3_0(active0, 0x82000000L); + case 99: + return jjMoveStringLiteralDfa3_0(active0, 0x400400L); + case 100: + return jjMoveStringLiteralDfa3_0(active0, 0x8000L); + case 101: + return jjMoveStringLiteralDfa3_0(active0, 0x800000L); + case 105: + return jjMoveStringLiteralDfa3_0(active0, 0x81000L); + case 108: + if ((active0 & 0x80L) != 0L) + { + jjmatchedKind = 7; + jjmatchedPos = 2; + } + return jjMoveStringLiteralDfa3_0(active0, 0x20002000L); + case 109: + return jjMoveStringLiteralDfa3_0(active0, 0x1200000000L); + case 110: + return jjMoveStringLiteralDfa3_0(active0, 0x40000L); + case 112: + return jjMoveStringLiteralDfa3_0(active0, 0x100000L); + case 114: + if ((active0 & 0x8000000L) != 0L) + return jjStartNfaWithStates_0(2, 27, 22); + return jjMoveStringLiteralDfa3_0(active0, 0x800204800L); + case 115: + return jjMoveStringLiteralDfa3_0(active0, 0x1000000L); + case 116: + return jjMoveStringLiteralDfa3_0(active0, 0x440000000L); + case 117: + return jjMoveStringLiteralDfa3_0(active0, 0x10010000L); + case 121: + return jjMoveStringLiteralDfa3_0(active0, 0x100000000L); + case 122: + return jjMoveStringLiteralDfa3_0(active0, 0x4000000L); + default : + break; + } + return jjStartNfa_0(1, active0); +} +private final int jjMoveStringLiteralDfa3_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(1, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(2, active0); + return 3; + } + switch(curChar) + { + case 58: + return jjMoveStringLiteralDfa4_0(active0, 0x1000L); + case 76: + return jjMoveStringLiteralDfa4_0(active0, 0x200L); + case 84: + return jjMoveStringLiteralDfa4_0(active0, 0x100L); + case 100: + if ((active0 & 0x40000L) != 0L) + return jjStartNfaWithStates_0(3, 18, 22); + break; + case 101: + if ((active0 & 0x4000000L) != 0L) + return jjStartNfaWithStates_0(3, 26, 22); + else if ((active0 & 0x1000000000L) != 0L) + return jjStartNfaWithStates_0(3, 36, 22); + return jjMoveStringLiteralDfa4_0(active0, 0x100000L); + case 103: + return jjMoveStringLiteralDfa4_0(active0, 0x800000000L); + case 105: + return jjMoveStringLiteralDfa4_0(active0, 0x1400000L); + case 108: + return jjMoveStringLiteralDfa4_0(active0, 0x180000000L); + case 110: + return jjMoveStringLiteralDfa4_0(active0, 0x2000L); + case 111: + return jjMoveStringLiteralDfa4_0(active0, 0x640000400L); + case 114: + return jjMoveStringLiteralDfa4_0(active0, 0x10810000L); + case 115: + return jjMoveStringLiteralDfa4_0(active0, 0x800L); + case 116: + if ((active0 & 0x200000L) != 0L) + { + jjmatchedKind = 21; + jjmatchedPos = 3; + } + return jjMoveStringLiteralDfa4_0(active0, 0x2084000L); + case 117: + return jjMoveStringLiteralDfa4_0(active0, 0x20008000L); + default : + break; + } + return jjStartNfa_0(2, active0); +} +private final int jjMoveStringLiteralDfa4_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(2, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(3, active0); + return 4; + } + switch(curChar) + { + case 73: + return jjMoveStringLiteralDfa5_0(active0, 0x200L); + case 78: + return jjMoveStringLiteralDfa5_0(active0, 0x104000L); + case 86: + return jjMoveStringLiteralDfa5_0(active0, 0x80000L); + case 89: + return jjMoveStringLiteralDfa5_0(active0, 0x100L); + case 97: + return jjMoveStringLiteralDfa5_0(active0, 0x800000L); + case 99: + return jjMoveStringLiteralDfa5_0(active0, 0x10010000L); + case 100: + return jjMoveStringLiteralDfa5_0(active0, 0x400L); + case 101: + if ((active0 & 0x20000000L) != 0L) + return jjStartNfaWithStates_0(4, 29, 22); + else if ((active0 & 0x100000000L) != 0L) + return jjStartNfaWithStates_0(4, 32, 22); + return jjMoveStringLiteralDfa5_0(active0, 0x802000000L); + case 103: + return jjMoveStringLiteralDfa5_0(active0, 0x1000000L); + case 105: + return jjMoveStringLiteralDfa5_0(active0, 0x80000800L); + case 108: + return jjMoveStringLiteralDfa5_0(active0, 0x8000L); + case 110: + return jjMoveStringLiteralDfa5_0(active0, 0x1000L); + case 114: + return jjMoveStringLiteralDfa5_0(active0, 0x40000000L); + case 115: + return jjMoveStringLiteralDfa5_0(active0, 0x400402000L); + case 118: + return jjMoveStringLiteralDfa5_0(active0, 0x200000000L); + default : + break; + } + return jjStartNfa_0(3, active0); +} +private final int jjMoveStringLiteralDfa5_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(3, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(4, active0); + return 5; + } + switch(curChar) + { + case 45: + return jjMoveStringLiteralDfa6_0(active0, 0x40000000L); + case 58: + return jjMoveStringLiteralDfa6_0(active0, 0x2000L); + case 67: + if ((active0 & 0x200L) != 0L) + return jjStartNfaWithStates_0(5, 9, 22); + break; + case 80: + return jjMoveStringLiteralDfa6_0(active0, 0x100L); + case 86: + return jjMoveStringLiteralDfa6_0(active0, 0x2000000L); + case 97: + return jjMoveStringLiteralDfa6_0(active0, 0x200184000L); + case 101: + if ((active0 & 0x8000L) != 0L) + return jjStartNfaWithStates_0(5, 15, 22); + else if ((active0 & 0x10000000L) != 0L) + { + jjmatchedKind = 28; + jjmatchedPos = 5; + } + return jjMoveStringLiteralDfa6_0(active0, 0x10000L); + case 102: + return jjMoveStringLiteralDfa6_0(active0, 0x80000000L); + case 105: + return jjMoveStringLiteralDfa6_0(active0, 0x400400L); + case 110: + if ((active0 & 0x1000000L) != 0L) + return jjStartNfaWithStates_0(5, 24, 22); + break; + case 111: + return jjMoveStringLiteralDfa6_0(active0, 0x1800L); + case 116: + if ((active0 & 0x800000000L) != 0L) + return jjStartNfaWithStates_0(5, 35, 22); + return jjMoveStringLiteralDfa6_0(active0, 0x400800000L); + default : + break; + } + return jjStartNfa_0(4, active0); +} +private final int jjMoveStringLiteralDfa6_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(4, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(5, active0); + return 6; + } + switch(curChar) + { + case 69: + if ((active0 & 0x100L) != 0L) + return jjStartNfaWithStates_0(6, 8, 22); + break; + case 78: + return jjMoveStringLiteralDfa7_0(active0, 0x11000L); + case 97: + return jjMoveStringLiteralDfa7_0(active0, 0x402000000L); + case 98: + return jjMoveStringLiteralDfa7_0(active0, 0x200000000L); + case 105: + return jjMoveStringLiteralDfa7_0(active0, 0x80800000L); + case 108: + return jjMoveStringLiteralDfa7_0(active0, 0x80000L); + case 109: + return jjMoveStringLiteralDfa7_0(active0, 0x104000L); + case 110: + if ((active0 & 0x800L) != 0L) + return jjStartNfaWithStates_0(6, 11, 22); + return jjMoveStringLiteralDfa7_0(active0, 0x400L); + case 111: + return jjMoveStringLiteralDfa7_0(active0, 0x400000L); + case 112: + return jjMoveStringLiteralDfa7_0(active0, 0x40000000L); + case 120: + return jjMoveStringLiteralDfa7_0(active0, 0x2000L); + default : + break; + } + return jjStartNfa_0(5, active0); +} +private final int jjMoveStringLiteralDfa7_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(5, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(6, active0); + return 7; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa8_0(active0, 0x11000L); + case 101: + if ((active0 & 0x4000L) != 0L) + return jjStartNfaWithStates_0(7, 14, 22); + else if ((active0 & 0x100000L) != 0L) + return jjStartNfaWithStates_0(7, 20, 22); + return jjMoveStringLiteralDfa8_0(active0, 0x80000000L); + case 103: + if ((active0 & 0x400L) != 0L) + return jjStartNfaWithStates_0(7, 10, 22); + break; + case 108: + return jjMoveStringLiteralDfa8_0(active0, 0x200000000L); + case 110: + if ((active0 & 0x400000L) != 0L) + return jjStartNfaWithStates_0(7, 22, 22); + break; + case 111: + return jjMoveStringLiteralDfa8_0(active0, 0x40800000L); + case 114: + if ((active0 & 0x2000000L) != 0L) + return jjStartNfaWithStates_0(7, 25, 22); + return jjMoveStringLiteralDfa8_0(active0, 0x400000000L); + case 115: + return jjMoveStringLiteralDfa8_0(active0, 0x2000L); + case 117: + return jjMoveStringLiteralDfa8_0(active0, 0x80000L); + default : + break; + } + return jjStartNfa_0(6, active0); +} +private final int jjMoveStringLiteralDfa8_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(6, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(7, active0); + return 8; + } + switch(curChar) + { + case 101: + if ((active0 & 0x80000L) != 0L) + return jjStartNfaWithStates_0(8, 19, 22); + else if ((active0 & 0x200000000L) != 0L) + return jjStartNfaWithStates_0(8, 33, 22); + break; + case 105: + if ((active0 & 0x2000L) != 0L) + return jjStopAtPos(8, 13); + break; + case 109: + return jjMoveStringLiteralDfa9_0(active0, 0x11000L); + case 110: + if ((active0 & 0x800000L) != 0L) + return jjStartNfaWithStates_0(8, 23, 22); + break; + case 114: + if ((active0 & 0x80000000L) != 0L) + return jjStartNfaWithStates_0(8, 31, 22); + return jjMoveStringLiteralDfa9_0(active0, 0x40000000L); + case 116: + if ((active0 & 0x400000000L) != 0L) + return jjStartNfaWithStates_0(8, 34, 22); + break; + default : + break; + } + return jjStartNfa_0(7, active0); +} +private final int jjMoveStringLiteralDfa9_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(7, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(8, active0); + return 9; + } + switch(curChar) + { + case 101: + if ((active0 & 0x10000L) != 0L) + return jjStartNfaWithStates_0(9, 16, 22); + return jjMoveStringLiteralDfa10_0(active0, 0x1000L); + case 116: + if ((active0 & 0x40000000L) != 0L) + return jjStartNfaWithStates_0(9, 30, 22); + break; + default : + break; + } + return jjStartNfa_0(8, active0); +} +private final int jjMoveStringLiteralDfa10_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(8, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(9, active0); + return 10; + } + switch(curChar) + { + case 115: + return jjMoveStringLiteralDfa11_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(9, active0); +} +private final int jjMoveStringLiteralDfa11_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(9, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(10, active0); + return 11; + } + switch(curChar) + { + case 112: + return jjMoveStringLiteralDfa12_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(10, active0); +} +private final int jjMoveStringLiteralDfa12_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(10, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(11, active0); + return 12; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa13_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(11, active0); +} +private final int jjMoveStringLiteralDfa13_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(11, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(12, active0); + return 13; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa14_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(12, active0); +} +private final int jjMoveStringLiteralDfa14_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(12, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(13, active0); + return 14; + } + switch(curChar) + { + case 101: + return jjMoveStringLiteralDfa15_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(13, active0); +} +private final int jjMoveStringLiteralDfa15_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(13, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(14, active0); + return 15; + } + switch(curChar) + { + case 83: + return jjMoveStringLiteralDfa16_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(14, active0); +} +private final int jjMoveStringLiteralDfa16_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(14, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(15, active0); + return 16; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa17_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(15, active0); +} +private final int jjMoveStringLiteralDfa17_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(15, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(16, active0); + return 17; + } + switch(curChar) + { + case 104: + return jjMoveStringLiteralDfa18_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(16, active0); +} +private final int jjMoveStringLiteralDfa18_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(16, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(17, active0); + return 18; + } + switch(curChar) + { + case 101: + return jjMoveStringLiteralDfa19_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(17, active0); +} +private final int jjMoveStringLiteralDfa19_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(17, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(18, active0); + return 19; + } + switch(curChar) + { + case 109: + return jjMoveStringLiteralDfa20_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(18, active0); +} +private final int jjMoveStringLiteralDfa20_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(18, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(19, active0); + return 20; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa21_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(19, active0); +} +private final int jjMoveStringLiteralDfa21_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(19, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(20, active0); + return 21; + } + switch(curChar) + { + case 76: + return jjMoveStringLiteralDfa22_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(20, active0); +} +private final int jjMoveStringLiteralDfa22_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(20, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(21, active0); + return 22; + } + switch(curChar) + { + case 111: + return jjMoveStringLiteralDfa23_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(21, active0); +} +private final int jjMoveStringLiteralDfa23_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(21, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(22, active0); + return 23; + } + switch(curChar) + { + case 99: + return jjMoveStringLiteralDfa24_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(22, active0); +} +private final int jjMoveStringLiteralDfa24_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(22, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(23, active0); + return 24; + } + switch(curChar) + { + case 97: + return jjMoveStringLiteralDfa25_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(23, active0); +} +private final int jjMoveStringLiteralDfa25_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(23, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(24, active0); + return 25; + } + switch(curChar) + { + case 116: + return jjMoveStringLiteralDfa26_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(24, active0); +} +private final int jjMoveStringLiteralDfa26_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(24, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(25, active0); + return 26; + } + switch(curChar) + { + case 105: + return jjMoveStringLiteralDfa27_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(25, active0); +} +private final int jjMoveStringLiteralDfa27_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(25, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(26, active0); + return 27; + } + switch(curChar) + { + case 111: + return jjMoveStringLiteralDfa28_0(active0, 0x1000L); + default : + break; + } + return jjStartNfa_0(26, active0); +} +private final int jjMoveStringLiteralDfa28_0(long old0, long active0) +{ + if (((active0 &= old0)) == 0L) + return jjStartNfa_0(26, old0); + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_0(27, active0); + return 28; + } + switch(curChar) + { + case 110: + if ((active0 & 0x1000L) != 0L) + return jjStopAtPos(28, 12); + break; + default : + break; + } + return jjStartNfa_0(27, active0); +} +private final void jjCheckNAdd(int state) +{ + if (jjrounds[state] != jjround) + { + jjstateSet[jjnewStateCnt++] = state; + jjrounds[state] = jjround; + } +} +private final void jjAddStates(int start, int end) +{ + do { + jjstateSet[jjnewStateCnt++] = jjnextStates[start]; + } while (start++ != end); +} +private final void jjCheckNAddTwoStates(int state1, int state2) +{ + jjCheckNAdd(state1); + jjCheckNAdd(state2); +} +private final void jjCheckNAddStates(int start, int end) +{ + do { + jjCheckNAdd(jjnextStates[start]); + } while (start++ != end); +} +private final void jjCheckNAddStates(int start) +{ + jjCheckNAdd(jjnextStates[start]); + jjCheckNAdd(jjnextStates[start + 1]); +} +static final long[] jjbitVec0 = { + 0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL +}; +static final long[] jjbitVec2 = { + 0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL +}; +static final long[] jjbitVec3 = { + 0x1ff00000fffffffeL, 0xffffffffffffc000L, 0xffffffffL, 0x600000000000000L +}; +static final long[] jjbitVec4 = { + 0x0L, 0x0L, 0x0L, 0xff7fffffff7fffffL +}; +static final long[] jjbitVec5 = { + 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL +}; +static final long[] jjbitVec6 = { + 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffL, 0x0L +}; +static final long[] jjbitVec7 = { + 0xffffffffffffffffL, 0xffffffffffffffffL, 0x0L, 0x0L +}; +static final long[] jjbitVec8 = { + 0x3fffffffffffL, 0x0L, 0x0L, 0x0L +}; +private final int jjMoveNfa_0(int startState, int curPos) +{ + int[] nextStates; + int startsAt = 0; + jjnewStateCnt = 53; + int i = 1; + jjstateSet[0] = startState; + int j, kind = 0x7fffffff; + for (;;) + { + if (++jjround == 0x7fffffff) + ReInitRounds(); + if (curChar < 64) + { + long l = 1L << curChar; + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + else if (curChar == 39) + jjCheckNAddStates(7, 10); + else if (curChar == 36) + { + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + } + else if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + else if (curChar == 46) + jjCheckNAdd(13); + else if (curChar == 60) + jjstateSet[jjnewStateCnt++] = 7; + if ((0x3fe000000000000L & l) != 0L) + { + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(10, 11); + } + else if (curChar == 48) + { + if (kind > 37) + kind = 37; + jjCheckNAddStates(11, 13); + } + break; + case 0: + if (curChar == 45) + jjCheckNAddStates(14, 16); + break; + case 1: + if ((0xffffdfffffffffffL & l) != 0L) + jjCheckNAddStates(14, 16); + break; + case 2: + if (curChar == 45) + jjCheckNAdd(1); + break; + case 3: + if (curChar == 62 && kind > 6) + kind = 6; + break; + case 4: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 3; + break; + case 5: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 4; + break; + case 6: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 0; + break; + case 7: + if (curChar == 33) + jjstateSet[jjnewStateCnt++] = 6; + break; + case 9: + if ((0x3fe000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(10, 11); + break; + case 10: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(10, 11); + break; + case 12: + if (curChar == 46) + jjCheckNAdd(13); + break; + case 13: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddStates(17, 19); + break; + case 15: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(16); + break; + case 16: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddTwoStates(16, 17); + break; + case 18: + if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + break; + case 19: + if ((0xfffffffbffffdbffL & l) != 0L) + jjCheckNAddTwoStates(19, 20); + break; + case 20: + if (curChar == 34 && kind > 44) + kind = 44; + break; + case 21: + if (curChar != 36) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 22: + if ((0x3ff201000000000L & l) == 0L) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 23: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + break; + case 24: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(24, 25); + break; + case 25: + if (curChar != 46) + break; + if (kind > 41) + kind = 41; + jjCheckNAddStates(20, 22); + break; + case 26: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddStates(20, 22); + break; + case 28: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(29); + break; + case 29: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddTwoStates(29, 17); + break; + case 30: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(30, 31); + break; + case 32: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(33); + break; + case 33: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddTwoStates(33, 17); + break; + case 34: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(23, 25); + break; + case 36: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(37); + break; + case 37: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(37, 17); + break; + case 38: + if (curChar != 48) + break; + if (kind > 37) + kind = 37; + jjCheckNAddStates(11, 13); + break; + case 40: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(40, 11); + break; + case 41: + if ((0xff000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(41, 11); + break; + case 42: + if (curChar == 39) + jjCheckNAddStates(7, 10); + break; + case 43: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAdd(44); + break; + case 44: + if (curChar == 39 && kind > 43) + kind = 43; + break; + case 46: + if ((0x8400000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 47: + if ((0xff000000000000L & l) != 0L) + jjCheckNAddTwoStates(48, 44); + break; + case 48: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 49: + if ((0xf000000000000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 50; + break; + case 50: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(48); + break; + case 51: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAddTwoStates(51, 52); + break; + case 52: + if (curChar == 39 && kind > 44) + kind = 44; + break; + default : break; + } + } while(i != startsAt); + } + else if (curChar < 128) + { + long l = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if ((0x7fffffe87fffffeL & l) == 0L) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 1: + jjAddStates(14, 16); + break; + case 11: + if ((0x100000001000L & l) != 0L && kind > 37) + kind = 37; + break; + case 14: + if ((0x2000000020L & l) != 0L) + jjAddStates(26, 27); + break; + case 17: + if ((0x5000000050L & l) != 0L && kind > 41) + kind = 41; + break; + case 19: + jjAddStates(28, 29); + break; + case 27: + if ((0x2000000020L & l) != 0L) + jjAddStates(30, 31); + break; + case 31: + if ((0x2000000020L & l) != 0L) + jjAddStates(32, 33); + break; + case 35: + if ((0x2000000020L & l) != 0L) + jjAddStates(34, 35); + break; + case 39: + if ((0x100000001000000L & l) != 0L) + jjCheckNAdd(40); + break; + case 40: + if ((0x7e0000007eL & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(40, 11); + break; + case 43: + if ((0xffffffffefffffffL & l) != 0L) + jjCheckNAdd(44); + break; + case 45: + if (curChar == 92) + jjAddStates(36, 38); + break; + case 46: + if ((0x14404410000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 51: + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + else + { + int hiByte = (int)(curChar >> 8); + int i1 = hiByte >> 6; + long l1 = 1L << (hiByte & 077); + int i2 = (curChar & 0xff) >> 6; + long l2 = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 1: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(14, 16); + break; + case 19: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(28, 29); + break; + case 43: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjstateSet[jjnewStateCnt++] = 44; + break; + case 51: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + if (kind != 0x7fffffff) + { + jjmatchedKind = kind; + jjmatchedPos = curPos; + kind = 0x7fffffff; + } + ++curPos; + if ((i = jjnewStateCnt) == (startsAt = 53 - (jjnewStateCnt = startsAt))) + return curPos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return curPos; } + } +} +private final int jjStopStringLiteralDfa_1(int pos, long active0) +{ + switch (pos) + { + case 0: + if ((active0 & 0x1e0000000000000L) != 0L) + return 7; + return -1; + default : + return -1; + } +} +private final int jjStartNfa_1(int pos, long active0) +{ + return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1); +} +private final int jjStartNfaWithStates_1(int pos, int kind, int state) +{ + jjmatchedKind = kind; + jjmatchedPos = pos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return pos + 1; } + return jjMoveNfa_1(state, pos + 1); +} +private final int jjMoveStringLiteralDfa0_1() +{ + switch(curChar) + { + case 9: + return jjStopAtPos(0, 2); + case 10: + return jjStopAtPos(0, 3); + case 12: + return jjStopAtPos(0, 5); + case 13: + return jjStopAtPos(0, 4); + case 32: + return jjStopAtPos(0, 1); + case 59: + return jjStopAtPos(0, 52); + case 60: + jjmatchedKind = 55; + return jjMoveStringLiteralDfa1_1(0x160000000000000L); + case 61: + return jjStopAtPos(0, 59); + case 62: + return jjStopAtPos(0, 57); + case 63: + return jjMoveStringLiteralDfa1_1(0x400000000000000L); + case 91: + return jjStopAtPos(0, 50); + case 93: + return jjStopAtPos(0, 51); + case 123: + return jjStopAtPos(0, 48); + case 125: + return jjStopAtPos(0, 49); + default : + return jjMoveNfa_1(8, 0); + } +} +private final int jjMoveStringLiteralDfa1_1(long active0) +{ + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { + jjStopStringLiteralDfa_1(0, active0); + return 1; + } + switch(curChar) + { + case 33: + if ((active0 & 0x40000000000000L) != 0L) + return jjStartNfaWithStates_1(1, 54, 6); + break; + case 47: + if ((active0 & 0x20000000000000L) != 0L) + return jjStopAtPos(1, 53); + break; + case 62: + if ((active0 & 0x400000000000000L) != 0L) + return jjStopAtPos(1, 58); + break; + case 63: + if ((active0 & 0x100000000000000L) != 0L) + return jjStopAtPos(1, 56); + break; + default : + break; + } + return jjStartNfa_1(0, active0); +} +private final int jjMoveNfa_1(int startState, int curPos) +{ + int[] nextStates; + int startsAt = 0; + jjnewStateCnt = 53; + int i = 1; + jjstateSet[0] = startState; + int j, kind = 0x7fffffff; + for (;;) + { + if (++jjround == 0x7fffffff) + ReInitRounds(); + if (curChar < 64) + { + long l = 1L << curChar; + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + else if (curChar == 39) + jjCheckNAddStates(7, 10); + else if (curChar == 36) + { + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + } + else if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + else if (curChar == 46) + jjCheckNAdd(13); + else if (curChar == 60) + jjstateSet[jjnewStateCnt++] = 7; + if ((0x3fe000000000000L & l) != 0L) + { + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(10, 11); + } + else if (curChar == 48) + { + if (kind > 37) + kind = 37; + jjCheckNAddStates(11, 13); + } + break; + case 0: + if (curChar == 45) + jjCheckNAddStates(14, 16); + break; + case 1: + if ((0xffffdfffffffffffL & l) != 0L) + jjCheckNAddStates(14, 16); + break; + case 2: + if (curChar == 45) + jjCheckNAdd(1); + break; + case 3: + if (curChar == 62 && kind > 6) + kind = 6; + break; + case 4: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 3; + break; + case 5: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 4; + break; + case 6: + if (curChar == 45) + jjstateSet[jjnewStateCnt++] = 0; + break; + case 7: + if (curChar == 33) + jjstateSet[jjnewStateCnt++] = 6; + break; + case 9: + if ((0x3fe000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(10, 11); + break; + case 10: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(10, 11); + break; + case 12: + if (curChar == 46) + jjCheckNAdd(13); + break; + case 13: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddStates(17, 19); + break; + case 15: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(16); + break; + case 16: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddTwoStates(16, 17); + break; + case 18: + if (curChar == 34) + jjCheckNAddTwoStates(19, 20); + break; + case 19: + if ((0xfffffffbffffdbffL & l) != 0L) + jjCheckNAddTwoStates(19, 20); + break; + case 20: + if (curChar == 34 && kind > 44) + kind = 44; + break; + case 21: + if (curChar != 36) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 22: + if ((0x3ff201000000000L & l) == 0L) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 23: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(0, 6); + break; + case 24: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(24, 25); + break; + case 25: + if (curChar != 46) + break; + if (kind > 41) + kind = 41; + jjCheckNAddStates(20, 22); + break; + case 26: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddStates(20, 22); + break; + case 28: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(29); + break; + case 29: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddTwoStates(29, 17); + break; + case 30: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(30, 31); + break; + case 32: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(33); + break; + case 33: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 41) + kind = 41; + jjCheckNAddTwoStates(33, 17); + break; + case 34: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddStates(23, 25); + break; + case 36: + if ((0x280000000000L & l) != 0L) + jjCheckNAdd(37); + break; + case 37: + if ((0x3ff000000000000L & l) != 0L) + jjCheckNAddTwoStates(37, 17); + break; + case 38: + if (curChar != 48) + break; + if (kind > 37) + kind = 37; + jjCheckNAddStates(11, 13); + break; + case 40: + if ((0x3ff000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(40, 11); + break; + case 41: + if ((0xff000000000000L & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(41, 11); + break; + case 42: + if (curChar == 39) + jjCheckNAddStates(7, 10); + break; + case 43: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAdd(44); + break; + case 44: + if (curChar == 39 && kind > 43) + kind = 43; + break; + case 46: + if ((0x8400000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 47: + if ((0xff000000000000L & l) != 0L) + jjCheckNAddTwoStates(48, 44); + break; + case 48: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 49: + if ((0xf000000000000L & l) != 0L) + jjstateSet[jjnewStateCnt++] = 50; + break; + case 50: + if ((0xff000000000000L & l) != 0L) + jjCheckNAdd(48); + break; + case 51: + if ((0xffffff7fffffdbffL & l) != 0L) + jjCheckNAddTwoStates(51, 52); + break; + case 52: + if (curChar == 39 && kind > 44) + kind = 44; + break; + default : break; + } + } while(i != startsAt); + } + else if (curChar < 128) + { + long l = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if ((0x7fffffe87fffffeL & l) == 0L) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 1: + jjAddStates(14, 16); + break; + case 11: + if ((0x100000001000L & l) != 0L && kind > 37) + kind = 37; + break; + case 14: + if ((0x2000000020L & l) != 0L) + jjAddStates(26, 27); + break; + case 17: + if ((0x5000000050L & l) != 0L && kind > 41) + kind = 41; + break; + case 19: + jjAddStates(28, 29); + break; + case 27: + if ((0x2000000020L & l) != 0L) + jjAddStates(30, 31); + break; + case 31: + if ((0x2000000020L & l) != 0L) + jjAddStates(32, 33); + break; + case 35: + if ((0x2000000020L & l) != 0L) + jjAddStates(34, 35); + break; + case 39: + if ((0x100000001000000L & l) != 0L) + jjCheckNAdd(40); + break; + case 40: + if ((0x7e0000007eL & l) == 0L) + break; + if (kind > 37) + kind = 37; + jjCheckNAddTwoStates(40, 11); + break; + case 43: + if ((0xffffffffefffffffL & l) != 0L) + jjCheckNAdd(44); + break; + case 45: + if (curChar == 92) + jjAddStates(36, 38); + break; + case 46: + if ((0x14404410000000L & l) != 0L) + jjCheckNAdd(44); + break; + case 51: + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + else + { + int hiByte = (int)(curChar >> 8); + int i1 = hiByte >> 6; + long l1 = 1L << (hiByte & 077); + int i2 = (curChar & 0xff) >> 6; + long l2 = 1L << (curChar & 077); + MatchLoop: do + { + switch(jjstateSet[--i]) + { + case 8: + case 22: + if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + break; + if (kind > 45) + kind = 45; + jjCheckNAdd(22); + break; + case 1: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(14, 16); + break; + case 19: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(28, 29); + break; + case 43: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjstateSet[jjnewStateCnt++] = 44; + break; + case 51: + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + jjAddStates(39, 40); + break; + default : break; + } + } while(i != startsAt); + } + if (kind != 0x7fffffff) + { + jjmatchedKind = kind; + jjmatchedPos = curPos; + kind = 0x7fffffff; + } + ++curPos; + if ((i = jjnewStateCnt) == (startsAt = 53 - (jjnewStateCnt = startsAt))) + return curPos; + try { curChar = input_stream.readChar(); } + catch(java.io.IOException e) { return curPos; } + } +} +static final int[] jjnextStates = { + 24, 25, 30, 31, 34, 35, 17, 43, 45, 51, 52, 39, 41, 11, 1, 2, + 5, 13, 14, 17, 26, 27, 17, 34, 35, 17, 15, 16, 19, 20, 28, 29, + 32, 33, 36, 37, 46, 47, 49, 51, 52, +}; +private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) +{ + switch(hiByte) + { + case 0: + return ((jjbitVec2[i2] & l2) != 0L); + default : + if ((jjbitVec0[i1] & l1) != 0L) + return true; + return false; + } +} +private static final boolean jjCanMove_1(int hiByte, int i1, int i2, long l1, long l2) +{ + switch(hiByte) + { + case 0: + return ((jjbitVec4[i2] & l2) != 0L); + case 48: + return ((jjbitVec5[i2] & l2) != 0L); + case 49: + return ((jjbitVec6[i2] & l2) != 0L); + case 51: + return ((jjbitVec7[i2] & l2) != 0L); + case 61: + return ((jjbitVec8[i2] & l2) != 0L); + default : + if ((jjbitVec3[i1] & l1) != 0L) + return true; + return false; + } +} +public static final String[] jjstrLiteralImages = { +"", null, null, null, null, null, null, "\170\155\154", +"\104\117\103\124\131\120\105", "\120\125\102\114\111\103", "\145\156\143\157\144\151\156\147", +"\166\145\162\163\151\157\156", +"\170\163\151\72\156\157\116\141\155\145\163\160\141\143\145\123\143\150\145\155\141\114\157\143\141\164\151\157\156", "\170\155\154\156\163\72\170\163\151", "\160\157\162\164\116\141\155\145", +"\155\157\144\165\154\145", "\163\157\165\162\143\145\116\141\155\145", "\120\110\111", +"\153\151\156\144", "\151\156\151\164\126\141\154\165\145", "\164\171\160\145\116\141\155\145", +"\160\157\162\164", "\144\145\143\151\163\151\157\156", "\157\160\145\162\141\164\151\157\156", +"\144\145\163\151\147\156", "\163\164\141\164\145\126\141\162", "\163\151\172\145", "\144\151\162", +"\163\157\165\162\143\145", "\166\141\154\165\145", "\141\143\164\157\162\55\160\157\162\164", +"\161\165\141\154\151\146\151\145\162", "\163\164\171\154\145", "\162\145\155\157\166\141\142\154\145", +"\141\165\164\157\163\164\141\162\164", "\164\141\162\147\145\164", "\156\141\155\145", null, null, null, null, null, +null, null, null, null, null, null, "\173", "\175", "\133", "\135", "\73", "\74\57", +"\74\41", "\74", "\74\77", "\76", "\77\76", "\75", "\57\76", }; +public static final String[] lexStateNames = { + "DEFAULT", + "BOUNDS", +}; +public static final int[] jjnewLexState = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0, 0, 0, 0, 1, 1, -1, -1, +}; +static final long[] jjtoToken = { + 0x1fff3a3fffffff81L, +}; +static final long[] jjtoSkip = { + 0x7eL, +}; +static final long[] jjtoSpecial = { + 0x7eL, +}; +protected JavaCharStream input_stream; +private final int[] jjrounds = new int[53]; +private final int[] jjstateSet = new int[106]; +protected char curChar; +public XmlParserTokenManager(JavaCharStream stream){ + if (JavaCharStream.staticFlag) + throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); + input_stream = stream; +} +public XmlParserTokenManager(JavaCharStream stream, int lexState){ + this(stream); + SwitchTo(lexState); +} +public void ReInit(JavaCharStream stream) +{ + jjmatchedPos = jjnewStateCnt = 0; + curLexState = defaultLexState; + input_stream = stream; + ReInitRounds(); +} +private final void ReInitRounds() +{ + int i; + jjround = 0x80000001; + for (i = 53; i-- > 0;) + jjrounds[i] = 0x80000000; +} +public void ReInit(JavaCharStream stream, int lexState) +{ + ReInit(stream); + SwitchTo(lexState); +} +public void SwitchTo(int lexState) +{ + if (lexState >= 2 || lexState < 0) + throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE); + else + curLexState = lexState; +} + +protected Token jjFillToken() +{ + Token t = Token.newToken(jjmatchedKind); + t.kind = jjmatchedKind; + String im = jjstrLiteralImages[jjmatchedKind]; + t.image = (im == null) ? input_stream.GetImage() : im; + t.beginLine = input_stream.getBeginLine(); + t.beginColumn = input_stream.getBeginColumn(); + t.endLine = input_stream.getEndLine(); + t.endColumn = input_stream.getEndColumn(); + return t; +} + +int curLexState = 0; +int defaultLexState = 0; +int jjnewStateCnt; +int jjround; +int jjmatchedPos; +int jjmatchedKind; + +public Token getNextToken() +{ + int kind; + Token specialToken = null; + Token matchedToken; + int curPos = 0; + + EOFLoop : + for (;;) + { + try + { + curChar = input_stream.BeginToken(); + } + catch(java.io.IOException e) + { + jjmatchedKind = 0; + matchedToken = jjFillToken(); + matchedToken.specialToken = specialToken; + return matchedToken; + } + + switch(curLexState) + { + case 0: + jjmatchedKind = 0x7fffffff; + jjmatchedPos = 0; + curPos = jjMoveStringLiteralDfa0_0(); + break; + case 1: + jjmatchedKind = 0x7fffffff; + jjmatchedPos = 0; + curPos = jjMoveStringLiteralDfa0_1(); + break; + } + if (jjmatchedKind != 0x7fffffff) + { + if (jjmatchedPos + 1 < curPos) + input_stream.backup(curPos - jjmatchedPos - 1); + if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) + { + matchedToken = jjFillToken(); + matchedToken.specialToken = specialToken; + if (jjnewLexState[jjmatchedKind] != -1) + curLexState = jjnewLexState[jjmatchedKind]; + return matchedToken; + } + else + { + if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L) + { + matchedToken = jjFillToken(); + if (specialToken == null) + specialToken = matchedToken; + else + { + matchedToken.specialToken = specialToken; + specialToken = (specialToken.next = matchedToken); + } + } + if (jjnewLexState[jjmatchedKind] != -1) + curLexState = jjnewLexState[jjmatchedKind]; + continue EOFLoop; + } + } + int error_line = input_stream.getEndLine(); + int error_column = input_stream.getEndColumn(); + String error_after = null; + boolean EOFSeen = false; + try { input_stream.readChar(); input_stream.backup(1); } + catch (java.io.IOException e1) { + EOFSeen = true; + error_after = curPos <= 1 ? "" : input_stream.GetImage(); + if (curChar == '\n' || curChar == '\r') { + error_line++; + error_column = 0; + } + else + error_column++; + } + if (!EOFSeen) { + input_stream.backup(1); + error_after = curPos <= 1 ? "" : input_stream.GetImage(); + } + throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); + } +} + +} diff --git a/examples/actors/xlimAST/XmlParserTreeConstants.java b/examples/actors/xlimAST/XmlParserTreeConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..8ebe1245dc13a95c95a4482c8ccf90210aeb76b9 --- /dev/null +++ b/examples/actors/xlimAST/XmlParserTreeConstants.java @@ -0,0 +1,87 @@ +/* Generated By:JJTree: Do not edit this line. /work/csandersn/actors/xmlSchemCompiler/examples/actors/xlimAST/XmlParserTreeConstants.java */ + +package xlimAST; + +public interface XmlParserTreeConstants +{ + public int JJTSTART = 0; + public int JJTSPECIFICATION = 1; + public int JJTOPT = 2; + public int JJTDOCTYPE = 3; + public int JJTVOID = 4; + public int JJTXMLHEADER = 5; + public int JJTLIST = 6; + public int JJTATTRVALUE = 7; + public int JJTENCODING = 8; + public int JJTVERSION = 9; + public int JJTXSINONAMESPACESCHEMALOCATION = 10; + public int JJTXMLNSXSI = 11; + public int JJTINTELEMENT = 12; + public int JJTFLOATELEMENT = 13; + public int JJTSTRINGELEMENT = 14; + public int JJTPORTNAME = 15; + public int JJTMODULE = 16; + public int JJTSOURCENAME = 17; + public int JJTPHI = 18; + public int JJTKIND = 19; + public int JJTINITVALUE = 20; + public int JJTTYPENAME = 21; + public int JJTPORT = 22; + public int JJTDECISION = 23; + public int JJTOPERATION = 24; + public int JJTDESIGN = 25; + public int JJTSTATEVAR = 26; + public int JJTSIZE = 27; + public int JJTDIR = 28; + public int JJTSOURCE = 29; + public int JJTVALUE = 30; + public int JJTACTOR_PORT = 31; + public int JJTQUALIFIER = 32; + public int JJTSTYLE = 33; + public int JJTREMOVABLE = 34; + public int JJTAUTOSTART = 35; + public int JJTTARGET = 36; + public int JJTNAME = 37; + + + public String[] jjtNodeName = { + "Start", + "Specification", + "Opt", + "DocType", + "void", + "XmlHeader", + "List", + "AttrValue", + "Encoding", + "Version", + "XsiNoNamespaceSchemaLocation", + "XmlnsXsi", + "IntElement", + "FloatElement", + "StringElement", + "portName", + "module", + "sourceName", + "PHI", + "kind", + "initValue", + "typeName", + "port", + "decision", + "operation", + "design", + "stateVar", + "size", + "dir", + "source", + "value", + "actor_port", + "qualifier", + "style", + "removable", + "autostart", + "target", + "name", + }; +} diff --git a/examples/actors/xlimAST/XmlParserVisitor.java b/examples/actors/xlimAST/XmlParserVisitor.java new file mode 100644 index 0000000000000000000000000000000000000000..e42b0d77221fae77953d92236071da0bc4b63874 --- /dev/null +++ b/examples/actors/xlimAST/XmlParserVisitor.java @@ -0,0 +1,45 @@ +/* Generated By:JJTree: Do not edit this line. /work/csandersn/actors/xmlSchemCompiler/examples/actors/xlimAST/XmlParserVisitor.java */ + +package xlimAST; + +public interface XmlParserVisitor +{ + public Object visit(SimpleNode node, Object data); + public Object visit(Start node, Object data); + public Object visit(Specification node, Object data); + public Object visit(Opt node, Object data); + public Object visit(DocType node, Object data); + public Object visit(XmlHeader node, Object data); + public Object visit(List node, Object data); + public Object visit(AttrValue node, Object data); + public Object visit(Encoding node, Object data); + public Object visit(Version node, Object data); + public Object visit(XsiNoNamespaceSchemaLocation node, Object data); + public Object visit(XmlnsXsi node, Object data); + public Object visit(IntElement node, Object data); + public Object visit(FloatElement node, Object data); + public Object visit(StringElement node, Object data); + public Object visit(portName node, Object data); + public Object visit(module node, Object data); + public Object visit(sourceName node, Object data); + public Object visit(PHI node, Object data); + public Object visit(kind node, Object data); + public Object visit(initValue node, Object data); + public Object visit(typeName node, Object data); + public Object visit(port node, Object data); + public Object visit(decision node, Object data); + public Object visit(operation node, Object data); + public Object visit(design node, Object data); + public Object visit(stateVar node, Object data); + public Object visit(size node, Object data); + public Object visit(dir node, Object data); + public Object visit(source node, Object data); + public Object visit(value node, Object data); + public Object visit(actor_port node, Object data); + public Object visit(qualifier node, Object data); + public Object visit(style node, Object data); + public Object visit(removable node, Object data); + public Object visit(autostart node, Object data); + public Object visit(target node, Object data); + public Object visit(name node, Object data); +} diff --git a/examples/actors/xlimAST/XmlnsXsi.java b/examples/actors/xlimAST/XmlnsXsi.java new file mode 100644 index 0000000000000000000000000000000000000000..11abf230fb677e3f73d7ec5aaadb1a839820b828 --- /dev/null +++ b/examples/actors/xlimAST/XmlnsXsi.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class XmlnsXsi extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public XmlnsXsi clone() throws CloneNotSupportedException { + XmlnsXsi node = (XmlnsXsi)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlnsXsi copy() { + try { + XmlnsXsi node = (XmlnsXsi)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XmlnsXsi fullCopy() { + XmlnsXsi res = (XmlnsXsi)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 43 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" xmlns:xsi="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 21 + + public XmlnsXsi(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public XmlnsXsi(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public XmlnsXsi() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 21 + public XmlnsXsi(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XmlnsXsi"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/XsiNoNamespaceSchemaLocation.java b/examples/actors/xlimAST/XsiNoNamespaceSchemaLocation.java new file mode 100644 index 0000000000000000000000000000000000000000..dbc024196c728e3dbdf3877c7d2f8ac79e1b0c59 --- /dev/null +++ b/examples/actors/xlimAST/XsiNoNamespaceSchemaLocation.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class XsiNoNamespaceSchemaLocation extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public XsiNoNamespaceSchemaLocation clone() throws CloneNotSupportedException { + XsiNoNamespaceSchemaLocation node = (XsiNoNamespaceSchemaLocation)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public XsiNoNamespaceSchemaLocation copy() { + try { + XsiNoNamespaceSchemaLocation node = (XsiNoNamespaceSchemaLocation)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public XsiNoNamespaceSchemaLocation fullCopy() { + XsiNoNamespaceSchemaLocation res = (XsiNoNamespaceSchemaLocation)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 48 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" xsi:NoNamespaceSchemaLocation="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 22 + + public XsiNoNamespaceSchemaLocation(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public XsiNoNamespaceSchemaLocation(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public XsiNoNamespaceSchemaLocation() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 22 + public XsiNoNamespaceSchemaLocation(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "XsiNoNamespaceSchemaLocation"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/actor_port.java b/examples/actors/xlimAST/actor_port.java new file mode 100644 index 0000000000000000000000000000000000000000..ed6025a81b63f341c08f87331388830c0ce87036 --- /dev/null +++ b/examples/actors/xlimAST/actor_port.java @@ -0,0 +1,276 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class actor_port extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public actor_port clone() throws CloneNotSupportedException { + actor_port node = (actor_port)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public actor_port copy() { + try { + actor_port node = (actor_port)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public actor_port fullCopy() { + actor_port res = (actor_port)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 217 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<actor_port "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</actor_port> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 41 + + public actor_port(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public actor_port(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public actor_port() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 41 + public actor_port(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "actor_port"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/autostart.java b/examples/actors/xlimAST/autostart.java new file mode 100644 index 0000000000000000000000000000000000000000..0182d508a2f221f36013d98e1a989eee262521c2 --- /dev/null +++ b/examples/actors/xlimAST/autostart.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class autostart extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public autostart clone() throws CloneNotSupportedException { + autostart node = (autostart)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public autostart copy() { + try { + autostart node = (autostart)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public autostart fullCopy() { + autostart res = (autostart)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 249 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" autostart="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 45 + + public autostart(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public autostart(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public autostart() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 45 + public autostart(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "autostart"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/decision.java b/examples/actors/xlimAST/decision.java new file mode 100644 index 0000000000000000000000000000000000000000..622eeee17e26223d08fe004684b8d011cf2ab827 --- /dev/null +++ b/examples/actors/xlimAST/decision.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class decision extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public decision clone() throws CloneNotSupportedException { + decision node = (decision)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public decision copy() { + try { + decision node = (decision)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public decision fullCopy() { + decision res = (decision)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 141 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" decision="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 33 + + public decision(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public decision(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public decision() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 33 + public decision(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "decision"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/design.java b/examples/actors/xlimAST/design.java new file mode 100644 index 0000000000000000000000000000000000000000..4b7b4dade301f1eee5337d8dec5e00b0fdb88f43 --- /dev/null +++ b/examples/actors/xlimAST/design.java @@ -0,0 +1,327 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class design extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + isSDF_visited = -1; + nbrOfActions_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public design clone() throws CloneNotSupportedException { + design node = (design)super.clone(); + node.isSDF_visited = -1; + node.nbrOfActions_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public design copy() { + try { + design node = (design)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public design fullCopy() { + design res = (design)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 163 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<design "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</design> "); + } + } + + // Declared in Merge.jrag at line 15 + + public void merge(design dest) { + HashSet<operation> ops = getOperations(new HashSet<operation>()); + for (Element e : getElements()) { + if (e.isAction()) { + for (operation o : ops) { + ((module) e).addElement(o); + } + } + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 35 + + public design(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public design(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public design() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 35 + public design(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "design"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected int isSDF_visited = -1; + // Declared in SDF.jrag at line 19 + @SuppressWarnings({"unchecked", "cast"}) public boolean isSDF() { + if(isSDF_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isSDF in class: "); + isSDF_visited = boundariesCrossed; + boolean isSDF_value = isSDF_compute(); + isSDF_visited = -1; + return isSDF_value; + } + + private boolean isSDF_compute() { return nbrOfActions() == 1; } + + protected int nbrOfActions_visited = -1; + // Declared in SDF.jrag at line 23 + @SuppressWarnings({"unchecked", "cast"}) public int nbrOfActions() { + if(nbrOfActions_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: nbrOfActions in class: "); + nbrOfActions_visited = boundariesCrossed; + int nbrOfActions_value = nbrOfActions_compute(); + nbrOfActions_visited = -1; + return nbrOfActions_value; + } + + private int nbrOfActions_compute() { + int nbrActions = 0; + for (Element e : getElements()) { + if (e.isAction()) { + nbrActions++; + } + } + return nbrActions; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/dir.java b/examples/actors/xlimAST/dir.java new file mode 100644 index 0000000000000000000000000000000000000000..8667bfd7b82c3e7946e3a16e98f7fb39d7864820 --- /dev/null +++ b/examples/actors/xlimAST/dir.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class dir extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public dir clone() throws CloneNotSupportedException { + dir node = (dir)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public dir copy() { + try { + dir node = (dir)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public dir fullCopy() { + dir res = (dir)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 202 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" dir="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 38 + + public dir(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public dir(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public dir() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 38 + public dir(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "dir"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/initValue.java b/examples/actors/xlimAST/initValue.java new file mode 100644 index 0000000000000000000000000000000000000000..eefe8d30517b11ff679caa957e86c1cbbb3e04f9 --- /dev/null +++ b/examples/actors/xlimAST/initValue.java @@ -0,0 +1,276 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class initValue extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public initValue clone() throws CloneNotSupportedException { + initValue node = (initValue)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public initValue copy() { + try { + initValue node = (initValue)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public initValue fullCopy() { + initValue res = (initValue)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 102 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<initValue "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</initValue> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 30 + + public initValue(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public initValue(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public initValue() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 30 + public initValue(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "initValue"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/kind.java b/examples/actors/xlimAST/kind.java new file mode 100644 index 0000000000000000000000000000000000000000..1670ba3d4e2ae6d4e7f40492c0318dedbc2d948a --- /dev/null +++ b/examples/actors/xlimAST/kind.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class kind extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public kind clone() throws CloneNotSupportedException { + kind node = (kind)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public kind copy() { + try { + kind node = (kind)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public kind fullCopy() { + kind res = (kind)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 97 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" kind="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 29 + + public kind(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public kind(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public kind() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 29 + public kind(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "kind"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/module.java b/examples/actors/xlimAST/module.java new file mode 100644 index 0000000000000000000000000000000000000000..72f582de6c96c6e6e9c60be4ec1c199c3061f476 --- /dev/null +++ b/examples/actors/xlimAST/module.java @@ -0,0 +1,316 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class module extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + isAction_visited = -1; + kind_visited = -1; + } + @SuppressWarnings({"unchecked", "cast"}) public module clone() throws CloneNotSupportedException { + module node = (module)super.clone(); + node.isAction_visited = -1; + node.kind_visited = -1; + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public module copy() { + try { + module node = (module)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public module fullCopy() { + module res = (module)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 58 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<module "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</module> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 26 + + public module(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public module(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public module() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 26 + public module(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "module"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected int isAction_visited = -1; + // Declared in SDF.jrag at line 34 + @SuppressWarnings({"unchecked", "cast"}) public boolean isAction() { + if(isAction_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: isAction in class: "); + isAction_visited = boundariesCrossed; + boolean isAction_value = isAction_compute(); + isAction_visited = -1; + return isAction_value; + } + + private boolean isAction_compute() { + return kind().equals("action"); + } + + protected int kind_visited = -1; + // Declared in SDF.jrag at line 38 + @SuppressWarnings({"unchecked", "cast"}) public String kind() { + if(kind_visited == boundariesCrossed) + throw new RuntimeException("Circular definition of attr: kind in class: "); + kind_visited = boundariesCrossed; + String kind_value = kind_compute(); + kind_visited = -1; + return kind_value; + } + + private String kind_compute() { + for (int i=0; i<getNumAttribute(); i++) { + Attribute a = getAttribute(i); + if (a instanceof kind) { + return fix(a.getAttrValue().getLITERAL()); + } + } + return ""; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/name.java b/examples/actors/xlimAST/name.java new file mode 100644 index 0000000000000000000000000000000000000000..99899eb3dd47d4422286e79f3105e72cc46f550d --- /dev/null +++ b/examples/actors/xlimAST/name.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class name extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public name clone() throws CloneNotSupportedException { + name node = (name)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public name copy() { + try { + name node = (name)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public name fullCopy() { + name res = (name)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 259 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" name="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 47 + + public name(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public name(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public name() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 47 + public name(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "name"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/operation.java b/examples/actors/xlimAST/operation.java new file mode 100644 index 0000000000000000000000000000000000000000..3860a843250457bfbef8e34c3c34d371a5b22c05 --- /dev/null +++ b/examples/actors/xlimAST/operation.java @@ -0,0 +1,296 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class operation extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + getOperations_HashSet_operation__visited = new java.util.HashMap(4); + } + @SuppressWarnings({"unchecked", "cast"}) public operation clone() throws CloneNotSupportedException { + operation node = (operation)super.clone(); + node.getOperations_HashSet_operation__visited = new java.util.HashMap(4); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public operation copy() { + try { + operation node = (operation)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public operation fullCopy() { + operation res = (operation)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 146 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<operation "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</operation> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 34 + + public operation(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public operation(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public operation() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 34 + public operation(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "operation"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + + protected java.util.Map getOperations_HashSet_operation__visited; + // Declared in Merge.jrag at line 43 + @SuppressWarnings({"unchecked", "cast"}) public HashSet<operation> getOperations(HashSet<operation> ops) { + Object _parameters = ops; +if(getOperations_HashSet_operation__visited == null) getOperations_HashSet_operation__visited = new java.util.HashMap(4); + if(new Integer(boundariesCrossed).equals(getOperations_HashSet_operation__visited.get(_parameters))) + throw new RuntimeException("Circular definition of attr: getOperations in class: "); + getOperations_HashSet_operation__visited.put(_parameters, new Integer(boundariesCrossed)); + HashSet<operation> getOperations_HashSet_operation__value = getOperations_compute(ops); + getOperations_HashSet_operation__visited.remove(_parameters); + return getOperations_HashSet_operation__value; + } + + private HashSet<operation> getOperations_compute(HashSet<operation> ops) { + ops.add(this); + return ops; + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/port.java b/examples/actors/xlimAST/port.java new file mode 100644 index 0000000000000000000000000000000000000000..554f755fb35142b29198953f6b2ec95f8f5afb6e --- /dev/null +++ b/examples/actors/xlimAST/port.java @@ -0,0 +1,276 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class port extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public port clone() throws CloneNotSupportedException { + port node = (port)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public port copy() { + try { + port node = (port)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public port fullCopy() { + port res = (port)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 124 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<port "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</port> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 32 + + public port(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public port(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public port() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 32 + public port(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "port"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/portName.java b/examples/actors/xlimAST/portName.java new file mode 100644 index 0000000000000000000000000000000000000000..8524adeaeb433dbefe7dab267851569dfd3128c8 --- /dev/null +++ b/examples/actors/xlimAST/portName.java @@ -0,0 +1,141 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +// Generated types + +public class portName extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public portName clone() throws CloneNotSupportedException { + portName node = (portName)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public portName copy() { + try { + portName node = (portName)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public portName fullCopy() { + portName res = (portName)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 53 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" portName="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 25 + + public portName(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public portName(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public portName() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 25 + public portName(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "portName"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/qualifier.java b/examples/actors/xlimAST/qualifier.java new file mode 100644 index 0000000000000000000000000000000000000000..43f962b68a7cbe8ee2bff587ae6ab2e2a9d5cf8e --- /dev/null +++ b/examples/actors/xlimAST/qualifier.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class qualifier extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public qualifier clone() throws CloneNotSupportedException { + qualifier node = (qualifier)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public qualifier copy() { + try { + qualifier node = (qualifier)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public qualifier fullCopy() { + qualifier res = (qualifier)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 234 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" qualifier="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 42 + + public qualifier(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public qualifier(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public qualifier() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 42 + public qualifier(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "qualifier"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/removable.java b/examples/actors/xlimAST/removable.java new file mode 100644 index 0000000000000000000000000000000000000000..b1cbad45ac006d63d0f6999d24ce954c44c625b4 --- /dev/null +++ b/examples/actors/xlimAST/removable.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class removable extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public removable clone() throws CloneNotSupportedException { + removable node = (removable)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public removable copy() { + try { + removable node = (removable)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public removable fullCopy() { + removable res = (removable)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 244 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" removable="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 44 + + public removable(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public removable(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public removable() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 44 + public removable(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "removable"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/size.java b/examples/actors/xlimAST/size.java new file mode 100644 index 0000000000000000000000000000000000000000..39cfd8cf74df636f4d7d16acf79bb69d6bb11336 --- /dev/null +++ b/examples/actors/xlimAST/size.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class size extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public size clone() throws CloneNotSupportedException { + size node = (size)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public size copy() { + try { + size node = (size)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public size fullCopy() { + size res = (size)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 197 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" size="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 37 + + public size(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public size(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public size() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 37 + public size(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "size"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/source.java b/examples/actors/xlimAST/source.java new file mode 100644 index 0000000000000000000000000000000000000000..91078d35d4c330b2d62e9c15b012d5a9999e8b2e --- /dev/null +++ b/examples/actors/xlimAST/source.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class source extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public source clone() throws CloneNotSupportedException { + source node = (source)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public source copy() { + try { + source node = (source)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public source fullCopy() { + source res = (source)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 207 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" source="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 39 + + public source(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public source(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public source() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 39 + public source(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "source"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/sourceName.java b/examples/actors/xlimAST/sourceName.java new file mode 100644 index 0000000000000000000000000000000000000000..59111d541b9a2216ab18dc277f9f5041d12accca --- /dev/null +++ b/examples/actors/xlimAST/sourceName.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class sourceName extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public sourceName clone() throws CloneNotSupportedException { + sourceName node = (sourceName)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public sourceName copy() { + try { + sourceName node = (sourceName)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public sourceName fullCopy() { + sourceName res = (sourceName)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 75 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" sourceName="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 27 + + public sourceName(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public sourceName(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public sourceName() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 27 + public sourceName(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "sourceName"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/stateVar.java b/examples/actors/xlimAST/stateVar.java new file mode 100644 index 0000000000000000000000000000000000000000..bdccf1f9dd38397f2d760a8199ea1eb94bc3b6ea --- /dev/null +++ b/examples/actors/xlimAST/stateVar.java @@ -0,0 +1,276 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class stateVar extends ComplexElement implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public stateVar clone() throws CloneNotSupportedException { + stateVar node = (stateVar)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public stateVar copy() { + try { + stateVar node = (stateVar)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public stateVar fullCopy() { + stateVar res = (stateVar)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 180 + + + public void prettyPrint(String ind, PrintStream pStream) { + pStream.print(ind+"<stateVar "); + for (int i=0; i<getNumAttribute(); i++) { + getAttribute(i).prettyPrint(ind,pStream); + } + if (getNumElement() == 0) { + pStream.println("/> "); + } else { + pStream.println("> "); + String newInd = ind+" "; + for (int i=0; i<getNumElement(); i++) { + getElement(i).prettyPrint(newInd,pStream); + } + pStream.println(ind+"</stateVar> "); + } + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 36 + + public stateVar(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public stateVar(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public stateVar() { + this(0); + + setChild(new List(), 0); + setChild(new List(), 1); + + } + + // Declared in xlim.ast at line 19 + + + // Declared in xlim.ast line 36 + public stateVar(List<Attribute> p0, List<Element> p1) { + setChild(p0, 0); + setChild(p1, 1); + } + + // Declared in xlim.ast at line 24 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "stateVar"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 31 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 35 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 40 + + +public void checkChild(Node n, int i) { + if(i == 0) { + if(!(n instanceof List)) throw new Error("Child number 0 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Attribute)) throw new Error("Child number " + k + " in AttributeList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Attribute"); + } + if(i == 1) { + if(!(n instanceof List)) throw new Error("Child number 1 of ComplexElement has the type " + n.getClass().getName() + " which is not an instance of List"); + for(int k = 0; k < ((List)n).getNumNoTransformChild(); k++) + if(!(((List)n).getChildNoTransform(k) instanceof Element)) throw new Error("Child number " + k + " in ElementList has the type " + ((List)n).getChildNoTransform(k).getClass().getName() + " which is not an instance of Element"); + } +} + + // Declared in xlim.ast at line 53 + + + public int getNumChild() { + return 2; + } + + // Declared in xlim.ast at line 56 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setAttributeList(List<Attribute> list) { + setChild(list, 0); + } + + // Declared in xlim.ast at line 6 + + + private int getNumAttribute = 0; + + // Declared in xlim.ast at line 7 + + public int getNumAttribute() { + return getAttributeList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Attribute getAttribute(int i) { + return (Attribute)getAttributeList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addAttribute(Attribute node) { + List<Attribute> list = getAttributeList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setAttribute(Attribute node, int i) { + List<Attribute> list = getAttributeList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Attribute> getAttributes() { + return getAttributeList(); + } + + // Declared in xlim.ast at line 27 + + public List<Attribute> getAttributesNoTransform() { + return getAttributeListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeList() { + return (List<Attribute>)getChild(0); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Attribute> getAttributeListNoTransform() { + return (List<Attribute>)getChildNoTransform(0); + } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 11 + public void setElementList(List<Element> list) { + setChild(list, 1); + } + + // Declared in xlim.ast at line 6 + + + private int getNumElement = 0; + + // Declared in xlim.ast at line 7 + + public int getNumElement() { + return getElementList().getNumChild(); + } + + // Declared in xlim.ast at line 11 + + + @SuppressWarnings({"unchecked", "cast"}) public Element getElement(int i) { + return (Element)getElementList().getChild(i); + } + + // Declared in xlim.ast at line 15 + + + public void addElement(Element node) { + List<Element> list = getElementList(); + list.addChild(node); + } + + // Declared in xlim.ast at line 20 + + + public void setElement(Element node, int i) { + List<Element> list = getElementList(); + list.setChild(node, i); + } + + // Declared in xlim.ast at line 24 + + public List<Element> getElements() { + return getElementList(); + } + + // Declared in xlim.ast at line 27 + + public List<Element> getElementsNoTransform() { + return getElementListNoTransform(); + } + + // Declared in xlim.ast at line 31 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementList() { + return (List<Element>)getChild(1); + } + + // Declared in xlim.ast at line 35 + + + @SuppressWarnings({"unchecked", "cast"}) public List<Element> getElementListNoTransform() { + return (List<Element>)getChildNoTransform(1); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/style.java b/examples/actors/xlimAST/style.java new file mode 100644 index 0000000000000000000000000000000000000000..144ffa25f3d334a51f0f6737b4de042c0bda1d77 --- /dev/null +++ b/examples/actors/xlimAST/style.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class style extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public style clone() throws CloneNotSupportedException { + style node = (style)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public style copy() { + try { + style node = (style)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public style fullCopy() { + style res = (style)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 239 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" style="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 43 + + public style(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public style(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public style() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 43 + public style(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "style"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/target.java b/examples/actors/xlimAST/target.java new file mode 100644 index 0000000000000000000000000000000000000000..e9e1e37bb0bb2b9644aae0720e203610f7c5cbc3 --- /dev/null +++ b/examples/actors/xlimAST/target.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class target extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public target clone() throws CloneNotSupportedException { + target node = (target)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public target copy() { + try { + target node = (target)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public target fullCopy() { + target res = (target)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 254 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" target="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 46 + + public target(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public target(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public target() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 46 + public target(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "target"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/typeName.java b/examples/actors/xlimAST/typeName.java new file mode 100644 index 0000000000000000000000000000000000000000..bdc69a682085bfcfb14155cef4b77386e9c01b03 --- /dev/null +++ b/examples/actors/xlimAST/typeName.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class typeName extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public typeName clone() throws CloneNotSupportedException { + typeName node = (typeName)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public typeName copy() { + try { + typeName node = (typeName)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public typeName fullCopy() { + typeName res = (typeName)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 119 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" typeName="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 31 + + public typeName(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public typeName(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public typeName() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 31 + public typeName(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "typeName"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/value.java b/examples/actors/xlimAST/value.java new file mode 100644 index 0000000000000000000000000000000000000000..46363e490f5237383bb98389af5eb6496b4901c9 --- /dev/null +++ b/examples/actors/xlimAST/value.java @@ -0,0 +1,139 @@ + +package xlimAST; +import java.io.PrintStream;import java.util.HashSet; + + +public class value extends Attribute implements Cloneable { + public void flushCache() { + super.flushCache(); + } + @SuppressWarnings({"unchecked", "cast"}) public value clone() throws CloneNotSupportedException { + value node = (value)super.clone(); + node.in$Circle(false); + node.is$Final(false); + return node; + } + @SuppressWarnings({"unchecked", "cast"}) public value copy() { + try { + value node = (value)clone(); + if(children != null) node.children = (ASTNode[])children.clone(); + return node; + } catch (CloneNotSupportedException e) { + } + System.err.println("Error: Could not clone node of type " + getClass().getName() + "!"); + return null; + } + @SuppressWarnings({"unchecked", "cast"}) public value fullCopy() { + value res = (value)copy(); + for(int i = 0; i < getNumChildNoTransform(); i++) { + ASTNode node = getChildNoTransform(i); + if(node != null) node = node.fullCopy(); + res.setChild(node, i); + } + return res; + } + // Declared in GeneratedAspects.jrag at line 212 + + + public void prettyPrint(String indent, PrintStream pStream) { + pStream.print(" value="); + getAttrValue().prettyPrint(indent,pStream); + } + + // Declared in xlim.ast at line 3 + // Declared in xlim.ast line 40 + + public value(int i) { + super(i); + } + + // Declared in xlim.ast at line 6 + + public value(XmlParser p, int i) { + this(i); + parser = p; + } + + // Declared in xlim.ast at line 10 + + public value() { + this(0); + + + } + + // Declared in xlim.ast at line 17 + + + // Declared in xlim.ast line 40 + public value(AttrValue p0) { + setChild(p0, 0); + } + + // Declared in xlim.ast at line 21 + + + public void dumpTree(String indent, java.io.PrintStream pStream) { + pStream.println(indent + "value"); + String childIndent = indent + " "; + for(int i = 0; i < getNumChild(); i++) + getChild(i).dumpTree(childIndent, pStream); + } + + // Declared in xlim.ast at line 28 + + + public Object jjtAccept(XmlParserVisitor visitor, Object data) { + return visitor.visit(this, data); + } + + // Declared in xlim.ast at line 32 + + +public void jjtAddChild(Node n, int i) { + checkChild(n, i); + super.jjtAddChild(n, i); +} + + // Declared in xlim.ast at line 37 + + +public void checkChild(Node n, int i) { + if(i == 0 && !(n instanceof AttrValue)) throw new Error("Child number 0 of Attribute has the type " + n.getClass().getName() + " which is not an instance of AttrValue"); +} + + // Declared in xlim.ast at line 41 + + + public int getNumChild() { + return 1; + } + + // Declared in xlim.ast at line 44 + + public boolean mayHaveRewrite() { return false; } + + // Declared in xlim.ast at line 2 + // Declared in xlim.ast line 17 + public void setAttrValue(AttrValue node) { + setChild(node, 0); + } + + // Declared in xlim.ast at line 5 + + public AttrValue getAttrValue() { + return (AttrValue)getChild(0); + } + + // Declared in xlim.ast at line 9 + + + public AttrValue getAttrValueNoTransform() { + return (AttrValue)getChildNoTransform(0); + } + +public ASTNode rewriteTo() { + return super.rewriteTo(); +} + +} diff --git a/examples/actors/xlimAST/xlim.jj b/examples/actors/xlimAST/xlim.jj new file mode 100644 index 0000000000000000000000000000000000000000..b8c85803012824acf920a9832e625d6f3fb0a4d8 --- /dev/null +++ b/examples/actors/xlimAST/xlim.jj @@ -0,0 +1,1393 @@ +/*@bgen(jjtree) Generated By:JJTree: Do not edit this line. /work/csandersn/actors/xmlSchemCompiler/examples/actors/xlimAST/xlim.jj */ +/*@egen*//* -*-Java-*- */ + +options { + JAVA_UNICODE_ESCAPE = true; + STATIC = false; +} + +PARSER_BEGIN(XmlParser) + package xlimAST; + public class XmlParser/*@bgen(jjtree)*/implements XmlParserTreeConstants/*@egen*/ {/*@bgen(jjtree)*/ + protected JJTXmlParserState jjtree = new JJTXmlParserState(); + +/*@egen*/ +} +PARSER_END(XmlParser) + +//----------------------------------------------// +// LEXICAL TOKENS // +//----------------------------------------------// +<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* WHITE SPACE */ +{ + " " + | + "\t" + | + "\n" + | + "\r" + | + "\f" +}// WHITE SPACE + +<DEFAULT,BOUNDS> SPECIAL_TOKEN : /* COMMENTS */ +{ + < "<!--" ( ~["-"] | ( "-" ~["-"] ) )* "-->"> +}// COMMENTS + +<DEFAULT> TOKEN : /* Reserved Words */ +{ + <XML : "xml"> + | <DOCTYPE : "DOCTYPE"> + | <PUBLIC : "PUBLIC"> + | <encoding : "encoding"> + | <version : "version"> + | <XsiNoNamespaceSchemaLocation : "xsi:noNamespaceSchemaLocation"> + | <XmlnsXsi : "xmlns:xsi"> + | <portName : "portName" > + | <module : "module" > + | <sourceName : "sourceName" > + | <PHI : "PHI" > + | <kind : "kind" > + | <initValue : "initValue" > + | <typeName : "typeName" > + | <port : "port" > + | <decision : "decision" > + | <operation : "operation" > + | <design : "design" > + | <stateVar : "stateVar" > + | <size : "size" > + | <dir : "dir" > + | <source : "source" > + | <value : "value" > + | <actor_port : "actor-port" > + | <qualifier : "qualifier" > + | <style : "style" > + | <removable : "removable" > + | <autostart : "autostart" > + | <target : "target" > + | <name : "name" > +}// Reserved Words + +<DEFAULT, BOUNDS> TOKEN : /* LITERALS */ +{ + < INTEGER_LITERAL: + <DECIMAL_LITERAL> (["l","L"])? + | + <HEX_LITERAL> (["l","L"])? + | + <OCTAL_LITERAL> (["l","L"])? + > + | + < #DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* > + | + < #HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ > + | + < #OCTAL_LITERAL: "0" (["0"-"7"])* > + | + < FLOAT_LITERAL: + (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? (["f","F","d","D"])? + | + "." (["0"-"9"])+ (<EXPONENT>)? (["f","F","d","D"])? + | + (["0"-"9"])+ <EXPONENT> (["f","F","d","D"])? + | + (["0"-"9"])+ (<EXPONENT>)? ["f","F","d","D"] + > + | + < #EXPONENT: ["e","E"] (["+","-"])? (["0"-"9"])+ > + | + < CHARACTER_LITERAL: + "'" + ( (~["'","\\","\n","\r"]) + | + ("\\" + ( ["n","t","b","r","f","\\","'","\""] + | + ["0"-"7"] ( ["0"-"7"] )? + | + ["0"-"3"] ["0"-"7"] ["0"-"7"] + ) + ) + ) + "'" + > + | + < STRING_LITERAL: + ("\"" + ( (~["\"","\n","\r"]) + )* + "\"") + | ("\'" + ( (~["\'","\n","\r"]) + )* + "\'") + > +}// LITERALS +<DEFAULT, BOUNDS> TOKEN : /* IDENTIFIERS */ +{ + < IDENTIFIER: <LETTER> (<LETTER>|<DIGIT>|"-")* > + | + < #LETTER: + [ + "$", + "A"-"Z", + "_", + "a"-"z", + "\u00c0"-"\u00d6", + "\u00d8"-"\u00f6", + "\u00f8"-"\u00ff", + "\u0100"-"\u1fff", + "\u3040"-"\u318f", + "\u3300"-"\u337f", + "\u3400"-"\u3d2d", + "\u4e00"-"\u9fff", + "\uf900"-"\ufaff" + ] + > + | + < #DIGIT: + [ + "0"-"9", + "\u0660"-"\u0669", + "\u06f0"-"\u06f9", + "\u0966"-"\u096f", + "\u09e6"-"\u09ef", + "\u0a66"-"\u0a6f", + "\u0ae6"-"\u0aef", + "\u0b66"-"\u0b6f", + "\u0be7"-"\u0bef", + "\u0c66"-"\u0c6f", + "\u0ce6"-"\u0cef", + "\u0d66"-"\u0d6f", + "\u0e50"-"\u0e59", + "\u0ed0"-"\u0ed9", + "\u1040"-"\u1049" + ] + > +}// IDENTIFIERS +<DEFAULT,BOUNDS> TOKEN : /* SEPARATORS */ +{ + < LBRACE : "{" > + | < RBRACE : "}" > + | < LBRACKET : "[" > + | < RBRACKET : "]" > + | < SEMICOLON : ";" > + | < LTSLASH : "</" > : DEFAULT + | < LTBANG : "<!" > : DEFAULT + | < LT : "<" > : DEFAULT + | < LTQ : "<?" > : DEFAULT + | < GT : ">" > : BOUNDS + | < QGT : "?>" > : BOUNDS +}// SEPARATORS +<DEFAULT,BOUNDS> TOKEN : /* OPERATORS */ +{ + < ASSIGN : "=" > +}// OPERATORS +Start Start() : {/*@bgen(jjtree) Start */ + Start jjtn000 = new Start(JJTSTART); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Start */ + try { +/*@egen*/ + Specification()/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + { return jjtn000; }/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Specification() : {/*@bgen(jjtree) Specification */ + Specification jjtn000 = new Specification(JJTSPECIFICATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Specification */ + try { +/*@egen*/ + XmlHeader()/*@bgen(jjtree) #Opt( true) */ + { + Opt jjtn001 = new Opt(JJTOPT); + boolean jjtc001 = true; + jjtree.openNodeScope(jjtn001); + } + try { +/*@egen*/ + ( [DocType()] )/*@bgen(jjtree)*/ + } catch (Throwable jjte001) { + if (jjtc001) { + jjtree.clearNodeScope(jjtn001); + jjtc001 = false; + } else { + jjtree.popNode(); + } + if (jjte001 instanceof RuntimeException) { + throw (RuntimeException)jjte001; + } + if (jjte001 instanceof ParseException) { + throw (ParseException)jjte001; + } + throw (Error)jjte001; + } finally { + if (jjtc001) { + jjtree.closeNodeScope(jjtn001, true); + } + } +/*@egen*/ + ElementList()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void DocType() : {/*@bgen(jjtree) DocType */ + DocType jjtn000 = new DocType(JJTDOCTYPE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/String s;} +{/*@bgen(jjtree) DocType */ + try { +/*@egen*/ + <LTBANG> + { + s = new String(); + if (getToken(1).kind != GT ) { + s += getData(); + } + }/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setSTRING(s);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +JAVACODE +String getData() { + StringBuffer s = new StringBuffer(); +// jjtThis.someData = true; + while ((getToken(1)).kind != LT && (getToken(1)).kind != LTSLASH) { + Token t = getNextToken(); + if (t.specialToken != null) { + Token tmp_t = t.specialToken; + while (tmp_t.specialToken != null) { + tmp_t = tmp_t.specialToken; + } + while (tmp_t != null) { + s.append(tmp_t.image); + tmp_t = tmp_t.next; + } + } + s.append(t.image); + s.append(" "); + } + return s.toString(); +} + +void XmlHeader() : {/*@bgen(jjtree) XmlHeader */ + XmlHeader jjtn000 = new XmlHeader(JJTXMLHEADER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XmlHeader */ + try { +/*@egen*/ + <LTQ> <XML> AttributeList() <QGT>/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void ElementList() : {/*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) List */ + try { +/*@egen*/ + (Element())*/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void AttributeList() : {/*@bgen(jjtree) List */ + List jjtn000 = new List(JJTLIST); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) List */ + try { +/*@egen*/ + (Attribute())*/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void AttrValue() : {/*@bgen(jjtree) AttrValue */ + AttrValue jjtn000 = new AttrValue(JJTATTRVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t; } +{/*@bgen(jjtree) AttrValue */ + try { +/*@egen*/ + t = <STRING_LITERAL>/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(t.image);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Encoding() : {/*@bgen(jjtree) Encoding */ + Encoding jjtn000 = new Encoding(JJTENCODING); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Encoding */ + try { +/*@egen*/ + <encoding> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Version() : {/*@bgen(jjtree) Version */ + Version jjtn000 = new Version(JJTVERSION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) Version */ + try { +/*@egen*/ + <version> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void XsiNoNamespaceSchemaLocation() : {/*@bgen(jjtree) XsiNoNamespaceSchemaLocation */ + XsiNoNamespaceSchemaLocation jjtn000 = new XsiNoNamespaceSchemaLocation(JJTXSINONAMESPACESCHEMALOCATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XsiNoNamespaceSchemaLocation */ + try { +/*@egen*/ + <XsiNoNamespaceSchemaLocation> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void XmlnsXsi() : {/*@bgen(jjtree) XmlnsXsi */ + XmlnsXsi jjtn000 = new XmlnsXsi(JJTXMLNSXSI); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) XmlnsXsi */ + try { +/*@egen*/ + <XmlnsXsi> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void Element() : {} +{ + ( <LT> ( + port() + | operation() + | actor_port() + | PHI() + | design() + | module() + | initValue() + | stateVar() + )) + | SimpleElement() +} + +void SimpleElement() : {} +{ + IntElement() + | FloatElement() + | StringElement() +} + +void IntElement() : {/*@bgen(jjtree) IntElement */ + IntElement jjtn000 = new IntElement(JJTINTELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t; } +{/*@bgen(jjtree) IntElement */ + try { +/*@egen*/ + t = <INTEGER_LITERAL>/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(t.image);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void FloatElement() : {/*@bgen(jjtree) FloatElement */ + FloatElement jjtn000 = new FloatElement(JJTFLOATELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t; } +{/*@bgen(jjtree) FloatElement */ + try { +/*@egen*/ + t = <FLOAT_LITERAL>/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(t.image);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} + +void StringElement() : {/*@bgen(jjtree) StringElement */ + StringElement jjtn000 = new StringElement(JJTSTRINGELEMENT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/ Token t;String s; } +{/*@bgen(jjtree) StringElement */ + try { +/*@egen*/ + t = <IDENTIFIER> + { + s = t.image; + if (getToken(1).kind != GT ) { + s += getData(); + } + }/*@bgen(jjtree)*/ + { + jjtree.closeNodeScope(jjtn000, true); + jjtc000 = false; + } +/*@egen*/ + {jjtn000.setLITERAL(s);}/*@bgen(jjtree)*/ + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void Attribute() : {} +{ + Encoding() + | Version() + | XsiNoNamespaceSchemaLocation() + | XmlnsXsi() + | source() + | style() + | name() + | removable() + | sourceName() + | dir() + | kind() + | portName() + | decision() + | target() + | qualifier() + | typeName() + | value() + | autostart() + | size() + +} + +void portName() : {/*@bgen(jjtree) portName */ + portName jjtn000 = new portName(JJTPORTNAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) portName */ + try { +/*@egen*/ + <portName> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void module() : {/*@bgen(jjtree) module */ + module jjtn000 = new module(JJTMODULE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) module */ + try { +/*@egen*/ + <module> AttributeList() + ( <GT> ElementList() "</" <module> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void sourceName() : {/*@bgen(jjtree) sourceName */ + sourceName jjtn000 = new sourceName(JJTSOURCENAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) sourceName */ + try { +/*@egen*/ + <sourceName> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void PHI() : {/*@bgen(jjtree) PHI */ + PHI jjtn000 = new PHI(JJTPHI); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) PHI */ + try { +/*@egen*/ + <PHI> AttributeList() + ( <GT> ElementList() "</" <PHI> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void kind() : {/*@bgen(jjtree) kind */ + kind jjtn000 = new kind(JJTKIND); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) kind */ + try { +/*@egen*/ + <kind> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void initValue() : {/*@bgen(jjtree) initValue */ + initValue jjtn000 = new initValue(JJTINITVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) initValue */ + try { +/*@egen*/ + <initValue> AttributeList() + ( <GT> ElementList() "</" <initValue> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void typeName() : {/*@bgen(jjtree) typeName */ + typeName jjtn000 = new typeName(JJTTYPENAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) typeName */ + try { +/*@egen*/ + <typeName> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void port() : {/*@bgen(jjtree) port */ + port jjtn000 = new port(JJTPORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) port */ + try { +/*@egen*/ + <port> AttributeList() + ( <GT> ElementList() "</" <port> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void decision() : {/*@bgen(jjtree) decision */ + decision jjtn000 = new decision(JJTDECISION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) decision */ + try { +/*@egen*/ + <decision> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void operation() : {/*@bgen(jjtree) operation */ + operation jjtn000 = new operation(JJTOPERATION); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) operation */ + try { +/*@egen*/ + <operation> AttributeList() + ( <GT> ElementList() "</" <operation> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void design() : {/*@bgen(jjtree) design */ + design jjtn000 = new design(JJTDESIGN); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) design */ + try { +/*@egen*/ + <design> AttributeList() + ( <GT> ElementList() "</" <design> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void stateVar() : {/*@bgen(jjtree) stateVar */ + stateVar jjtn000 = new stateVar(JJTSTATEVAR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) stateVar */ + try { +/*@egen*/ + <stateVar> AttributeList() + ( <GT> ElementList() "</" <stateVar> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void size() : {/*@bgen(jjtree) size */ + size jjtn000 = new size(JJTSIZE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) size */ + try { +/*@egen*/ + <size> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void dir() : {/*@bgen(jjtree) dir */ + dir jjtn000 = new dir(JJTDIR); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) dir */ + try { +/*@egen*/ + <dir> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void source() : {/*@bgen(jjtree) source */ + source jjtn000 = new source(JJTSOURCE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) source */ + try { +/*@egen*/ + <source> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void value() : {/*@bgen(jjtree) value */ + value jjtn000 = new value(JJTVALUE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) value */ + try { +/*@egen*/ + <value> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void actor_port() : {/*@bgen(jjtree) actor_port */ + actor_port jjtn000 = new actor_port(JJTACTOR_PORT); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) actor_port */ + try { +/*@egen*/ + <actor_port> AttributeList() + ( <GT> ElementList() "</" <actor_port> ">" | ElementList() "/>" )/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void qualifier() : {/*@bgen(jjtree) qualifier */ + qualifier jjtn000 = new qualifier(JJTQUALIFIER); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) qualifier */ + try { +/*@egen*/ + <qualifier> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void style() : {/*@bgen(jjtree) style */ + style jjtn000 = new style(JJTSTYLE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) style */ + try { +/*@egen*/ + <style> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void removable() : {/*@bgen(jjtree) removable */ + removable jjtn000 = new removable(JJTREMOVABLE); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) removable */ + try { +/*@egen*/ + <removable> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void autostart() : {/*@bgen(jjtree) autostart */ + autostart jjtn000 = new autostart(JJTAUTOSTART); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) autostart */ + try { +/*@egen*/ + <autostart> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void target() : {/*@bgen(jjtree) target */ + target jjtn000 = new target(JJTTARGET); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) target */ + try { +/*@egen*/ + <target> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +} +void name() : {/*@bgen(jjtree) name */ + name jjtn000 = new name(JJTNAME); + boolean jjtc000 = true; + jjtree.openNodeScope(jjtn000); +/*@egen*/} +{/*@bgen(jjtree) name */ + try { +/*@egen*/ + <name> "=" AttrValue()/*@bgen(jjtree)*/ + } catch (Throwable jjte000) { + if (jjtc000) { + jjtree.clearNodeScope(jjtn000); + jjtc000 = false; + } else { + jjtree.popNode(); + } + if (jjte000 instanceof RuntimeException) { + throw (RuntimeException)jjte000; + } + if (jjte000 instanceof ParseException) { + throw (ParseException)jjte000; + } + throw (Error)jjte000; + } finally { + if (jjtc000) { + jjtree.closeNodeScope(jjtn000, true); + } + } +/*@egen*/ +}