diff --git a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java index d26abd46336d98e28e3785e8858d9987bc5b897f..574d0e9ad4aecb8052f5ee49bf27c1c210d0356a 100644 --- a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java +++ b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/PositionedNode.java @@ -10,6 +10,19 @@ public class PositionedNode { private SourcePosition startPos; private SourcePosition endPos; + public PositionedNode(final SourcePosition startPos, final SourcePosition endPos) { + this.startPos = startPos; + this.endPos = endPos; + } + + public PositionedNode() { + this(null, null); + } + + public PositionedNode(final PositionedNode node) { + this(node.startPos, node.endPos); + } + public SourcePosition getStartPos() { /* * Special treatment for tokens because they don't get a position in the diff --git a/src/main/java/org/sablecc/sablecc/GenAlts.java b/src/main/java/org/sablecc/sablecc/GenAlts.java index 3edc0437607243545cf2805ec2a0cf307a4f66db..8d92b5f05154e985aca24a7cce8e18c038874355 100644 --- a/src/main/java/org/sablecc/sablecc/GenAlts.java +++ b/src/main/java/org/sablecc/sablecc/GenAlts.java @@ -247,20 +247,20 @@ public class GenAlts extends DepthFirstAdapter case ElemInfo.NONE: { macros.apply(file, "CloneBodyNode", - new String[] {info.type, nodeName(info.name), i.hasNext() ? "," : ""}); + new String[] {info.name, nodeName(info.name)}); } break; case ElemInfo.STAR: case ElemInfo.PLUS: { macros.apply(file, "CloneBodyList", - new String[] {nodeName(info.name), i.hasNext() ? "," : ""}); + new String[] {info.name, nodeName(info.name)}); } break; } } - macros.apply(file, "CloneTail", null); + macros.apply(file, "CloneTail", new String[] {name}); macros.apply(file, "Apply", new String[] {name}); diff --git a/src/main/java/org/sablecc/sablecc/node/AAlt.java b/src/main/java/org/sablecc/sablecc/node/AAlt.java index 2d7f69f7bfca5402cd6d852ec2f093a19ce53019..144ab37c8b6026ac8124a54fcd0c01b4488abd2c 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/AAlt.java @@ -31,13 +31,18 @@ public final class AAlt extends PAlt } + public AAlt(AAlt node) + { + super(node); + setAltName(cloneNode(node._altName_)); + setElems(cloneList(node._elems_)); + setAltTransform(cloneNode(node._altTransform_)); + } + @Override public AAlt clone() { - return new AAlt( - cloneNode(this._altName_), - cloneList(this._elems_), - cloneNode(this._altTransform_)); + return new AAlt(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java index 1693edacbbd0be69d886808a33d7b7a947075e67..16c9d4d0bd2a81f4c7a9eb46321a683afe78222a 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/AAltTransform.java @@ -31,13 +31,18 @@ public final class AAltTransform extends PAltTransform } + public AAltTransform(AAltTransform node) + { + super(node); + setLBrace(cloneNode(node._lBrace_)); + setTerms(cloneList(node._terms_)); + setRBrace(cloneNode(node._rBrace_)); + } + @Override public AAltTransform clone() { - return new AAltTransform( - cloneNode(this._lBrace_), - cloneList(this._terms_), - cloneNode(this._rBrace_)); + return new AAltTransform(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAst.java b/src/main/java/org/sablecc/sablecc/node/AAst.java index ae6e7e338fea65d3ca0a4e300fdb4c1d6e771ca0..c5002df4a52bc895fa0934205fe8c34aec79cafc 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAst.java +++ b/src/main/java/org/sablecc/sablecc/node/AAst.java @@ -23,11 +23,16 @@ public final class AAst extends PAst } + public AAst(AAst node) + { + super(node); + setProds(cloneList(node._prods_)); + } + @Override public AAst clone() { - return new AAst( - cloneList(this._prods_)); + return new AAst(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java index e847561751c22fd8fe0acc8e01ce358eea9bb8f7..ade7c7e1ed01917d3f843d4dedb37d88c0a8b277 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/AAstAlt.java @@ -27,12 +27,17 @@ public final class AAstAlt extends PAstAlt } + public AAstAlt(AAstAlt node) + { + super(node); + setAltName(cloneNode(node._altName_)); + setElems(cloneList(node._elems_)); + } + @Override public AAstAlt clone() { - return new AAstAlt( - cloneNode(this._altName_), - cloneList(this._elems_)); + return new AAstAlt(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AAstProd.java b/src/main/java/org/sablecc/sablecc/node/AAstProd.java index a261769fb665167adef68140e8f912b8037f7943..bf451c69cc0c9650809b694778c96d181ee0d73d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/AAstProd.java @@ -27,12 +27,17 @@ public final class AAstProd extends PAstProd } + public AAstProd(AAstProd node) + { + super(node); + setId(cloneNode(node._id_)); + setAlts(cloneList(node._alts_)); + } + @Override public AAstProd clone() { - return new AAstProd( - cloneNode(this._id_), - cloneList(this._alts_)); + return new AAstProd(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ACharBasic.java b/src/main/java/org/sablecc/sablecc/node/ACharBasic.java index c4d4d2a833e70d70517e5b098642d87124cd783d..e2c2c290835a2f9a2063c212bfd8ffc0fcf1e239 100644 --- a/src/main/java/org/sablecc/sablecc/node/ACharBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ACharBasic.java @@ -22,11 +22,16 @@ public final class ACharBasic extends PBasic } + public ACharBasic(ACharBasic node) + { + super(node); + setChar(cloneNode(node._char_)); + } + @Override public ACharBasic clone() { - return new ACharBasic( - cloneNode(this._char_)); + return new ACharBasic(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ACharChar.java b/src/main/java/org/sablecc/sablecc/node/ACharChar.java index 37a29b80eec375183a0efc718d1ccb7974a00928..c843556274ff14ff8c5ed26eba4085bce641344a 100644 --- a/src/main/java/org/sablecc/sablecc/node/ACharChar.java +++ b/src/main/java/org/sablecc/sablecc/node/ACharChar.java @@ -22,11 +22,16 @@ public final class ACharChar extends PChar } + public ACharChar(ACharChar node) + { + super(node); + setChar(cloneNode(node._char_)); + } + @Override public ACharChar clone() { - return new ACharChar( - cloneNode(this._char_)); + return new ACharChar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AConcat.java b/src/main/java/org/sablecc/sablecc/node/AConcat.java index 9b5977adc3195ca853d3a6a159db8f45cdc7c13e..a3c666d899b9eba07d7f60c3d1dd7c14f86aefa7 100644 --- a/src/main/java/org/sablecc/sablecc/node/AConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/AConcat.java @@ -23,11 +23,16 @@ public final class AConcat extends PConcat } + public AConcat(AConcat node) + { + super(node); + setUnExps(cloneList(node._unExps_)); + } + @Override public AConcat clone() { - return new AConcat( - cloneList(this._unExps_)); + return new AConcat(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ADecChar.java b/src/main/java/org/sablecc/sablecc/node/ADecChar.java index 92025a2a4e60711e7ee7386dccf7b4f8f47271b4..31c50336ad18ef60fe1ef63de05d70f27111b186 100644 --- a/src/main/java/org/sablecc/sablecc/node/ADecChar.java +++ b/src/main/java/org/sablecc/sablecc/node/ADecChar.java @@ -22,11 +22,16 @@ public final class ADecChar extends PChar } + public ADecChar(ADecChar node) + { + super(node); + setDecChar(cloneNode(node._decChar_)); + } + @Override public ADecChar clone() { - return new ADecChar( - cloneNode(this._decChar_)); + return new ADecChar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AElem.java b/src/main/java/org/sablecc/sablecc/node/AElem.java index 9b1daba89a47168c07372ce8cceeb05bd2edd5f9..70985fa2053b5bd3e69a3d48e2e7d94c07881e34 100644 --- a/src/main/java/org/sablecc/sablecc/node/AElem.java +++ b/src/main/java/org/sablecc/sablecc/node/AElem.java @@ -34,14 +34,19 @@ public final class AElem extends PElem } + public AElem(AElem node) + { + super(node); + setElemName(cloneNode(node._elemName_)); + setSpecifier(cloneNode(node._specifier_)); + setId(cloneNode(node._id_)); + setUnOp(cloneNode(node._unOp_)); + } + @Override public AElem clone() { - return new AElem( - cloneNode(this._elemName_), - cloneNode(this._specifier_), - cloneNode(this._id_), - cloneNode(this._unOp_)); + return new AElem(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AGrammar.java b/src/main/java/org/sablecc/sablecc/node/AGrammar.java index 9a3c3b40ae9178415a89bf531b2c7f1908d808a2..1408be174f1495e9d50121985c3ab83e92401a2c 100644 --- a/src/main/java/org/sablecc/sablecc/node/AGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/AGrammar.java @@ -47,17 +47,22 @@ public final class AGrammar extends PGrammar } + public AGrammar(AGrammar node) + { + super(node); + setPackage(cloneList(node._package_)); + setHelpers(cloneNode(node._helpers_)); + setStates(cloneNode(node._states_)); + setTokens(cloneNode(node._tokens_)); + setIgnTokens(cloneNode(node._ignTokens_)); + setProductions(cloneNode(node._productions_)); + setAst(cloneNode(node._ast_)); + } + @Override public AGrammar clone() { - return new AGrammar( - cloneList(this._package_), - cloneNode(this._helpers_), - cloneNode(this._states_), - cloneNode(this._tokens_), - cloneNode(this._ignTokens_), - cloneNode(this._productions_), - cloneNode(this._ast_)); + return new AGrammar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHelperDef.java b/src/main/java/org/sablecc/sablecc/node/AHelperDef.java index 9b9a77316367539e7b75fe76bf9a0ba87a5f135b..872f966d1c3f06975db23d335cc41d9ea212b2fa 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/AHelperDef.java @@ -26,12 +26,17 @@ public final class AHelperDef extends PHelperDef } + public AHelperDef(AHelperDef node) + { + super(node); + setId(cloneNode(node._id_)); + setRegExp(cloneNode(node._regExp_)); + } + @Override public AHelperDef clone() { - return new AHelperDef( - cloneNode(this._id_), - cloneNode(this._regExp_)); + return new AHelperDef(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHelpers.java b/src/main/java/org/sablecc/sablecc/node/AHelpers.java index 2205d2bf25d441e48424738a95c5e4754b89fb93..5b5f96a2fc755b92da1c790d5ed37651689977a9 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/AHelpers.java @@ -23,11 +23,16 @@ public final class AHelpers extends PHelpers } + public AHelpers(AHelpers node) + { + super(node); + setHelperDefs(cloneList(node._helperDefs_)); + } + @Override public AHelpers clone() { - return new AHelpers( - cloneList(this._helperDefs_)); + return new AHelpers(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AHexChar.java b/src/main/java/org/sablecc/sablecc/node/AHexChar.java index d20a390e45c8214f3886d1a5b1d83c82456eb32e..03913724395d8f7bee061d6a68c0bb2d8c8a0f8d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AHexChar.java +++ b/src/main/java/org/sablecc/sablecc/node/AHexChar.java @@ -22,11 +22,16 @@ public final class AHexChar extends PChar } + public AHexChar(AHexChar node) + { + super(node); + setHexChar(cloneNode(node._hexChar_)); + } + @Override public AHexChar clone() { - return new AHexChar( - cloneNode(this._hexChar_)); + return new AHexChar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIdBasic.java b/src/main/java/org/sablecc/sablecc/node/AIdBasic.java index 8b908945a068a76cfa356f8e88336846b6fcd2b4..8ce3a09337bf32bc4de18b083f419640490b6f4b 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIdBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/AIdBasic.java @@ -22,11 +22,16 @@ public final class AIdBasic extends PBasic } + public AIdBasic(AIdBasic node) + { + super(node); + setId(cloneNode(node._id_)); + } + @Override public AIdBasic clone() { - return new AIdBasic( - cloneNode(this._id_)); + return new AIdBasic(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java index 5fad1bc061908c5d5674092511d2d3f591a44575..4e89102c1903fe8b3ccd83a88ae9a6d4ffdb3600 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/AIgnTokens.java @@ -23,11 +23,16 @@ public final class AIgnTokens extends PIgnTokens } + public AIgnTokens(AIgnTokens node) + { + super(node); + setListId(cloneList(node._listId_)); + } + @Override public AIgnTokens clone() { - return new AIgnTokens( - cloneList(this._listId_)); + return new AIgnTokens(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java b/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java index 4d182030e88b13765def80eecec9bd2885401077..dbd1b004938d96aba08682da410bcc1eb8e67293 100644 --- a/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java +++ b/src/main/java/org/sablecc/sablecc/node/AIntervalSet.java @@ -26,12 +26,17 @@ public final class AIntervalSet extends PSet } + public AIntervalSet(AIntervalSet node) + { + super(node); + setLeft(cloneNode(node._left_)); + setRight(cloneNode(node._right_)); + } + @Override public AIntervalSet clone() { - return new AIntervalSet( - cloneNode(this._left_), - cloneNode(this._right_)); + return new AIntervalSet(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AListTerm.java b/src/main/java/org/sablecc/sablecc/node/AListTerm.java index d8ac882986f78ba37ba141a13ede881dbae1e916..33ef29cd0c671b9d752bbd7bb36b46c79a776b9d 100644 --- a/src/main/java/org/sablecc/sablecc/node/AListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/AListTerm.java @@ -27,12 +27,17 @@ public final class AListTerm extends PTerm } + public AListTerm(AListTerm node) + { + super(node); + setLBkt(cloneNode(node._lBkt_)); + setListTerms(cloneList(node._listTerms_)); + } + @Override public AListTerm clone() { - return new AListTerm( - cloneNode(this._lBkt_), - cloneList(this._listTerms_)); + return new AListTerm(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java b/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java index 835b9ff909e29f4e1e6883a1d48fd724048c6aaf..f83b25fd65f5487f1ec3b746148bafe2b0f221e5 100644 --- a/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AMinusBinOp.java @@ -13,10 +13,15 @@ public final class AMinusBinOp extends PBinOp // Constructor } + public AMinusBinOp(AMinusBinOp node) + { + super(node); + } + @Override public AMinusBinOp clone() { - return new AMinusBinOp(); + return new AMinusBinOp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java index 43dd3b20874877be17967a7f679ce644c2b255b7..d90bcba479d7d8106b4f28e99c5968397378a3b1 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANewListTerm.java @@ -31,13 +31,18 @@ public final class ANewListTerm extends PListTerm } + public ANewListTerm(ANewListTerm node) + { + super(node); + setProdName(cloneNode(node._prodName_)); + setLPar(cloneNode(node._lPar_)); + setParams(cloneList(node._params_)); + } + @Override public ANewListTerm clone() { - return new ANewListTerm( - cloneNode(this._prodName_), - cloneNode(this._lPar_), - cloneList(this._params_)); + return new ANewListTerm(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java index be1dc74571fa009e969f6d3de52f9e9d1286af16..5b15adbda881acec82476b5edbd11a88bbe8b15c 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANewTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANewTerm.java @@ -31,13 +31,18 @@ public final class ANewTerm extends PTerm } + public ANewTerm(ANewTerm node) + { + super(node); + setProdName(cloneNode(node._prodName_)); + setLPar(cloneNode(node._lPar_)); + setParams(cloneList(node._params_)); + } + @Override public ANewTerm clone() { - return new ANewTerm( - cloneNode(this._prodName_), - cloneNode(this._lPar_), - cloneList(this._params_)); + return new ANewTerm(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ANullTerm.java b/src/main/java/org/sablecc/sablecc/node/ANullTerm.java index 8a02cd29be264e174b860605d44fcd4d4212ea18..7054505a7a1ef9ae63394fc304f87c6f2ae981a6 100644 --- a/src/main/java/org/sablecc/sablecc/node/ANullTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ANullTerm.java @@ -13,10 +13,15 @@ public final class ANullTerm extends PTerm // Constructor } + public ANullTerm(ANullTerm node) + { + super(node); + } + @Override public ANullTerm clone() { - return new ANullTerm(); + return new ANullTerm(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AOperationSet.java b/src/main/java/org/sablecc/sablecc/node/AOperationSet.java index 3e89f909c2796573fdf6244c4dceba82f0070eab..d34ea9083b2320230c007b7ce205715ed0c1c8eb 100644 --- a/src/main/java/org/sablecc/sablecc/node/AOperationSet.java +++ b/src/main/java/org/sablecc/sablecc/node/AOperationSet.java @@ -30,13 +30,18 @@ public final class AOperationSet extends PSet } + public AOperationSet(AOperationSet node) + { + super(node); + setLeft(cloneNode(node._left_)); + setBinOp(cloneNode(node._binOp_)); + setRight(cloneNode(node._right_)); + } + @Override public AOperationSet clone() { - return new AOperationSet( - cloneNode(this._left_), - cloneNode(this._binOp_), - cloneNode(this._right_)); + return new AOperationSet(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java b/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java index 30b4a0cfcd1b18b181135618e9d12631e5836580..37600cb7b4a975622dde5b3c3a7a6bc09daf3c9c 100644 --- a/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/APlusBinOp.java @@ -13,10 +13,15 @@ public final class APlusBinOp extends PBinOp // Constructor } + public APlusBinOp(APlusBinOp node) + { + super(node); + } + @Override public APlusBinOp clone() { - return new APlusBinOp(); + return new APlusBinOp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java b/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java index 9ecf271b2e2a17f6e1a10de2fa178e5a05a13fcc..d31ac09b57b26ae668c4f218bc75b23ef6061ec5 100644 --- a/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/APlusUnOp.java @@ -22,11 +22,16 @@ public final class APlusUnOp extends PUnOp } + public APlusUnOp(APlusUnOp node) + { + super(node); + setPlus(cloneNode(node._plus_)); + } + @Override public APlusUnOp clone() { - return new APlusUnOp( - cloneNode(this._plus_)); + return new APlusUnOp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProd.java b/src/main/java/org/sablecc/sablecc/node/AProd.java index 829b66bb31a8a8e9d6594c679a9da10a722c76ed..d058034bd0aebeceeaef06d86c224e16a49bb50f 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProd.java +++ b/src/main/java/org/sablecc/sablecc/node/AProd.java @@ -35,14 +35,19 @@ public final class AProd extends PProd } + public AProd(AProd node) + { + super(node); + setId(cloneNode(node._id_)); + setArrow(cloneNode(node._arrow_)); + setProdTransform(cloneList(node._prodTransform_)); + setAlts(cloneList(node._alts_)); + } + @Override public AProd clone() { - return new AProd( - cloneNode(this._id_), - cloneNode(this._arrow_), - cloneList(this._prodTransform_), - cloneList(this._alts_)); + return new AProd(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProdName.java b/src/main/java/org/sablecc/sablecc/node/AProdName.java index 272d4a2f68ed2965ec28f0254eee795f03518e02..48d5ed27d687398584365e3eaec51a60f3897e83 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/AProdName.java @@ -26,12 +26,17 @@ public final class AProdName extends PProdName } + public AProdName(AProdName node) + { + super(node); + setId(cloneNode(node._id_)); + setProdNameTail(cloneNode(node._prodNameTail_)); + } + @Override public AProdName clone() { - return new AProdName( - cloneNode(this._id_), - cloneNode(this._prodNameTail_)); + return new AProdName(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java b/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java index 3e958eca00211a4363803ca5097763f90524ac27..df84feb26a50114481a2831c23ce5703db629ebf 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/AProductionSpecifier.java @@ -13,10 +13,15 @@ public final class AProductionSpecifier extends PSpecifier // Constructor } + public AProductionSpecifier(AProductionSpecifier node) + { + super(node); + } + @Override public AProductionSpecifier clone() { - return new AProductionSpecifier(); + return new AProductionSpecifier(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AProductions.java b/src/main/java/org/sablecc/sablecc/node/AProductions.java index 3feac8c3ba3b38dd8bb2c91193d45a3f1217f817..d5078d560f1fbbed861ba7fcd3a378bd2cb9f7db 100644 --- a/src/main/java/org/sablecc/sablecc/node/AProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/AProductions.java @@ -23,11 +23,16 @@ public final class AProductions extends PProductions } + public AProductions(AProductions node) + { + super(node); + setProds(cloneList(node._prods_)); + } + @Override public AProductions clone() { - return new AProductions( - cloneList(this._prods_)); + return new AProductions(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java b/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java index aa2b81fbbe90bcce2f64f699a3eed24216ceacd4..da78e8791a964e97e6b0ad7f2a4b67503a0d40ed 100644 --- a/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AQMarkUnOp.java @@ -22,11 +22,16 @@ public final class AQMarkUnOp extends PUnOp } + public AQMarkUnOp(AQMarkUnOp node) + { + super(node); + setQMark(cloneNode(node._qMark_)); + } + @Override public AQMarkUnOp clone() { - return new AQMarkUnOp( - cloneNode(this._qMark_)); + return new AQMarkUnOp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExp.java b/src/main/java/org/sablecc/sablecc/node/ARegExp.java index 18ca2e4b55a3b3f284753ee3e876692bcef71253..e9a9eedb3c25e100bf69f23d6e5147f1be40a3d8 100644 --- a/src/main/java/org/sablecc/sablecc/node/ARegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/ARegExp.java @@ -23,11 +23,16 @@ public final class ARegExp extends PRegExp } + public ARegExp(ARegExp node) + { + super(node); + setConcats(cloneList(node._concats_)); + } + @Override public ARegExp clone() { - return new ARegExp( - cloneList(this._concats_)); + return new ARegExp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java b/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java index 50cec7258118a68a71db9746ebff6aa787456099..1c29eec74ef24927e70082fbd0062f8fff48b504 100644 --- a/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ARegExpBasic.java @@ -22,11 +22,16 @@ public final class ARegExpBasic extends PBasic } + public ARegExpBasic(ARegExpBasic node) + { + super(node); + setRegExp(cloneNode(node._regExp_)); + } + @Override public ARegExpBasic clone() { - return new ARegExpBasic( - cloneNode(this._regExp_)); + return new ARegExpBasic(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASetBasic.java b/src/main/java/org/sablecc/sablecc/node/ASetBasic.java index 1c747e4c1e31ff08fc4c0dc98889bb9b9d7d39ca..9c26ab094894d9991f42894ccab765ae515d4d50 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASetBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/ASetBasic.java @@ -22,11 +22,16 @@ public final class ASetBasic extends PBasic } + public ASetBasic(ASetBasic node) + { + super(node); + setSet(cloneNode(node._set_)); + } + @Override public ASetBasic clone() { - return new ASetBasic( - cloneNode(this._set_)); + return new ASetBasic(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java b/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java index 4187c1e444ed82e43bf353a1624076fa96b6f79c..7821735cd82e0ac2cfd98073959ea2448ded3e47 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ASimpleListTerm.java @@ -30,13 +30,18 @@ public final class ASimpleListTerm extends PListTerm } + public ASimpleListTerm(ASimpleListTerm node) + { + super(node); + setSpecifier(cloneNode(node._specifier_)); + setId(cloneNode(node._id_)); + setSimpleTermTail(cloneNode(node._simpleTermTail_)); + } + @Override public ASimpleListTerm clone() { - return new ASimpleListTerm( - cloneNode(this._specifier_), - cloneNode(this._id_), - cloneNode(this._simpleTermTail_)); + return new ASimpleListTerm(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java b/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java index 7f7cd418d01529166277f7beab296f7be679aac6..693bea1fb73a5b757e3d08436fc9d46d14b8d8d3 100644 --- a/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/ASimpleTerm.java @@ -30,13 +30,18 @@ public final class ASimpleTerm extends PTerm } + public ASimpleTerm(ASimpleTerm node) + { + super(node); + setSpecifier(cloneNode(node._specifier_)); + setId(cloneNode(node._id_)); + setSimpleTermTail(cloneNode(node._simpleTermTail_)); + } + @Override public ASimpleTerm clone() { - return new ASimpleTerm( - cloneNode(this._specifier_), - cloneNode(this._id_), - cloneNode(this._simpleTermTail_)); + return new ASimpleTerm(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java b/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java index 3d6abe6bc1e6abc5ddfaf0b9d5be0e08f9a1d7c9..65146a48504d8ed4393b1648d5b9e97ca9006b22 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/AStarUnOp.java @@ -22,11 +22,16 @@ public final class AStarUnOp extends PUnOp } + public AStarUnOp(AStarUnOp node) + { + super(node); + setStar(cloneNode(node._star_)); + } + @Override public AStarUnOp clone() { - return new AStarUnOp( - cloneNode(this._star_)); + return new AStarUnOp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStateList.java b/src/main/java/org/sablecc/sablecc/node/AStateList.java index 0f768522016448966e3721a8d6c2be51b5127e87..f24a890d5701946bb38c36329b6e38697b9b8e95 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/AStateList.java @@ -31,13 +31,18 @@ public final class AStateList extends PStateList } + public AStateList(AStateList node) + { + super(node); + setId(cloneNode(node._id_)); + setTransition(cloneNode(node._transition_)); + setStateLists(cloneList(node._stateLists_)); + } + @Override public AStateList clone() { - return new AStateList( - cloneNode(this._id_), - cloneNode(this._transition_), - cloneList(this._stateLists_)); + return new AStateList(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStateListTail.java b/src/main/java/org/sablecc/sablecc/node/AStateListTail.java index 545102071a3e55aa33a9d3231c6dd4ffc2dbfe76..b07fbfcc87000a2dd5447b1fa408324ac0189454 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/AStateListTail.java @@ -26,12 +26,17 @@ public final class AStateListTail extends PStateListTail } + public AStateListTail(AStateListTail node) + { + super(node); + setId(cloneNode(node._id_)); + setTransition(cloneNode(node._transition_)); + } + @Override public AStateListTail clone() { - return new AStateListTail( - cloneNode(this._id_), - cloneNode(this._transition_)); + return new AStateListTail(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStates.java b/src/main/java/org/sablecc/sablecc/node/AStates.java index 271b30f0de3191fd817c386fdb2ebf850d6f499f..1c8e4eec6b5720a5b3ed770eda397c1f1a9e91ab 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStates.java +++ b/src/main/java/org/sablecc/sablecc/node/AStates.java @@ -23,11 +23,16 @@ public final class AStates extends PStates } + public AStates(AStates node) + { + super(node); + setListId(cloneList(node._listId_)); + } + @Override public AStates clone() { - return new AStates( - cloneList(this._listId_)); + return new AStates(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AStringBasic.java b/src/main/java/org/sablecc/sablecc/node/AStringBasic.java index 5b96778e5c089dbfb9df0703416cf4e27eb7a99e..79963c2303490abda7f75c28d4befd4afe39b524 100644 --- a/src/main/java/org/sablecc/sablecc/node/AStringBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/AStringBasic.java @@ -22,11 +22,16 @@ public final class AStringBasic extends PBasic } + public AStringBasic(AStringBasic node) + { + super(node); + setString(cloneNode(node._string_)); + } + @Override public AStringBasic clone() { - return new AStringBasic( - cloneNode(this._string_)); + return new AStringBasic(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokenDef.java b/src/main/java/org/sablecc/sablecc/node/ATokenDef.java index be7cb58bf6cc256b0760b37daaf9cbfbe5dbf7cc..b2e423d3a805e98c22fa34324f1f0d8f73de1d21 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokenDef.java @@ -38,15 +38,20 @@ public final class ATokenDef extends PTokenDef } + public ATokenDef(ATokenDef node) + { + super(node); + setStateList(cloneNode(node._stateList_)); + setId(cloneNode(node._id_)); + setRegExp(cloneNode(node._regExp_)); + setSlash(cloneNode(node._slash_)); + setLookAhead(cloneNode(node._lookAhead_)); + } + @Override public ATokenDef clone() { - return new ATokenDef( - cloneNode(this._stateList_), - cloneNode(this._id_), - cloneNode(this._regExp_), - cloneNode(this._slash_), - cloneNode(this._lookAhead_)); + return new ATokenDef(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java b/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java index 716ff3b0db9d45c6f253f5dc3b41d15690e97ec1..596e939289aa23f3a6dda76391f0258452049e66 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokenSpecifier.java @@ -13,10 +13,15 @@ public final class ATokenSpecifier extends PSpecifier // Constructor } + public ATokenSpecifier(ATokenSpecifier node) + { + super(node); + } + @Override public ATokenSpecifier clone() { - return new ATokenSpecifier(); + return new ATokenSpecifier(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATokens.java b/src/main/java/org/sablecc/sablecc/node/ATokens.java index f770883897f9375c3eaeb455a7d22bd2c04c90d0..2ad3db72495dcb10f541587b3d10da2ea21f342b 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATokens.java +++ b/src/main/java/org/sablecc/sablecc/node/ATokens.java @@ -23,11 +23,16 @@ public final class ATokens extends PTokens } + public ATokens(ATokens node) + { + super(node); + setTokenDefs(cloneList(node._tokenDefs_)); + } + @Override public ATokens clone() { - return new ATokens( - cloneList(this._tokenDefs_)); + return new ATokens(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/ATransition.java b/src/main/java/org/sablecc/sablecc/node/ATransition.java index f5ea0f3fa60c1ba9cc71647914b6e07f265c9997..e0c63282c9b02a058fac2f6e4cb6d636133d5e8c 100644 --- a/src/main/java/org/sablecc/sablecc/node/ATransition.java +++ b/src/main/java/org/sablecc/sablecc/node/ATransition.java @@ -22,11 +22,16 @@ public final class ATransition extends PTransition } + public ATransition(ATransition node) + { + super(node); + setId(cloneNode(node._id_)); + } + @Override public ATransition clone() { - return new ATransition( - cloneNode(this._id_)); + return new ATransition(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/AUnExp.java b/src/main/java/org/sablecc/sablecc/node/AUnExp.java index bcd27d97189864e7feb0466e0df9dd15ac39fc22..ea2d1e39625a98a4d8b7c12bac7784127e3caf6e 100644 --- a/src/main/java/org/sablecc/sablecc/node/AUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/AUnExp.java @@ -26,12 +26,17 @@ public final class AUnExp extends PUnExp } + public AUnExp(AUnExp node) + { + super(node); + setBasic(cloneNode(node._basic_)); + setUnOp(cloneNode(node._unOp_)); + } + @Override public AUnExp clone() { - return new AUnExp( - cloneNode(this._basic_), - cloneNode(this._unOp_)); + return new AUnExp(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/EOF.java b/src/main/java/org/sablecc/sablecc/node/EOF.java index 20a719fa40d04f98f898c57a7e99554b93cf2e63..5097f39cd8213c78aa0567870c15183e3ece638d 100644 --- a/src/main/java/org/sablecc/sablecc/node/EOF.java +++ b/src/main/java/org/sablecc/sablecc/node/EOF.java @@ -9,20 +9,23 @@ public final class EOF extends Token { public EOF() { - setText(""); + super(""); } public EOF(int line, int pos) { - setText(""); - setLine(line); - setPos(pos); + super("", line, pos); + } + + public EOF(EOF token) + { + super(token); } @Override public EOF clone() { - return new EOF(getLine(), getPos()); + return new EOF(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/Node.java b/src/main/java/org/sablecc/sablecc/node/Node.java index b4c0c3309a2da3e60aed1dd4216feaf4c0d5afac..c04d51db5c55fc710a792bcb03ac1fe87024989d 100644 --- a/src/main/java/org/sablecc/sablecc/node/Node.java +++ b/src/main/java/org/sablecc/sablecc/node/Node.java @@ -10,6 +10,17 @@ public abstract class Node extends PositionedNode implements Switchable, Cloneab { private Node parent; + public Node() + {} + + public Node(Node node) + { + super(node); + // Copy constructor intentionally does not keep parent! + // The new copied node is not a child of the original parent anymore. + this.parent = null; + } + @Override public abstract Node clone(); diff --git a/src/main/java/org/sablecc/sablecc/node/PAlt.java b/src/main/java/org/sablecc/sablecc/node/PAlt.java index 0b5516f2b2bc641a5aa78d0f2de25da0092a9578..805ab230e329fd4693a7994ac3b49cd7e3f32695 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAlt.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PAlt extends Node { + public PAlt() + {} + + public PAlt(PAlt node) + { + super(node); + } + @Override public abstract PAlt clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java index 35b5362309960485747bcbb60e22e686ce1e1446..f0eafa2ea20ba7bc6895e3f410c8c79566b18ac5 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAltTransform.java +++ b/src/main/java/org/sablecc/sablecc/node/PAltTransform.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PAltTransform extends Node { + public PAltTransform() + {} + + public PAltTransform(PAltTransform node) + { + super(node); + } + @Override public abstract PAltTransform clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAst.java b/src/main/java/org/sablecc/sablecc/node/PAst.java index ef1f009c8880a27ca872b421d0837252efc01b6f..04d7430515d9fa82ccfb32cb04b3783329803d63 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAst.java +++ b/src/main/java/org/sablecc/sablecc/node/PAst.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PAst extends Node { + public PAst() + {} + + public PAst(PAst node) + { + super(node); + } + @Override public abstract PAst clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java index 4dc2c2b41b47aa73c2e6c86bc8276021407ca744..7fa3763890d2b5441d693633db0c2d3526a8b452 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstAlt.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstAlt.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PAstAlt extends Node { + public PAstAlt() + {} + + public PAstAlt(PAstAlt node) + { + super(node); + } + @Override public abstract PAstAlt clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PAstProd.java b/src/main/java/org/sablecc/sablecc/node/PAstProd.java index 6b85532aa34d023487b21e5e27d41dd15772d1d6..de12a50aa730b3d35c761e96a8a20b47a192de19 100644 --- a/src/main/java/org/sablecc/sablecc/node/PAstProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PAstProd.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PAstProd extends Node { + public PAstProd() + {} + + public PAstProd(PAstProd node) + { + super(node); + } + @Override public abstract PAstProd clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PBasic.java b/src/main/java/org/sablecc/sablecc/node/PBasic.java index 70bcd901cb304d1d8a9f5555cf38b23f483985f8..2a3b4b9c02c9a6371c9a782958d8f2bd31fabd80 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBasic.java +++ b/src/main/java/org/sablecc/sablecc/node/PBasic.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PBasic extends Node { + public PBasic() + {} + + public PBasic(PBasic node) + { + super(node); + } + @Override public abstract PBasic clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PBinOp.java b/src/main/java/org/sablecc/sablecc/node/PBinOp.java index 2b2e9ef558f69770ee3fb8e4699ba08136bdef9e..1d35acb71ff9a10a68dfa8bf74677218ba20bd86 100644 --- a/src/main/java/org/sablecc/sablecc/node/PBinOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PBinOp.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PBinOp extends Node { + public PBinOp() + {} + + public PBinOp(PBinOp node) + { + super(node); + } + @Override public abstract PBinOp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PChar.java b/src/main/java/org/sablecc/sablecc/node/PChar.java index bf0fc3ca59f2c1d0456d69f07b7315b23574bf33..1e1975cc9edebdde7462b3d85320c5e4b857a8f1 100644 --- a/src/main/java/org/sablecc/sablecc/node/PChar.java +++ b/src/main/java/org/sablecc/sablecc/node/PChar.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PChar extends Node { + public PChar() + {} + + public PChar(PChar node) + { + super(node); + } + @Override public abstract PChar clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PConcat.java b/src/main/java/org/sablecc/sablecc/node/PConcat.java index c5c9870169d0bd4fb6d6d80d81c3a569a811d450..7c9ef83e1a5faa05761ed20a792560264a01ea72 100644 --- a/src/main/java/org/sablecc/sablecc/node/PConcat.java +++ b/src/main/java/org/sablecc/sablecc/node/PConcat.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PConcat extends Node { + public PConcat() + {} + + public PConcat(PConcat node) + { + super(node); + } + @Override public abstract PConcat clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PElem.java b/src/main/java/org/sablecc/sablecc/node/PElem.java index 9ead0491725ce0ba30b66aba9e32d9b815e8dabc..748f1bc5ec9b069d99b54db2d2a361af026991c5 100644 --- a/src/main/java/org/sablecc/sablecc/node/PElem.java +++ b/src/main/java/org/sablecc/sablecc/node/PElem.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PElem extends Node { + public PElem() + {} + + public PElem(PElem node) + { + super(node); + } + @Override public abstract PElem clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PGrammar.java b/src/main/java/org/sablecc/sablecc/node/PGrammar.java index 3609b3d84cf42d5d18d841074b92ed8ed4d1b4b9..8501e4c0b95d2135664b18fb021ad9742313759e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PGrammar.java +++ b/src/main/java/org/sablecc/sablecc/node/PGrammar.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PGrammar extends Node { + public PGrammar() + {} + + public PGrammar(PGrammar node) + { + super(node); + } + @Override public abstract PGrammar clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java index 3c73a8c632e17ee2568cc7e7a53c46fd887db926..b9e501dc3ebc011a5faf44dd0934345c69fa6740 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelperDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelperDef.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PHelperDef extends Node { + public PHelperDef() + {} + + public PHelperDef(PHelperDef node) + { + super(node); + } + @Override public abstract PHelperDef clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PHelpers.java b/src/main/java/org/sablecc/sablecc/node/PHelpers.java index 66e7c21fb23d9ac7153f2a198a02ecd96d1ef482..a1ddbf2b92fa1914726da310f944720600c43a22 100644 --- a/src/main/java/org/sablecc/sablecc/node/PHelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/PHelpers.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PHelpers extends Node { + public PHelpers() + {} + + public PHelpers(PHelpers node) + { + super(node); + } + @Override public abstract PHelpers clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java index 5af522344619ba29d0cde1876d4a869adb97b197..fb53108b47c422f028ac881a09990a31f790c53c 100644 --- a/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PIgnTokens.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PIgnTokens extends Node { + public PIgnTokens() + {} + + public PIgnTokens(PIgnTokens node) + { + super(node); + } + @Override public abstract PIgnTokens clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PListTerm.java b/src/main/java/org/sablecc/sablecc/node/PListTerm.java index da5bde57ca851d921c69874cffe3dc462f7b61ec..d8e7a48fc7537f0a1ca95dfc1a9eec33df44497b 100644 --- a/src/main/java/org/sablecc/sablecc/node/PListTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PListTerm.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PListTerm extends Node { + public PListTerm() + {} + + public PListTerm(PListTerm node) + { + super(node); + } + @Override public abstract PListTerm clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProd.java b/src/main/java/org/sablecc/sablecc/node/PProd.java index 5eae94a3e0016f63abafc7ae5cb04aa437a70189..2d9db40db2087d7b65bc2e48ba491854392625a8 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProd.java +++ b/src/main/java/org/sablecc/sablecc/node/PProd.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PProd extends Node { + public PProd() + {} + + public PProd(PProd node) + { + super(node); + } + @Override public abstract PProd clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProdName.java b/src/main/java/org/sablecc/sablecc/node/PProdName.java index eff659cd238b1c6e7791f18c99e0864137301492..380e8da86d939305a4353354040908258a3175e7 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProdName.java +++ b/src/main/java/org/sablecc/sablecc/node/PProdName.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PProdName extends Node { + public PProdName() + {} + + public PProdName(PProdName node) + { + super(node); + } + @Override public abstract PProdName clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PProductions.java b/src/main/java/org/sablecc/sablecc/node/PProductions.java index f12d223382bd8169b2a306d5d2e2d327cf97f2a1..98da82638503ce58f7d0a5dcab776c74d0f75a45 100644 --- a/src/main/java/org/sablecc/sablecc/node/PProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/PProductions.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PProductions extends Node { + public PProductions() + {} + + public PProductions(PProductions node) + { + super(node); + } + @Override public abstract PProductions clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PRegExp.java b/src/main/java/org/sablecc/sablecc/node/PRegExp.java index c9ae46786bcf2fd868d62fcb35135e4ec192fe58..3ebc5a202aafbe5c3b3c9eeb7876811385bff89e 100644 --- a/src/main/java/org/sablecc/sablecc/node/PRegExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PRegExp.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PRegExp extends Node { + public PRegExp() + {} + + public PRegExp(PRegExp node) + { + super(node); + } + @Override public abstract PRegExp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PSet.java b/src/main/java/org/sablecc/sablecc/node/PSet.java index 5d2b31e19a1b696a18c9d2d3cf5e60c251d34dd3..e9d659382aa480c0e48ba2bc7cecb37981d8a5f4 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSet.java +++ b/src/main/java/org/sablecc/sablecc/node/PSet.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PSet extends Node { + public PSet() + {} + + public PSet(PSet node) + { + super(node); + } + @Override public abstract PSet clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java index 787ba31bd818ef02ce17579ca9d9b1f03006a8b0..39fc6267212ab15aa372725b0867cca14da46a45 100644 --- a/src/main/java/org/sablecc/sablecc/node/PSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/PSpecifier.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PSpecifier extends Node { + public PSpecifier() + {} + + public PSpecifier(PSpecifier node) + { + super(node); + } + @Override public abstract PSpecifier clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStateList.java b/src/main/java/org/sablecc/sablecc/node/PStateList.java index 24b52b2922f3df81d2339a98b9d989b21936bc74..b8509d11053b69d32c20260b72b11cb4af5e9d2d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateList.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateList.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PStateList extends Node { + public PStateList() + {} + + public PStateList(PStateList node) + { + super(node); + } + @Override public abstract PStateList clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java index b50809e8856ab3014bf075334974eddfdfe6f1f9..3968b1082c1f172e094d050aea9c395ceea9be7a 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStateListTail.java +++ b/src/main/java/org/sablecc/sablecc/node/PStateListTail.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PStateListTail extends Node { + public PStateListTail() + {} + + public PStateListTail(PStateListTail node) + { + super(node); + } + @Override public abstract PStateListTail clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PStates.java b/src/main/java/org/sablecc/sablecc/node/PStates.java index df9262739243cd81a9192efe6f1226a9c6c83524..c0f22d478a1f94a32d4197f128defd220ab886fe 100644 --- a/src/main/java/org/sablecc/sablecc/node/PStates.java +++ b/src/main/java/org/sablecc/sablecc/node/PStates.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PStates extends Node { + public PStates() + {} + + public PStates(PStates node) + { + super(node); + } + @Override public abstract PStates clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTerm.java b/src/main/java/org/sablecc/sablecc/node/PTerm.java index cea2601f5e95197ae9b1f760517e10752992b1ec..e3e93730dcc61b39ac3fa36b010370dca07f8e4f 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTerm.java +++ b/src/main/java/org/sablecc/sablecc/node/PTerm.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PTerm extends Node { + public PTerm() + {} + + public PTerm(PTerm node) + { + super(node); + } + @Override public abstract PTerm clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java index 96e71a7ba2fa0d1665dae4d7ee6d6a25b5260cce..783f7429f527e3eedcf317914e7b161f270ee6a2 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokenDef.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokenDef.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PTokenDef extends Node { + public PTokenDef() + {} + + public PTokenDef(PTokenDef node) + { + super(node); + } + @Override public abstract PTokenDef clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTokens.java b/src/main/java/org/sablecc/sablecc/node/PTokens.java index daa2a57e8f076900af7609ad609fad40b965f79a..d0b4af8c15e5b50afc3796e6d741b82361346bb3 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/PTokens.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PTokens extends Node { + public PTokens() + {} + + public PTokens(PTokens node) + { + super(node); + } + @Override public abstract PTokens clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PTransition.java b/src/main/java/org/sablecc/sablecc/node/PTransition.java index e91c82d6d249542627448da88cea1e5013603859..d8b166d4d497dbacadd8f8227dfb0788a3d1b68d 100644 --- a/src/main/java/org/sablecc/sablecc/node/PTransition.java +++ b/src/main/java/org/sablecc/sablecc/node/PTransition.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PTransition extends Node { + public PTransition() + {} + + public PTransition(PTransition node) + { + super(node); + } + @Override public abstract PTransition clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PUnExp.java b/src/main/java/org/sablecc/sablecc/node/PUnExp.java index 1561ea6923bda990350cf8c2a65bed146b2a549a..28f0cbadbcaa0433cdd6501c21abaeab6d660806 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnExp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnExp.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PUnExp extends Node { + public PUnExp() + {} + + public PUnExp(PUnExp node) + { + super(node); + } + @Override public abstract PUnExp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/PUnOp.java b/src/main/java/org/sablecc/sablecc/node/PUnOp.java index 45a73f93c9a544796e7e7a114247129bda23537c..fc09a3313178fcab10351741575164f30ca6bfe3 100644 --- a/src/main/java/org/sablecc/sablecc/node/PUnOp.java +++ b/src/main/java/org/sablecc/sablecc/node/PUnOp.java @@ -4,6 +4,14 @@ package org.sablecc.sablecc.node; public abstract class PUnOp extends Node { + public PUnOp() + {} + + public PUnOp(PUnOp node) + { + super(node); + } + @Override public abstract PUnOp clone(); } diff --git a/src/main/java/org/sablecc/sablecc/node/Start.java b/src/main/java/org/sablecc/sablecc/node/Start.java index 2626e783adfbba06017803e5b573bbcb078cb72e..0988c84f035f06138fea1ccbdf1097b123aa2a56 100644 --- a/src/main/java/org/sablecc/sablecc/node/Start.java +++ b/src/main/java/org/sablecc/sablecc/node/Start.java @@ -22,12 +22,17 @@ public final class Start extends Node setEOF(_eof_); } + public Start(Start node) + { + super(node); + setPGrammar(cloneNode(node._pGrammar_)); + setEOF(cloneNode(node._eof_)); + } + @Override public Start clone() { - return new Start( - cloneNode(this._pGrammar_), - cloneNode(this._eof_)); + return new Start(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TAbstract.java b/src/main/java/org/sablecc/sablecc/node/TAbstract.java index a942340e3fc037e3a0e8d8d257a47651f9cd574c..dbccebb01e230af3687606897527355e89c30abd 100644 --- a/src/main/java/org/sablecc/sablecc/node/TAbstract.java +++ b/src/main/java/org/sablecc/sablecc/node/TAbstract.java @@ -9,20 +9,23 @@ public final class TAbstract extends Token { public TAbstract() { - super.setText("Abstract"); + super("Abstract"); } public TAbstract(int line, int pos) { - super.setText("Abstract"); - setLine(line); - setPos(pos); + super("Abstract", line, pos); + } + + public TAbstract(TAbstract token) + { + super(token); } @Override public TAbstract clone() { - return new TAbstract(getLine(), getPos()); + return new TAbstract(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TArrow.java b/src/main/java/org/sablecc/sablecc/node/TArrow.java index 4817c02c0d3a84ba2de6f6e7b27e594d11c97c4d..1ad0fb658d47012c7e199108f49ea1eb987fd6f2 100644 --- a/src/main/java/org/sablecc/sablecc/node/TArrow.java +++ b/src/main/java/org/sablecc/sablecc/node/TArrow.java @@ -9,20 +9,23 @@ public final class TArrow extends Token { public TArrow() { - super.setText("->"); + super("->"); } public TArrow(int line, int pos) { - super.setText("->"); - setLine(line); - setPos(pos); + super("->", line, pos); + } + + public TArrow(TArrow token) + { + super(token); } @Override public TArrow clone() { - return new TArrow(getLine(), getPos()); + return new TArrow(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TBar.java b/src/main/java/org/sablecc/sablecc/node/TBar.java index ea2cccb4426039282634618fbc718cbad026e5ed..d6119ef2375b80eca8dcefecaed173f1c38f9e1a 100644 --- a/src/main/java/org/sablecc/sablecc/node/TBar.java +++ b/src/main/java/org/sablecc/sablecc/node/TBar.java @@ -9,20 +9,23 @@ public final class TBar extends Token { public TBar() { - super.setText("|"); + super("|"); } public TBar(int line, int pos) { - super.setText("|"); - setLine(line); - setPos(pos); + super("|", line, pos); + } + + public TBar(TBar token) + { + super(token); } @Override public TBar clone() { - return new TBar(getLine(), getPos()); + return new TBar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TBlank.java b/src/main/java/org/sablecc/sablecc/node/TBlank.java index bc3665009bb6feab47a12704a8e7c104842e6ab7..70b8ecf905be3f22432f256b9af5730ca4ccaa68 100644 --- a/src/main/java/org/sablecc/sablecc/node/TBlank.java +++ b/src/main/java/org/sablecc/sablecc/node/TBlank.java @@ -9,20 +9,23 @@ public final class TBlank extends Token { public TBlank(String text) { - setText(text); + super(text); } public TBlank(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TBlank(TBlank token) + { + super(token); } @Override public TBlank clone() { - return new TBlank(getText(), getLine(), getPos()); + return new TBlank(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TChar.java b/src/main/java/org/sablecc/sablecc/node/TChar.java index 98b21a2d37dbadf2822d47306810c888621b05ca..6f70e04472fec0daf5c881dfa00395cd23804314 100644 --- a/src/main/java/org/sablecc/sablecc/node/TChar.java +++ b/src/main/java/org/sablecc/sablecc/node/TChar.java @@ -9,20 +9,23 @@ public final class TChar extends Token { public TChar(String text) { - setText(text); + super(text); } public TChar(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TChar(TChar token) + { + super(token); } @Override public TChar clone() { - return new TChar(getText(), getLine(), getPos()); + return new TChar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TColon.java b/src/main/java/org/sablecc/sablecc/node/TColon.java index 65692a48195015c67c0cdddeaf9b2f1a8959117b..cab5d5a6ff434fa5fe5e7d042dd0a13093191379 100644 --- a/src/main/java/org/sablecc/sablecc/node/TColon.java +++ b/src/main/java/org/sablecc/sablecc/node/TColon.java @@ -9,20 +9,23 @@ public final class TColon extends Token { public TColon() { - super.setText(":"); + super(":"); } public TColon(int line, int pos) { - super.setText(":"); - setLine(line); - setPos(pos); + super(":", line, pos); + } + + public TColon(TColon token) + { + super(token); } @Override public TColon clone() { - return new TColon(getLine(), getPos()); + return new TColon(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TComma.java b/src/main/java/org/sablecc/sablecc/node/TComma.java index 8b421b5a98327a32b7167ebc3f389123e52e8f88..5b906b344dd35499653b7f2e29d4652c98a2a0f3 100644 --- a/src/main/java/org/sablecc/sablecc/node/TComma.java +++ b/src/main/java/org/sablecc/sablecc/node/TComma.java @@ -9,20 +9,23 @@ public final class TComma extends Token { public TComma() { - super.setText(","); + super(","); } public TComma(int line, int pos) { - super.setText(","); - setLine(line); - setPos(pos); + super(",", line, pos); + } + + public TComma(TComma token) + { + super(token); } @Override public TComma clone() { - return new TComma(getLine(), getPos()); + return new TComma(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TComment.java b/src/main/java/org/sablecc/sablecc/node/TComment.java index 28348652e8a046a60e40ae069165ccecd77de2f6..67275750b6300598089f24bbe9c1909553c9ea5e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TComment.java +++ b/src/main/java/org/sablecc/sablecc/node/TComment.java @@ -9,20 +9,23 @@ public final class TComment extends Token { public TComment(String text) { - setText(text); + super(text); } public TComment(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TComment(TComment token) + { + super(token); } @Override public TComment clone() { - return new TComment(getText(), getLine(), getPos()); + return new TComment(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDDot.java b/src/main/java/org/sablecc/sablecc/node/TDDot.java index fd34621c749fea90a4bdc212e3c103719cd86876..68a47c7ab79f3802c45a6d386c1e2ba7609fdfa5 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDDot.java +++ b/src/main/java/org/sablecc/sablecc/node/TDDot.java @@ -9,20 +9,23 @@ public final class TDDot extends Token { public TDDot() { - super.setText(".."); + super(".."); } public TDDot(int line, int pos) { - super.setText(".."); - setLine(line); - setPos(pos); + super("..", line, pos); + } + + public TDDot(TDDot token) + { + super(token); } @Override public TDDot clone() { - return new TDDot(getLine(), getPos()); + return new TDDot(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDecChar.java b/src/main/java/org/sablecc/sablecc/node/TDecChar.java index 9511c49e38fdb6b9a2cf55e12a350a712bf8a026..11fef1ec15e9712027b9143d86223cd97607c04e 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDecChar.java +++ b/src/main/java/org/sablecc/sablecc/node/TDecChar.java @@ -9,20 +9,23 @@ public final class TDecChar extends Token { public TDecChar(String text) { - setText(text); + super(text); } public TDecChar(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TDecChar(TDecChar token) + { + super(token); } @Override public TDecChar clone() { - return new TDecChar(getText(), getLine(), getPos()); + return new TDecChar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TDot.java b/src/main/java/org/sablecc/sablecc/node/TDot.java index ff5683783d98e6ce6ebe0d92fda74d628b75cf40..7915cfc83c5bd87c53c24c7a4b9e182366f94bc9 100644 --- a/src/main/java/org/sablecc/sablecc/node/TDot.java +++ b/src/main/java/org/sablecc/sablecc/node/TDot.java @@ -9,20 +9,23 @@ public final class TDot extends Token { public TDot() { - super.setText("."); + super("."); } public TDot(int line, int pos) { - super.setText("."); - setLine(line); - setPos(pos); + super(".", line, pos); + } + + public TDot(TDot token) + { + super(token); } @Override public TDot clone() { - return new TDot(getLine(), getPos()); + return new TDot(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TEqual.java b/src/main/java/org/sablecc/sablecc/node/TEqual.java index 015aba3c9f38188b56ec1c94e87ab64b29d54bde..990a8fbf51f9b75227c5096a8bcb7a655a73d704 100644 --- a/src/main/java/org/sablecc/sablecc/node/TEqual.java +++ b/src/main/java/org/sablecc/sablecc/node/TEqual.java @@ -9,20 +9,23 @@ public final class TEqual extends Token { public TEqual() { - super.setText("="); + super("="); } public TEqual(int line, int pos) { - super.setText("="); - setLine(line); - setPos(pos); + super("=", line, pos); + } + + public TEqual(TEqual token) + { + super(token); } @Override public TEqual clone() { - return new TEqual(getLine(), getPos()); + return new TEqual(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/THelpers.java b/src/main/java/org/sablecc/sablecc/node/THelpers.java index 4c843ba6f63cbef6c0bad41887d6e3c036dfabdc..454b298ad210d38ceff50c5b54adaba7f0e93e04 100644 --- a/src/main/java/org/sablecc/sablecc/node/THelpers.java +++ b/src/main/java/org/sablecc/sablecc/node/THelpers.java @@ -9,20 +9,23 @@ public final class THelpers extends Token { public THelpers() { - super.setText("Helpers"); + super("Helpers"); } public THelpers(int line, int pos) { - super.setText("Helpers"); - setLine(line); - setPos(pos); + super("Helpers", line, pos); + } + + public THelpers(THelpers token) + { + super(token); } @Override public THelpers clone() { - return new THelpers(getLine(), getPos()); + return new THelpers(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/THexChar.java b/src/main/java/org/sablecc/sablecc/node/THexChar.java index 852b578f9c7e2c1af5bb389e528de3dbadeea713..be72cbca158910c92060f95f0de855c5e90b3acd 100644 --- a/src/main/java/org/sablecc/sablecc/node/THexChar.java +++ b/src/main/java/org/sablecc/sablecc/node/THexChar.java @@ -9,20 +9,23 @@ public final class THexChar extends Token { public THexChar(String text) { - setText(text); + super(text); } public THexChar(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public THexChar(THexChar token) + { + super(token); } @Override public THexChar clone() { - return new THexChar(getText(), getLine(), getPos()); + return new THexChar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TId.java b/src/main/java/org/sablecc/sablecc/node/TId.java index fc6487560485ea98e391b04b2a752cc887592ed1..6ecb2e6e46e54fc9c703cfcbb94a1c7964ba833f 100644 --- a/src/main/java/org/sablecc/sablecc/node/TId.java +++ b/src/main/java/org/sablecc/sablecc/node/TId.java @@ -9,20 +9,23 @@ public final class TId extends Token { public TId(String text) { - setText(text); + super(text); } public TId(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TId(TId token) + { + super(token); } @Override public TId clone() { - return new TId(getText(), getLine(), getPos()); + return new TId(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TIgnored.java b/src/main/java/org/sablecc/sablecc/node/TIgnored.java index 55a4e7c9ad91e8d1132ef43fa2f668a125f57c8b..d250772a77f047426cb337649916c840d63cf0d3 100644 --- a/src/main/java/org/sablecc/sablecc/node/TIgnored.java +++ b/src/main/java/org/sablecc/sablecc/node/TIgnored.java @@ -9,20 +9,23 @@ public final class TIgnored extends Token { public TIgnored() { - super.setText("Ignored"); + super("Ignored"); } public TIgnored(int line, int pos) { - super.setText("Ignored"); - setLine(line); - setPos(pos); + super("Ignored", line, pos); + } + + public TIgnored(TIgnored token) + { + super(token); } @Override public TIgnored clone() { - return new TIgnored(getLine(), getPos()); + return new TIgnored(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLBkt.java b/src/main/java/org/sablecc/sablecc/node/TLBkt.java index 60600372288ca800b778d38a884fd139b5a77457..3cfb5e3af9fc56469010a2807902665f8c259762 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLBkt.java +++ b/src/main/java/org/sablecc/sablecc/node/TLBkt.java @@ -9,20 +9,23 @@ public final class TLBkt extends Token { public TLBkt() { - super.setText("["); + super("["); } public TLBkt(int line, int pos) { - super.setText("["); - setLine(line); - setPos(pos); + super("[", line, pos); + } + + public TLBkt(TLBkt token) + { + super(token); } @Override public TLBkt clone() { - return new TLBkt(getLine(), getPos()); + return new TLBkt(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLBrace.java b/src/main/java/org/sablecc/sablecc/node/TLBrace.java index c7c8c11ebfae55d3ec7e0abea9f437b43ded88dd..2717770b77e5b0886feae2c730d5745d37622d65 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLBrace.java +++ b/src/main/java/org/sablecc/sablecc/node/TLBrace.java @@ -9,20 +9,23 @@ public final class TLBrace extends Token { public TLBrace() { - super.setText("{"); + super("{"); } public TLBrace(int line, int pos) { - super.setText("{"); - setLine(line); - setPos(pos); + super("{", line, pos); + } + + public TLBrace(TLBrace token) + { + super(token); } @Override public TLBrace clone() { - return new TLBrace(getLine(), getPos()); + return new TLBrace(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TLPar.java b/src/main/java/org/sablecc/sablecc/node/TLPar.java index 06b5aa99817f3ae421f958e2e896a3ee0504918a..0ce2f6982e1176c551cf7517d3c0f946ca9f7b78 100644 --- a/src/main/java/org/sablecc/sablecc/node/TLPar.java +++ b/src/main/java/org/sablecc/sablecc/node/TLPar.java @@ -9,20 +9,23 @@ public final class TLPar extends Token { public TLPar() { - super.setText("("); + super("("); } public TLPar(int line, int pos) { - super.setText("("); - setLine(line); - setPos(pos); + super("(", line, pos); + } + + public TLPar(TLPar token) + { + super(token); } @Override public TLPar clone() { - return new TLPar(getLine(), getPos()); + return new TLPar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TMinus.java b/src/main/java/org/sablecc/sablecc/node/TMinus.java index 1d5915482c242e9aa396633b815eac0d9a97b773..9eaaffa3782372bc9e9dd9c058c3aa72a7a4b8e1 100644 --- a/src/main/java/org/sablecc/sablecc/node/TMinus.java +++ b/src/main/java/org/sablecc/sablecc/node/TMinus.java @@ -9,20 +9,23 @@ public final class TMinus extends Token { public TMinus() { - super.setText("-"); + super("-"); } public TMinus(int line, int pos) { - super.setText("-"); - setLine(line); - setPos(pos); + super("-", line, pos); + } + + public TMinus(TMinus token) + { + super(token); } @Override public TMinus clone() { - return new TMinus(getLine(), getPos()); + return new TMinus(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TNew.java b/src/main/java/org/sablecc/sablecc/node/TNew.java index 39bcc556ee97270857ce3ef71b58cb3e4f965fcc..5bb658b89fbf2eb39da666f1d2827ea5671d69bf 100644 --- a/src/main/java/org/sablecc/sablecc/node/TNew.java +++ b/src/main/java/org/sablecc/sablecc/node/TNew.java @@ -9,20 +9,23 @@ public final class TNew extends Token { public TNew() { - super.setText("New"); + super("New"); } public TNew(int line, int pos) { - super.setText("New"); - setLine(line); - setPos(pos); + super("New", line, pos); + } + + public TNew(TNew token) + { + super(token); } @Override public TNew clone() { - return new TNew(getLine(), getPos()); + return new TNew(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TNull.java b/src/main/java/org/sablecc/sablecc/node/TNull.java index 0e718da416260e7a9fca0480a20e19634ff52b43..80cb56a77e81e73a730ec77107dd3c42f05a11e4 100644 --- a/src/main/java/org/sablecc/sablecc/node/TNull.java +++ b/src/main/java/org/sablecc/sablecc/node/TNull.java @@ -9,20 +9,23 @@ public final class TNull extends Token { public TNull() { - super.setText("Null"); + super("Null"); } public TNull(int line, int pos) { - super.setText("Null"); - setLine(line); - setPos(pos); + super("Null", line, pos); + } + + public TNull(TNull token) + { + super(token); } @Override public TNull clone() { - return new TNull(getLine(), getPos()); + return new TNull(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPackage.java b/src/main/java/org/sablecc/sablecc/node/TPackage.java index 2e6ff4f1653671e26e8f5196557450fce7b399c3..dd8c3af6c7dd74366563cf08d77c1225ce508ec3 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPackage.java +++ b/src/main/java/org/sablecc/sablecc/node/TPackage.java @@ -9,20 +9,23 @@ public final class TPackage extends Token { public TPackage() { - super.setText("Package"); + super("Package"); } public TPackage(int line, int pos) { - super.setText("Package"); - setLine(line); - setPos(pos); + super("Package", line, pos); + } + + public TPackage(TPackage token) + { + super(token); } @Override public TPackage clone() { - return new TPackage(getLine(), getPos()); + return new TPackage(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPkgId.java b/src/main/java/org/sablecc/sablecc/node/TPkgId.java index 3913ccdc14cdc7e354bb5fdccbfd46309b98cb9b..4a35d8f5f549c3c4a32bfae3cfc7d07d7a68ec75 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPkgId.java +++ b/src/main/java/org/sablecc/sablecc/node/TPkgId.java @@ -9,20 +9,23 @@ public final class TPkgId extends Token { public TPkgId(String text) { - setText(text); + super(text); } public TPkgId(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TPkgId(TPkgId token) + { + super(token); } @Override public TPkgId clone() { - return new TPkgId(getText(), getLine(), getPos()); + return new TPkgId(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TPlus.java b/src/main/java/org/sablecc/sablecc/node/TPlus.java index d3fd88d4a16918edc54ed96f1b664061a0121c87..45fe18001fde2ba28d64540bd8b0a07bcc2528a1 100644 --- a/src/main/java/org/sablecc/sablecc/node/TPlus.java +++ b/src/main/java/org/sablecc/sablecc/node/TPlus.java @@ -9,20 +9,23 @@ public final class TPlus extends Token { public TPlus() { - super.setText("+"); + super("+"); } public TPlus(int line, int pos) { - super.setText("+"); - setLine(line); - setPos(pos); + super("+", line, pos); + } + + public TPlus(TPlus token) + { + super(token); } @Override public TPlus clone() { - return new TPlus(getLine(), getPos()); + return new TPlus(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java b/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java index b73250d3e6f95504fb8e725410f6301c6d4b7908..df07e5837e5a5f8650eab871aad8365e56dd4f76 100644 --- a/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/TProductionSpecifier.java @@ -9,20 +9,23 @@ public final class TProductionSpecifier extends Token { public TProductionSpecifier() { - super.setText("P"); + super("P"); } public TProductionSpecifier(int line, int pos) { - super.setText("P"); - setLine(line); - setPos(pos); + super("P", line, pos); + } + + public TProductionSpecifier(TProductionSpecifier token) + { + super(token); } @Override public TProductionSpecifier clone() { - return new TProductionSpecifier(getLine(), getPos()); + return new TProductionSpecifier(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TProductions.java b/src/main/java/org/sablecc/sablecc/node/TProductions.java index bbcf9d44e26362ae501bc5ae04e58ecc1b620b9a..707edf785d210cf5fb62c9a29e0218e813e53d56 100644 --- a/src/main/java/org/sablecc/sablecc/node/TProductions.java +++ b/src/main/java/org/sablecc/sablecc/node/TProductions.java @@ -9,20 +9,23 @@ public final class TProductions extends Token { public TProductions() { - super.setText("Productions"); + super("Productions"); } public TProductions(int line, int pos) { - super.setText("Productions"); - setLine(line); - setPos(pos); + super("Productions", line, pos); + } + + public TProductions(TProductions token) + { + super(token); } @Override public TProductions clone() { - return new TProductions(getLine(), getPos()); + return new TProductions(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TQMark.java b/src/main/java/org/sablecc/sablecc/node/TQMark.java index 5b77234f754f1433cb1180504039893e83943b25..6899c0001c4805ed95985c8d0a6f50edf03c6830 100644 --- a/src/main/java/org/sablecc/sablecc/node/TQMark.java +++ b/src/main/java/org/sablecc/sablecc/node/TQMark.java @@ -9,20 +9,23 @@ public final class TQMark extends Token { public TQMark() { - super.setText("?"); + super("?"); } public TQMark(int line, int pos) { - super.setText("?"); - setLine(line); - setPos(pos); + super("?", line, pos); + } + + public TQMark(TQMark token) + { + super(token); } @Override public TQMark clone() { - return new TQMark(getLine(), getPos()); + return new TQMark(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRBkt.java b/src/main/java/org/sablecc/sablecc/node/TRBkt.java index a64429b3cc1bafe79b275fdb64d98d09bc00cfa4..058d8e5a4d335f4cc7261c43edebcf35d8b37c2c 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRBkt.java +++ b/src/main/java/org/sablecc/sablecc/node/TRBkt.java @@ -9,20 +9,23 @@ public final class TRBkt extends Token { public TRBkt() { - super.setText("]"); + super("]"); } public TRBkt(int line, int pos) { - super.setText("]"); - setLine(line); - setPos(pos); + super("]", line, pos); + } + + public TRBkt(TRBkt token) + { + super(token); } @Override public TRBkt clone() { - return new TRBkt(getLine(), getPos()); + return new TRBkt(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRBrace.java b/src/main/java/org/sablecc/sablecc/node/TRBrace.java index 7a8a97bb0a6a8752c0a93d751135ced50299340f..6af214d976f1fe41bff86204cf4afcad625bb934 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRBrace.java +++ b/src/main/java/org/sablecc/sablecc/node/TRBrace.java @@ -9,20 +9,23 @@ public final class TRBrace extends Token { public TRBrace() { - super.setText("}"); + super("}"); } public TRBrace(int line, int pos) { - super.setText("}"); - setLine(line); - setPos(pos); + super("}", line, pos); + } + + public TRBrace(TRBrace token) + { + super(token); } @Override public TRBrace clone() { - return new TRBrace(getLine(), getPos()); + return new TRBrace(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TRPar.java b/src/main/java/org/sablecc/sablecc/node/TRPar.java index b186f71fb4d8d881bbefb7a17632862a9465aa68..692be1b7cf344d623f13f239315261e283ee2ac5 100644 --- a/src/main/java/org/sablecc/sablecc/node/TRPar.java +++ b/src/main/java/org/sablecc/sablecc/node/TRPar.java @@ -9,20 +9,23 @@ public final class TRPar extends Token { public TRPar() { - super.setText(")"); + super(")"); } public TRPar(int line, int pos) { - super.setText(")"); - setLine(line); - setPos(pos); + super(")", line, pos); + } + + public TRPar(TRPar token) + { + super(token); } @Override public TRPar clone() { - return new TRPar(getLine(), getPos()); + return new TRPar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSemicolon.java b/src/main/java/org/sablecc/sablecc/node/TSemicolon.java index 65561a562caf4de4492e2843f4c51a8dcab6f321..bf681ed37ba9fda4e359f9d94ede6f4392c8fb6b 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSemicolon.java +++ b/src/main/java/org/sablecc/sablecc/node/TSemicolon.java @@ -9,20 +9,23 @@ public final class TSemicolon extends Token { public TSemicolon() { - super.setText(";"); + super(";"); } public TSemicolon(int line, int pos) { - super.setText(";"); - setLine(line); - setPos(pos); + super(";", line, pos); + } + + public TSemicolon(TSemicolon token) + { + super(token); } @Override public TSemicolon clone() { - return new TSemicolon(getLine(), getPos()); + return new TSemicolon(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSlash.java b/src/main/java/org/sablecc/sablecc/node/TSlash.java index 68eae045cc58ce2150f085ea3144d85ba1f5e687..0602691a4d422b86fafdbfed3b96d9dfe42e84bf 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSlash.java +++ b/src/main/java/org/sablecc/sablecc/node/TSlash.java @@ -9,20 +9,23 @@ public final class TSlash extends Token { public TSlash() { - super.setText("/"); + super("/"); } public TSlash(int line, int pos) { - super.setText("/"); - setLine(line); - setPos(pos); + super("/", line, pos); + } + + public TSlash(TSlash token) + { + super(token); } @Override public TSlash clone() { - return new TSlash(getLine(), getPos()); + return new TSlash(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TStar.java b/src/main/java/org/sablecc/sablecc/node/TStar.java index 37ff65d699bc2c3ec583c2afa0bdedae569380b4..eb5f04ee3a16bc882b5a024a70ad6cb389d702ba 100644 --- a/src/main/java/org/sablecc/sablecc/node/TStar.java +++ b/src/main/java/org/sablecc/sablecc/node/TStar.java @@ -9,20 +9,23 @@ public final class TStar extends Token { public TStar() { - super.setText("*"); + super("*"); } public TStar(int line, int pos) { - super.setText("*"); - setLine(line); - setPos(pos); + super("*", line, pos); + } + + public TStar(TStar token) + { + super(token); } @Override public TStar clone() { - return new TStar(getLine(), getPos()); + return new TStar(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TStates.java b/src/main/java/org/sablecc/sablecc/node/TStates.java index 6f4dd26aa72d3d34cb5624c559df29311029b744..ac0705d7eca896ff01fc87e69ed40fd976f7ff6b 100644 --- a/src/main/java/org/sablecc/sablecc/node/TStates.java +++ b/src/main/java/org/sablecc/sablecc/node/TStates.java @@ -9,20 +9,23 @@ public final class TStates extends Token { public TStates() { - super.setText("States"); + super("States"); } public TStates(int line, int pos) { - super.setText("States"); - setLine(line); - setPos(pos); + super("States", line, pos); + } + + public TStates(TStates token) + { + super(token); } @Override public TStates clone() { - return new TStates(getLine(), getPos()); + return new TStates(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TString.java b/src/main/java/org/sablecc/sablecc/node/TString.java index f04e798308b84f99d10ac13a0e7c54198ea615a6..74779c4e44efefd91718cf0712817f334f138fa0 100644 --- a/src/main/java/org/sablecc/sablecc/node/TString.java +++ b/src/main/java/org/sablecc/sablecc/node/TString.java @@ -9,20 +9,23 @@ public final class TString extends Token { public TString(String text) { - setText(text); + super(text); } public TString(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public TString(TString token) + { + super(token); } @Override public TString clone() { - return new TString(getText(), getLine(), getPos()); + return new TString(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TSyntax.java b/src/main/java/org/sablecc/sablecc/node/TSyntax.java index 699ec81368d537b148738386bedf255a89846a26..292cdcbb814e34f35b0825bf15c215bd7b046bb1 100644 --- a/src/main/java/org/sablecc/sablecc/node/TSyntax.java +++ b/src/main/java/org/sablecc/sablecc/node/TSyntax.java @@ -9,20 +9,23 @@ public final class TSyntax extends Token { public TSyntax() { - super.setText("Syntax"); + super("Syntax"); } public TSyntax(int line, int pos) { - super.setText("Syntax"); - setLine(line); - setPos(pos); + super("Syntax", line, pos); + } + + public TSyntax(TSyntax token) + { + super(token); } @Override public TSyntax clone() { - return new TSyntax(getLine(), getPos()); + return new TSyntax(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java b/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java index 98bc334709a97419a4e80605ae29557d2f03ed89..07c241402cafe59b030049936ddb367f9886c37a 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java +++ b/src/main/java/org/sablecc/sablecc/node/TTokenSpecifier.java @@ -9,20 +9,23 @@ public final class TTokenSpecifier extends Token { public TTokenSpecifier() { - super.setText("T"); + super("T"); } public TTokenSpecifier(int line, int pos) { - super.setText("T"); - setLine(line); - setPos(pos); + super("T", line, pos); + } + + public TTokenSpecifier(TTokenSpecifier token) + { + super(token); } @Override public TTokenSpecifier clone() { - return new TTokenSpecifier(getLine(), getPos()); + return new TTokenSpecifier(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTokens.java b/src/main/java/org/sablecc/sablecc/node/TTokens.java index 02740484431f7c344eef52de797e5c9230b95313..04ef9e32fec3a5499e19664f6121e362f0ec4c78 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTokens.java +++ b/src/main/java/org/sablecc/sablecc/node/TTokens.java @@ -9,20 +9,23 @@ public final class TTokens extends Token { public TTokens() { - super.setText("Tokens"); + super("Tokens"); } public TTokens(int line, int pos) { - super.setText("Tokens"); - setLine(line); - setPos(pos); + super("Tokens", line, pos); + } + + public TTokens(TTokens token) + { + super(token); } @Override public TTokens clone() { - return new TTokens(getLine(), getPos()); + return new TTokens(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/TTree.java b/src/main/java/org/sablecc/sablecc/node/TTree.java index 4fb7688a5caebce04bb6e081b81ec786a46c738f..4701d53c947f1a1417c159c576e9d12aeda309ce 100644 --- a/src/main/java/org/sablecc/sablecc/node/TTree.java +++ b/src/main/java/org/sablecc/sablecc/node/TTree.java @@ -9,20 +9,23 @@ public final class TTree extends Token { public TTree() { - super.setText("Tree"); + super("Tree"); } public TTree(int line, int pos) { - super.setText("Tree"); - setLine(line); - setPos(pos); + super("Tree", line, pos); + } + + public TTree(TTree token) + { + super(token); } @Override public TTree clone() { - return new TTree(getLine(), getPos()); + return new TTree(this); } @Override diff --git a/src/main/java/org/sablecc/sablecc/node/Token.java b/src/main/java/org/sablecc/sablecc/node/Token.java index cd88b31b9299b681a4b965b2c6111a7091ddd3f2..861f4988b88f3612b9bb1a9b4104f5a9c2e805a0 100644 --- a/src/main/java/org/sablecc/sablecc/node/Token.java +++ b/src/main/java/org/sablecc/sablecc/node/Token.java @@ -12,6 +12,31 @@ public abstract class Token extends Node implements IToken private int line; private int pos; + public Token(String text, int line, int pos) + { + this.text = text; + this.line = line; + this.pos = pos; + } + + public Token(String text) + { + this(text, 0, 0); + } + + public Token() + { + this((String)null); + } + + public Token(Token token) + { + super(token); + this.text = token.text; + this.line = token.line; + this.pos = token.pos; + } + @Override public String getText() { diff --git a/src/main/resources/org/sablecc/sablecc/alternatives.txt b/src/main/resources/org/sablecc/sablecc/alternatives.txt index ef3c2d4e3ee034a003f8ff1b95f613436312a81a..eb1569cd445760238f281c1b10430881090760ad 100644 --- a/src/main/resources/org/sablecc/sablecc/alternatives.txt +++ b/src/main/resources/org/sablecc/sablecc/alternatives.txt @@ -78,24 +78,29 @@ $ Macro:CloneHeader - @Override - public $0$ clone() + public $0$($0$ node) { - return new $0$( + super(node); + $ Macro:CloneBodyNode + set$0$(cloneNode(node._$1$_)); - cloneNode(this._$1$_)$2$ $ Macro:CloneBodyList + set$0$(cloneList(node._$1$_)); - cloneList(this._$0$_)$1$ $ Macro:CloneTail -); + } + + @Override + public $0$ clone() + { + return new $0$(this); } $ diff --git a/src/main/resources/org/sablecc/sablecc/productions.txt b/src/main/resources/org/sablecc/sablecc/productions.txt index 061f218ab7970dbb73e8b6642ccd7469f9832645..90b681ff3c59ce77a23edec8d605ceb9eb5b5017 100644 --- a/src/main/resources/org/sablecc/sablecc/productions.txt +++ b/src/main/resources/org/sablecc/sablecc/productions.txt @@ -12,6 +12,14 @@ package $0$; public abstract class $1$ extends Node { + public $1$() + {} + + public $1$($1$ node) + { + super(node); + } + @Override public abstract $1$ clone(); } diff --git a/src/main/resources/org/sablecc/sablecc/tokens.txt b/src/main/resources/org/sablecc/sablecc/tokens.txt index f93224cd03ff3b3ee5bb851a8f2e687da82aad31..c26f6434699e9ba91d88db4563bb2a2e0d7584e3 100644 --- a/src/main/resources/org/sablecc/sablecc/tokens.txt +++ b/src/main/resources/org/sablecc/sablecc/tokens.txt @@ -20,20 +20,23 @@ public final class $2$ extends Token { public $2$(String text) { - setText(text); + super(text); } public $2$(String text, int line, int pos) { - setText(text); - setLine(line); - setPos(pos); + super(text, line, pos); + } + + public $2$($2$ token) + { + super(token); } @Override public $2$ clone() { - return new $2$(getText(), getLine(), getPos()); + return new $2$(this); } @Override @@ -61,20 +64,23 @@ public final class $2$ extends Token { public $2$() { - super.setText("$3$"); + super("$3$"); } public $2$(int line, int pos) { - super.setText("$3$"); - setLine(line); - setPos(pos); + super("$3$", line, pos); + } + + public $2$($2$ token) + { + super(token); } @Override public $2$ clone() { - return new $2$(getLine(), getPos()); + return new $2$(this); } @Override diff --git a/src/main/resources/org/sablecc/sablecc/utils.txt b/src/main/resources/org/sablecc/sablecc/utils.txt index 983fc3e8d2169a49a0249049de83e1c06d737345..05a3036f91f445c5e259c817fc1d125ceaa91472 100644 --- a/src/main/resources/org/sablecc/sablecc/utils.txt +++ b/src/main/resources/org/sablecc/sablecc/utils.txt @@ -30,12 +30,17 @@ public final class Start extends Node setEOF(_eof_); } + public Start(Start node) + { + super(node); + set$2$(cloneNode(node._$3$_)); + setEOF(cloneNode(node._eof_)); + } + @Override public Start clone() { - return new Start( - cloneNode(this._$3$_), - cloneNode(this._eof_)); + return new Start(this); } @Override @@ -153,20 +158,23 @@ public final class EOF extends Token { public EOF() { - setText(""); + super(""); } public EOF(int line, int pos) { - setText(""); - setLine(line); - setPos(pos); + super("", line, pos); + } + + public EOF(EOF token) + { + super(token); } @Override public EOF clone() { - return new EOF(getLine(), getPos()); + return new EOF(this); } @Override @@ -193,6 +201,31 @@ public abstract class Token extends Node implements IToken private int line; private int pos; + public Token(String text, int line, int pos) + { + this.text = text; + this.line = line; + this.pos = pos; + } + + public Token(String text) + { + this(text, 0, 0); + } + + public Token() + { + this((String)null); + } + + public Token(Token token) + { + super(token); + this.text = token.text; + this.line = token.line; + this.pos = token.pos; + } + @Override public String getText() { @@ -263,6 +296,17 @@ public abstract class Node extends PositionedNode implements Switchable, Cloneab { private Node parent; + public Node() + {} + + public Node(Node node) + { + super(node); + // Copy constructor intentionally does not keep parent! + // The new copied node is not a child of the original parent anymore. + this.parent = null; + } + @Override public abstract Node clone();