Ptidej-v5.2-master/PADL Creator AOL/src/padl/creator/aolfile/parser/AOLCodeParser.java
/*******************************************************************************
 * Copyright (c) 2001-2014 Yann-Gal Guhneuc and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 * 
 * Contributors:
 *     Yann-Gal Guhneuc and others, see in file; API and its implementation
 ******************************************************************************/
//----------------------------------------------------
// The following code was generated by CUP v0.10k
// Tue Oct 11 22:19:51 EDT 2011
//----------------------------------------------------

package padl.creator.aolfile.parser;

import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import padl.creator.aolfile.AOLCreator;
import padl.creator.aolfile.misc.Utils;
import padl.kernel.Constants;
import padl.kernel.IAssociation;
import padl.kernel.ICodeLevelModel;
import padl.kernel.IContainerAggregation;
import padl.kernel.IElement;
import padl.kernel.IEntity;
import padl.kernel.IField;
import padl.kernel.IFirstClassEntity;
import padl.kernel.IMethod;
import padl.kernel.IPackage;
import padl.kernel.IParameter;
import padl.kernel.impl.Factory;
import padl.util.Util;
import util.lang.Modifier;
import util.multilingual.MultilingualManager;

/** CUP v0.10k generated parser.
  * @version Tue Oct 11 22:19:51 EDT 2011
  */
public class AOLCodeParser extends
		padl.creator.aolfile.javacup.runtime.lr_parser {

	/** Default constructor. */
	public AOLCodeParser() {
	}

	/** Constructor which sets the default scanner. */
	public AOLCodeParser(padl.creator.aolfile.javacup.runtime.Scanner s) {
		super(s);
	}

	/** Production table. */
	protected static final short _production_table[][] =
		unpackFromStrings(new String[] { "\000\157\000\002\003\003\000\002\002\004\000\002\004"
				+ "\004\000\002\004\003\000\002\005\004\000\002\005\004"
				+ "\000\002\005\004\000\002\005\004\000\002\006\004\000"
				+ "\002\006\005\000\002\007\006\000\002\007\004\000\002"
				+ "\007\005\000\002\007\004\000\002\007\005\000\002\007"
				+ "\004\000\002\010\005\000\002\010\003\000\002\011\007"
				+ "\000\002\011\012\000\002\011\006\000\002\011\007\000"
				+ "\002\011\006\000\002\011\006\000\002\012\004\000\002"
				+ "\012\003\000\002\012\003\000\002\012\004\000\002\013"
				+ "\005\000\002\013\004\000\002\013\003\000\002\014\007"
				+ "\000\002\014\006\000\002\014\006\000\002\014\005\000"
				+ "\002\014\004\000\002\016\011\000\002\016\006\000\002"
				+ "\016\005\000\002\016\006\000\002\016\006\000\002\016"
				+ "\005\000\002\016\004\000\002\016\005\000\002\016\004"
				+ "\000\002\016\003\000\002\016\006\000\002\016\003\000"
				+ "\002\016\003\000\002\017\007\000\002\017\005\000\002"
				+ "\017\006\000\002\017\004\000\002\020\005\000\002\020"
				+ "\003\000\002\021\006\000\002\021\005\000\002\021\005"
				+ "\000\002\021\004\000\002\021\003\000\002\021\003\000"
				+ "\002\023\006\000\002\023\004\000\002\023\003\000\002"
				+ "\023\004\000\002\023\006\000\002\023\004\000\002\024"
				+ "\006\000\002\024\005\000\002\022\004\000\002\022\003"
				+ "\000\002\022\004\000\002\022\004\000\002\022\003\000"
				+ "\002\022\003\000\002\015\003\000\002\015\003\000\002"
				+ "\015\003\000\002\015\003\000\002\025\005\000\002\025"
				+ "\004\000\002\026\004\000\002\027\005\000\002\027\004"
				+ "\000\002\027\003\000\002\030\006\000\002\030\007\000"
				+ "\002\030\010\000\002\031\003\000\002\031\003\000\002"
				+ "\031\003\000\002\031\003\000\002\031\003\000\002\032"
				+ "\017\000\002\032\011\000\002\032\007\000\002\033\005"
				+ "\000\002\033\006\000\002\034\005\000\002\034\003\000"
				+ "\002\035\006\000\002\035\011\000\002\035\010\000\002"
				+ "\035\007\000\002\035\006\000\002\035\003\000\002\035"
				+ "\004\000\002\035\004\000\002\036\005\000\002\036\004"
				+ "\000\002\036\003" });

	/** Access to production table. */
	public short[][] production_table() {
		return _production_table;
	}

	/** Parse-action table. */
	protected static final short[][] _action_table =
		unpackFromStrings(new String[] { "\000\331\000\012\005\014\007\016\014\012\035\013\001"
				+ "\002\000\014\002\001\005\014\007\016\014\012\035\013"
				+ "\001\002\000\004\040\332\001\002\000\014\002\ufffe\005"
				+ "\ufffe\007\ufffe\014\ufffe\035\ufffe\001\002\000\004\040\331"
				+ "\001\002\000\004\040\330\001\002\000\004\002\327\001"
				+ "\002\000\012\015\020\042\320\047\102\050\076\001\002"
				+ "\000\006\015\020\036\314\001\002\000\006\013\244\022"
				+ "\243\001\002\000\004\040\242\001\002\000\004\015\020"
				+ "\001\002\000\010\006\024\025\025\040\ufff9\001\002\000"
				+ "\054\006\uff93\007\uff93\010\uff93\011\uff93\012\uff93\013\uff93"
				+ "\015\uff93\016\uff93\017\uff93\021\uff93\025\uff93\030\021\034"
				+ "\uff93\036\uff93\037\uff93\040\uff93\042\uff93\043\uff93\044\uff93"
				+ "\047\uff93\050\uff93\001\002\000\054\006\uff94\007\uff94\010"
				+ "\uff94\011\uff94\012\uff94\013\uff94\015\uff94\016\uff94\017\uff94"
				+ "\021\uff94\025\uff94\030\022\034\uff94\036\uff94\037\uff94\040"
				+ "\uff94\042\uff94\043\uff94\044\uff94\047\uff94\050\uff94\001\002"
				+ "\000\052\006\uff95\007\uff95\010\uff95\011\uff95\012\uff95\013"
				+ "\uff95\015\uff95\016\uff95\017\uff95\021\uff95\025\uff95\034\uff95"
				+ "\036\uff95\037\uff95\040\uff95\042\uff95\043\uff95\044\uff95\047"
				+ "\uff95\050\uff95\001\002\000\004\040\ufff8\001\002\000\014"
				+ "\025\206\031\036\032\032\033\027\045\033\001\002\000"
				+ "\022\011\041\015\020\017\040\031\036\032\032\033\027"
				+ "\045\033\047\035\001\002\000\016\004\172\011\041\015"
				+ "\020\017\040\041\173\047\035\001\002\000\016\004\uffb6"
				+ "\011\uffb6\015\uffb6\017\uffb6\041\uffb6\047\uffb6\001\002\000"
				+ "\004\017\070\001\002\000\006\012\066\040\uffe3\001\002"
				+ "\000\016\004\uffb4\011\uffb4\015\uffb4\017\uffb4\041\uffb4\047"
				+ "\uffb4\001\002\000\016\004\uffb3\011\uffb3\015\uffb3\017\uffb3"
				+ "\041\uffb3\047\uffb3\001\002\000\012\010\057\016\055\017"
				+ "\uffd4\034\056\001\002\000\004\017\uffd2\001\002\000\016"
				+ "\004\uffb5\011\uffb5\015\uffb5\017\uffb5\041\uffb5\047\uffb5\001"
				+ "\002\000\004\040\ufff4\001\002\000\006\015\020\030\043"
				+ "\001\002\000\004\017\uffd1\001\002\000\006\015\020\037"
				+ "\046\001\002\000\004\015\020\001\002\000\004\037\045"
				+ "\001\002\000\004\017\uffda\001\002\000\004\017\uffdb\001"
				+ "\002\000\006\012\050\037\051\001\002\000\004\015\020"
				+ "\001\002\000\004\017\uffdc\001\002\000\004\015\020\001"
				+ "\002\000\004\037\054\001\002\000\004\017\uffdd\001\002"
				+ "\000\010\015\020\016\063\017\uffd7\001\002\000\006\017"
				+ "\uffd5\034\062\001\002\000\004\010\060\001\002\000\004"
				+ "\015\020\001\002\000\004\017\uffd3\001\002\000\004\017"
				+ "\uffd6\001\002\000\004\017\uffd8\001\002\000\004\034\065"
				+ "\001\002\000\004\017\uffd9\001\002\000\024\011\041\015"
				+ "\020\017\040\031\036\032\032\033\027\040\uffe4\045\033"
				+ "\047\035\001\002\000\004\040\uffe5\001\002\000\014\015"
				+ "\020\037\100\044\101\047\077\050\076\001\002\000\006"
				+ "\012\uffde\040\uffde\001\002\000\004\037\166\001\002\000"
				+ "\010\012\uffc6\015\020\037\uffc6\001\002\000\016\010\107"
				+ "\012\uff98\015\uff98\016\160\017\161\037\uff98\001\002\000"
				+ "\006\012\156\037\uffcb\001\002\000\004\015\020\001\002"
				+ "\000\010\012\uffc5\015\020\037\uffc5\001\002\000\010\010"
				+ "\125\012\uffcd\040\uffcd\001\002\000\010\015\020\047\102"
				+ "\050\076\001\002\000\004\015\020\001\002\000\042\007"
				+ "\uff98\010\107\011\uff98\012\uff98\015\uff98\016\106\021\uff98"
				+ "\025\uff98\034\uff98\037\uff98\040\uff98\042\uff98\043\uff98\044"
				+ "\uff98\047\uff98\050\uff98\001\002\000\004\015\020\001\002"
				+ "\000\006\012\uffc8\037\uffc8\001\002\000\012\015\020\030"
				+ "\112\047\102\050\076\001\002\000\004\010\110\001\002"
				+ "\000\010\015\020\047\102\050\076\001\002\000\036\007"
				+ "\uff9d\011\uff9d\012\uff9d\015\uff9d\021\uff9d\025\uff9d\034\uff9d"
				+ "\037\uff9d\040\uff9d\042\uff9d\043\uff9d\044\uff9d\047\uff9d\050"
				+ "\uff9d\001\002\000\010\015\020\047\102\050\076\001\002"
				+ "\000\004\034\114\001\002\000\042\007\uff99\010\115\011"
				+ "\uff99\012\uff99\015\uff99\021\uff99\025\uff99\030\116\034\uff99"
				+ "\037\uff99\040\uff99\042\uff99\043\uff99\044\uff99\047\uff99\050"
				+ "\uff99\001\002\000\004\010\117\001\002\000\036\007\uff9a"
				+ "\011\uff9a\012\uff9a\015\uff9a\021\uff9a\025\uff9a\034\uff9a\037"
				+ "\uff9a\040\uff9a\042\uff9a\043\uff9a\044\uff9a\047\uff9a\050\uff9a"
				+ "\001\002\000\010\015\020\047\102\050\076\001\002\000"
				+ "\036\007\uff9c\011\uff9c\012\uff9c\015\uff9c\021\uff9c\025\uff9c"
				+ "\034\uff9c\037\uff9c\040\uff9c\042\uff9c\043\uff9c\044\uff9c\047"
				+ "\uff9c\050\uff9c\001\002\000\004\034\122\001\002\000\004"
				+ "\030\123\001\002\000\036\007\uff9b\011\uff9b\012\uff9b\015"
				+ "\uff9b\021\uff9b\025\uff9b\034\uff9b\037\uff9b\040\uff9b\042\uff9b"
				+ "\043\uff9b\044\uff9b\047\uff9b\050\uff9b\001\002\000\036\007"
				+ "\uff97\011\uff97\012\uff97\015\uff97\021\uff97\025\uff97\034\uff97"
				+ "\037\uff97\040\uff97\042\uff97\043\uff97\044\uff97\047\uff97\050"
				+ "\uff97\001\002\000\016\011\132\015\020\043\133\044\131"
				+ "\047\130\050\076\001\002\000\006\012\uffce\040\uffce\001"
				+ "\002\000\022\011\132\012\uffbb\015\020\040\uffbb\043\133"
				+ "\044\131\047\130\050\076\001\002\000\010\012\uffb8\015"
				+ "\020\040\uffb8\001\002\000\010\015\020\047\102\050\076"
				+ "\001\002\000\006\012\uffb7\040\uffb7\001\002\000\004\016"
				+ "\134\001\002\000\010\007\141\015\020\044\137\001\002"
				+ "\000\006\012\uffb9\040\uffb9\001\002\000\004\015\020\001"
				+ "\002\000\006\015\020\034\uffc2\001\002\000\004\034\145"
				+ "\001\002\000\004\015\020\001\002\000\006\012\143\034"
				+ "\uffbf\001\002\000\010\007\141\015\020\044\137\001\002"
				+ "\000\004\034\uffc0\001\002\000\014\012\uffbd\015\020\040"
				+ "\uffbd\047\102\050\076\001\002\000\006\012\uffbe\040\uffbe"
				+ "\001\002\000\006\012\150\034\uffc3\001\002\000\010\007"
				+ "\141\015\020\044\137\001\002\000\004\034\uffc4\001\002"
				+ "\000\004\034\uffc1\001\002\000\006\012\uffba\040\uffba\001"
				+ "\002\000\006\012\uffbc\040\uffbc\001\002\000\036\007\uff96"
				+ "\011\uff96\012\uff96\015\uff96\021\uff96\025\uff96\034\uff96\037"
				+ "\uff96\040\uff96\042\uff96\043\uff96\044\uff96\047\uff96\050\uff96"
				+ "\001\002\000\012\015\020\044\101\047\077\050\076\001"
				+ "\002\000\004\037\uffcc\001\002\000\014\015\020\016\163"
				+ "\030\112\047\102\050\076\001\002\000\004\037\162\001"
				+ "\002\000\006\012\uffc9\037\uffc9\001\002\000\004\015\020"
				+ "\001\002\000\006\012\uffca\037\uffca\001\002\000\006\012"
				+ "\uffc7\037\uffc7\001\002\000\010\010\167\012\uffcf\040\uffcf"
				+ "\001\002\000\016\011\132\015\020\043\133\044\131\047"
				+ "\130\050\076\001\002\000\006\012\uffd0\040\uffd0\001\002"
				+ "\000\004\017\070\001\002\000\014\011\041\015\020\017"
				+ "\040\041\177\047\035\001\002\000\012\011\041\015\020"
				+ "\017\040\047\035\001\002\000\004\017\070\001\002\000"
				+ "\006\012\uffe0\040\uffe0\001\002\000\004\017\070\001\002"
				+ "\000\012\011\041\015\020\017\040\047\035\001\002\000"
				+ "\004\017\070\001\002\000\006\012\uffe2\040\uffe2\001\002"
				+ "\000\006\012\uffe1\040\uffe1\001\002\000\006\012\uffdf\040"
				+ "\uffdf\001\002\000\010\015\020\041\217\047\215\001\002"
				+ "\000\010\012\213\025\ufff0\040\ufff0\001\002\000\024\011"
				+ "\041\015\020\017\040\031\036\032\032\033\027\040\ufff2"
				+ "\045\033\047\035\001\002\000\006\025\210\040\ufff6\001"
				+ "\002\000\024\011\041\015\020\017\040\031\036\032\032"
				+ "\033\027\040\ufff5\045\033\047\035\001\002\000\004\040"
				+ "\ufff7\001\002\000\004\040\ufff3\001\002\000\012\031\036"
				+ "\032\032\033\027\045\033\001\002\000\006\025\ufff1\040"
				+ "\ufff1\001\002\000\004\010\240\001\002\000\004\010\235"
				+ "\001\002\000\004\015\020\001\002\000\004\010\221\001"
				+ "\002\000\016\007\227\010\222\015\020\044\225\047\224"
				+ "\050\076\001\002\000\004\015\020\001\002\000\022\007"
				+ "\227\012\uffe8\015\020\025\uffe8\040\uffe8\044\225\047\102"
				+ "\050\076\001\002\000\012\012\uffec\015\020\025\uffec\040"
				+ "\uffec\001\002\000\010\015\020\047\102\050\076\001\002"
				+ "\000\010\012\uffef\025\uffef\040\uffef\001\002\000\010\012"
				+ "\uffe7\025\uffe7\040\uffe7\001\002\000\010\012\uffe6\025\uffe6"
				+ "\040\uffe6\001\002\000\010\012\uffe9\025\uffe9\040\uffe9\001"
				+ "\002\000\004\010\233\001\002\000\014\007\227\015\020"
				+ "\044\225\047\102\050\076\001\002\000\010\012\uffee\025"
				+ "\uffee\040\uffee\001\002\000\014\007\227\015\020\044\225"
				+ "\047\236\050\076\001\002\000\012\012\uffeb\015\020\025"
				+ "\uffeb\040\uffeb\001\002\000\010\012\uffed\025\uffed\040\uffed"
				+ "\001\002\000\004\047\241\001\002\000\010\012\uffea\025"
				+ "\uffea\040\uffea\001\002\000\014\002\ufffd\005\ufffd\007\ufffd"
				+ "\014\ufffd\035\ufffd\001\002\000\004\015\020\001\002\000"
				+ "\004\007\245\001\002\000\010\015\020\047\102\050\076"
				+ "\001\002\000\004\027\247\001\002\000\004\007\245\001"
				+ "\002\000\004\040\uffa2\001\002\000\012\007\245\012\252"
				+ "\021\uffad\040\uffad\001\002\000\004\007\245\001\002\000"
				+ "\006\021\uffae\040\uffae\001\002\000\006\021\uffaf\040\uffaf"
				+ "\001\002\000\010\012\256\015\020\021\257\001\002\000"
				+ "\010\015\020\047\102\050\076\001\002\000\014\020\265"
				+ "\023\262\024\264\026\263\046\266\001\002\000\004\021"
				+ "\261\001\002\000\014\020\265\023\262\024\264\026\263"
				+ "\046\266\001\002\000\014\007\uffa9\012\uffa9\021\uffa9\027"
				+ "\uffa9\040\uffa9\001\002\000\014\007\uffa6\012\uffa6\021\uffa6"
				+ "\027\uffa6\040\uffa6\001\002\000\014\007\uffa7\012\uffa7\021"
				+ "\uffa7\027\uffa7\040\uffa7\001\002\000\014\007\uffa8\012\uffa8"
				+ "\021\uffa8\027\uffa8\040\uffa8\001\002\000\014\007\uffa5\012"
				+ "\uffa5\021\uffa5\027\uffa5\040\uffa5\001\002\000\014\007\uffab"
				+ "\012\uffab\021\uffab\027\uffab\040\uffab\001\002\000\014\007"
				+ "\uffac\012\uffac\021\uffac\027\uffac\040\uffac\001\002\000\004"
				+ "\021\272\001\002\000\014\020\265\023\262\024\264\026"
				+ "\263\046\266\001\002\000\014\007\uffaa\012\uffaa\021\uffaa"
				+ "\027\uffaa\040\uffaa\001\002\000\004\013\275\001\002\000"
				+ "\004\007\276\001\002\000\012\007\245\015\020\047\102"
				+ "\050\076\001\002\000\004\027\300\001\002\000\004\007"
				+ "\245\001\002\000\004\040\uffa3\001\002\000\004\021\303"
				+ "\001\002\000\004\046\304\001\002\000\004\027\305\001"
				+ "\002\000\004\007\306\001\002\000\004\007\245\001\002"
				+ "\000\004\021\310\001\002\000\004\046\311\001\002\000"
				+ "\004\040\uffa4\001\002\000\004\040\uffb1\001\002\000\004"
				+ "\036\314\001\002\000\004\007\245\001\002\000\004\040"
				+ "\uffb0\001\002\000\004\040\uffb2\001\002\000\004\042\325"
				+ "\001\002\000\004\015\020\001\002\000\004\040\uffa1\001"
				+ "\002\000\006\012\323\040\uff9e\001\002\000\004\015\020"
				+ "\001\002\000\004\040\uff9f\001\002\000\004\015\020\001"
				+ "\002\000\004\040\uffa0\001\002\000\004\002\000\001\002"
				+ "\000\014\002\ufffb\005\ufffb\007\ufffb\014\ufffb\035\ufffb\001"
				+ "\002\000\014\002\ufffc\005\ufffc\007\ufffc\014\ufffc\035\ufffc"
				+ "\001\002\000\014\002\ufffa\005\ufffa\007\ufffa\014\ufffa\035"
				+ "\ufffa\001\002\000\014\002\uffff\005\uffff\007\uffff\014\uffff"
				+ "\035\uffff\001\002" });

	/** Access to parse-action table. */
	public short[][] action_table() {
		return _action_table;
	}

	/** <code>reduce_goto</code> table. */
	protected static final short[][] _reduce_table =
		unpackFromStrings(new String[] { "\000\331\000\020\003\010\004\003\005\005\006\014\025"
				+ "\006\032\004\033\007\001\001\000\014\005\332\006\014"
				+ "\025\006\032\004\033\007\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\002\001\001\000\002"
				+ "\001\001\000\006\035\316\036\102\001\001\000\006\026"
				+ "\311\036\312\001\001\000\002\001\001\000\002\001\001"
				+ "\000\004\036\016\001\001\000\004\007\022\001\001\000"
				+ "\002\001\001\000\002\001\001\000\002\001\001\000\002"
				+ "\001\001\000\010\010\206\011\204\015\203\001\001\000"
				+ "\014\013\036\014\030\015\025\016\027\036\033\001\001"
				+ "\000\006\016\170\036\033\001\001\000\002\001\001\000"
				+ "\004\017\070\001\001\000\002\001\001\000\002\001\001"
				+ "\000\002\001\001\000\002\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\004\036\041\001\001"
				+ "\000\002\001\001\000\004\036\046\001\001\000\004\036"
				+ "\043\001\001\000\002\001\001\000\002\001\001\000\002"
				+ "\001\001\000\002\001\001\000\004\036\051\001\001\000"
				+ "\002\001\001\000\004\036\052\001\001\000\002\001\001"
				+ "\000\002\001\001\000\004\036\063\001\001\000\002\001"
				+ "\001\000\002\001\001\000\004\036\060\001\001\000\002"
				+ "\001\001\000\002\001\001\000\002\001\001\000\002\001"
				+ "\001\000\002\001\001\000\014\013\066\014\030\015\025"
				+ "\016\027\036\033\001\001\000\002\001\001\000\012\020"
				+ "\071\021\074\035\072\036\073\001\001\000\002\001\001"
				+ "\000\002\001\001\000\004\036\164\001\001\000\002\001"
				+ "\001\000\002\001\001\000\004\036\154\001\001\000\004"
				+ "\036\123\001\001\000\002\001\001\000\006\035\103\036"
				+ "\102\001\001\000\004\036\123\001\001\000\002\001\001"
				+ "\000\004\036\104\001\001\000\002\001\001\000\006\035"
				+ "\112\036\102\001\001\000\002\001\001\000\006\035\110"
				+ "\036\102\001\001\000\002\001\001\000\006\035\120\036"
				+ "\102\001\001\000\002\001\001\000\002\001\001\000\002"
				+ "\001\001\000\002\001\001\000\006\035\117\036\102\001"
				+ "\001\000\002\001\001\000\002\001\001\000\002\001\001"
				+ "\000\002\001\001\000\002\001\001\000\010\022\125\035"
				+ "\126\036\102\001\001\000\002\001\001\000\010\022\153"
				+ "\035\126\036\102\001\001\000\004\036\123\001\001\000"
				+ "\006\035\152\036\102\001\001\000\002\001\001\000\004"
				+ "\024\134\001\001\000\006\023\137\036\135\001\001\000"
				+ "\002\001\001\000\004\036\151\001\001\000\004\036\146"
				+ "\001\001\000\002\001\001\000\004\036\141\001\001\000"
				+ "\002\001\001\000\006\023\143\036\135\001\001\000\002"
				+ "\001\001\000\006\035\145\036\102\001\001\000\002\001"
				+ "\001\000\002\001\001\000\006\023\150\036\135\001\001"
				+ "\000\002\001\001\000\002\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\012\020\156\021\074"
				+ "\035\072\036\073\001\001\000\002\001\001\000\006\035"
				+ "\112\036\102\001\001\000\002\001\001\000\002\001\001"
				+ "\000\004\036\163\001\001\000\002\001\001\000\002\001"
				+ "\001\000\002\001\001\000\010\022\167\035\126\036\102"
				+ "\001\001\000\002\001\001\000\004\017\202\001\001\000"
				+ "\006\016\175\036\033\001\001\000\006\016\173\036\033"
				+ "\001\001\000\004\017\174\001\001\000\002\001\001\000"
				+ "\004\017\201\001\001\000\006\016\177\036\033\001\001"
				+ "\000\004\017\200\001\001\000\002\001\001\000\002\001"
				+ "\001\000\002\001\001\000\004\036\215\001\001\000\002"
				+ "\001\001\000\014\013\211\014\030\015\025\016\027\036"
				+ "\033\001\001\000\002\001\001\000\014\013\210\014\030"
				+ "\015\025\016\027\036\033\001\001\000\002\001\001\000"
				+ "\002\001\001\000\010\010\213\011\204\015\203\001\001"
				+ "\000\002\001\001\000\002\001\001\000\002\001\001\000"
				+ "\004\036\217\001\001\000\002\001\001\000\010\012\225"
				+ "\035\222\036\102\001\001\000\004\036\231\001\001\000"
				+ "\010\012\230\035\222\036\102\001\001\000\004\036\123"
				+ "\001\001\000\006\035\227\036\102\001\001\000\002\001"
				+ "\001\000\002\001\001\000\002\001\001\000\002\001\001"
				+ "\000\002\001\001\000\010\012\233\035\222\036\102\001"
				+ "\001\000\002\001\001\000\010\012\236\035\222\036\102"
				+ "\001\001\000\004\036\123\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\002\001\001\000\004"
				+ "\036\273\001\001\000\004\030\245\001\001\000\006\035"
				+ "\254\036\102\001\001\000\002\001\001\000\006\027\247"
				+ "\030\250\001\001\000\002\001\001\000\004\030\252\001"
				+ "\001\000\004\030\253\001\001\000\002\001\001\000\002"
				+ "\001\001\000\004\036\257\001\001\000\006\035\270\036"
				+ "\102\001\001\000\004\031\267\001\001\000\002\001\001"
				+ "\000\004\031\266\001\001\000\002\001\001\000\002\001"
				+ "\001\000\002\001\001\000\002\001\001\000\002\001\001"
				+ "\000\002\001\001\000\002\001\001\000\002\001\001\000"
				+ "\004\031\272\001\001\000\002\001\001\000\002\001\001"
				+ "\000\004\030\276\001\001\000\010\030\301\035\254\036"
				+ "\102\001\001\000\002\001\001\000\006\027\300\030\250"
				+ "\001\001\000\002\001\001\000\002\001\001\000\002\001"
				+ "\001\000\002\001\001\000\002\001\001\000\006\027\306"
				+ "\030\250\001\001\000\002\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\004\026\315\001\001"
				+ "\000\006\027\314\030\250\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\006\034\320\036\321"
				+ "\001\001\000\002\001\001\000\002\001\001\000\006\034"
				+ "\323\036\321\001\001\000\002\001\001\000\006\034\325"
				+ "\036\321\001\001\000\002\001\001\000\002\001\001\000"
				+ "\002\001\001\000\002\001\001\000\002\001\001\000\002"
				+ "\001\001" });

	/** Access to <code>reduce_goto</code> table. */
	public short[][] reduce_table() {
		return _reduce_table;
	}

	/** Instance of action encapsulation class. */
	protected CUP$AOLCodeParser$actions action_obj;

	/** Action encapsulation object initializer. */
	protected void init_actions() {
		this.action_obj = new CUP$AOLCodeParser$actions(this);
	}

	/** Invoke a user supplied parse action. */
	public padl.creator.aolfile.javacup.runtime.Symbol do_action(
		int act_num,
		padl.creator.aolfile.javacup.runtime.lr_parser parser,
		java.util.Stack stack,
		int top) throws java.lang.Exception {
		/* call code in generated class */
		return this.action_obj.CUP$AOLCodeParser$do_action(
			act_num,
			parser,
			stack,
			top);
	}

	/** Indicates start state. */
	public int start_state() {
		return 0;
	}
	/** Indicates start production. */
	public int start_production() {
		return 1;
	}

	/** <code>EOF</code> Symbol index. */
	public int EOF_sym() {
		return 0;
	}

	/** <code>error</code> Symbol index. */
	public int error_sym() {
		return 1;
	}

	public static void main(final String args[]) throws Exception {
		new AOLCodeParser(new AOLLexer(new FileInputStream(
			".src/DDD/ddd.raw.aol"))).parse();
	}

	// Yann 2004/12/13: Hack!
	// This is just a hack to print out the number of classes currently analysed.
	// public int numberOfClasses = 0;
	private boolean areSemanticActionsEnabled = false;
	private ICodeLevelModel codeLevelModel;
	private List listOfElements = new ArrayList();
	private List listOfGeneralizations = new ArrayList();
	private List listOfArguments = new ArrayList();

	IPackage createAndGetDefaultPackage() {
		IPackage enclosingPackage =
			(IPackage) this.getCodeLevelModel().getConstituentFromID(
				AOLCreator.AOL_PACKAGE_ID);
		if (enclosingPackage == null) {
			enclosingPackage =
				Factory.getInstance().createPackage(AOLCreator.AOL_PACKAGE_ID);
		}
		return enclosingPackage;
	}
	List getListOfElements() {
		return this.listOfElements;
	}
	void addToListOfElements(final IElement anElement) {
		this.listOfElements.add(anElement);
	}
	void resetListOfElements() {
		this.listOfElements.clear();
	}
	List getListOfGeneralizations() {
		return this.listOfGeneralizations;
	}
	void addToListOfGeneralizations(final String aName) {
		this.listOfGeneralizations.add(aName);
	}
	void resetListOfGeneralizations() {
		this.listOfGeneralizations.clear();
	}
	List getListOfArguments() {
		return this.listOfArguments;
	}
	void addToListOfArguments(final IParameter aParameter) {
		this.listOfArguments.add(aParameter);
	}
	void resetListOfArguments() {
		this.listOfArguments.clear();
	}
	public void syntax_error(padl.creator.aolfile.javacup.runtime.Symbol current) {
		report_error(MultilingualManager.getString(
			"SYN_ERR",
			AOLCodeParser.class,
			new Object[] { new Integer(current.sym) }), current);
	}
	public void report_error(
		String message,
		padl.creator.aolfile.javacup.runtime.Symbol info) {
		((AOLLexer) this.getScanner()).reportErrorMessage(message, info);
	}
	public ICodeLevelModel getCodeLevelModel() {
		return this.codeLevelModel;
	}
	public void setCodeLevelModel(final ICodeLevelModel aCodeLevelModel) {
		this.codeLevelModel = aCodeLevelModel;
	}
	public boolean areSemanticActionsEnabled() {
		return this.areSemanticActionsEnabled;
	}
	public void enableSemanticActions(final boolean b) {
		this.areSemanticActionsEnabled = b;
	}

}

/** Cup generated class to encapsulate user supplied action code.*/
class CUP$AOLCodeParser$actions {
	private final AOLCodeParser parser;

	/** Constructor */
	CUP$AOLCodeParser$actions(AOLCodeParser parser) {
		this.parser = parser;
	}

	/** Method with the actual generated action code. */
	public final padl.creator.aolfile.javacup.runtime.Symbol CUP$AOLCodeParser$do_action(
		int CUP$AOLCodeParser$act_num,
		padl.creator.aolfile.javacup.runtime.lr_parser CUP$AOLCodeParser$parser,
		java.util.Stack CUP$AOLCodeParser$stack,
		int CUP$AOLCodeParser$top) throws java.lang.Exception {
		/* Symbol object for return from actions */
		padl.creator.aolfile.javacup.runtime.Symbol CUP$AOLCodeParser$result;

		/* select the action based on the action number */
		switch (CUP$AOLCodeParser$act_num) {
		/*. . . . . . . . . . . . . . . . . . . .*/
			case 110 : // string ::= IDENTIFIER 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							28/*string*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 109 : // string ::= IDENTIFIER POINTER 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							28/*string*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 108 : // string ::= IDENTIFIER POINTER POINTER 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							28/*string*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 107 : // fully_qualified_name ::= VOLATILE string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 106 : // fully_qualified_name ::= UNSIGNED string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 105 : // fully_qualified_name ::= string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 104 : // fully_qualified_name ::= string LBRACE fully_qualified_name RBRACE 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + "<" + t2 + ">";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 103 : // fully_qualified_name ::= string LBRACE fully_qualified_name RBRACE POINTER 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + "<" + t2 + ">";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 102 : // fully_qualified_name ::= string LBRACE POINTER fully_qualified_name RBRACE POINTER 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + "<" + t2 + ">";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 5)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 101 : // fully_qualified_name ::= string LBRACE fully_qualified_name RBRACE COLON COLON fully_qualified_name 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 6)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 6)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 6)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int t3left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int t3right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t3 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + "<" + t2 + ">::" + t3;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 6)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 100 : // fully_qualified_name ::= string COLON COLON fully_qualified_name 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + "::" + t2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							27/*fully_qualified_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 99 : // sub_classes_names ::= string 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						this.parser.addToListOfGeneralizations(n);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							26/*sub_classes_names*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 98 : // sub_classes_names ::= string COMMA sub_classes_names 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int lleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int lright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String l =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						this.parser.addToListOfGeneralizations(n);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							26/*sub_classes_names*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 97 : // generalization ::= GENERALIZATION fully_qualified_name SUBCLASSES sub_classes_names 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int lleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int lright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String l =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IPackage enclosingPackage =
							this.parser.createAndGetDefaultPackage();
						IFirstClassEntity superEntity =
							(IFirstClassEntity) enclosingPackage
								.getConstituentFromName(n.toCharArray());
						// Yann 2004/03/30: Exception!
						// An invalid superclass is given on line 1545 of the original moz-1.0.rel.n.aol file.
						// I check if the superclass is valid before adding subclasses.
						if (superEntity == null) {
							superEntity =
								Factory.getInstance().createGhost(
									Utils.cleanCppEntityName(n.toCharArray()),
									Utils.cleanCppEntityName(n.toCharArray()));
							enclosingPackage.addConstituent(superEntity);
							//        System.err.print("Invalid superclass: ");
							//        System.err.println(n);
							//        System.err.print("(Look for \"GENERALIZATION ");
							//        System.err.print(n);
							//        System.err.println("\")");
						}
						final Iterator iterator =
							this.parser.getListOfGeneralizations().iterator();
						while (iterator.hasNext()) {
							final String entityName = (String) iterator.next();
							final IFirstClassEntity entity =
								(IFirstClassEntity) enclosingPackage
									.getConstituentFromName(entityName
										.toCharArray());
							entity.addInheritedEntity(superEntity);
						}
						this.parser.resetListOfGeneralizations();
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							25/*generalization*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 96 : // generalization ::= GENERALIZATION SUBCLASSES sub_classes_names 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							25/*generalization*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 95 : // aggregation ::= AGGREGATION CONTAINER role PARTS roles 
				{
					String RESULT = null;
					int sourceleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int sourceright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String source =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int targetleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int targetright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String target =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IFirstClassEntity sourceEntity =
							(IFirstClassEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(source.toCharArray());
						if (sourceEntity != null) {
							IFirstClassEntity targetEntity =
								(IFirstClassEntity) this.parser
									.createAndGetDefaultPackage()
									.getConstituentFromName(
										target.toCharArray());
							if (targetEntity == null) {
								// Yann 2004/12/20: Null target entity.
								// The target entity might be null in the case of:
								//	RELATION 
								//	ROLES
								//	CLASS	nsAString MULT UNDEFINED,
								//	CLASS	const_iterator MULT UNDEFINED
								// where "const_iterator" is not an entity.
								// Yann 2007/02/01: Ghosts
								// I also handle ghosts now...
								targetEntity =
									Factory.getInstance().createGhost(
										Utils.cleanCppEntityName(target
											.toCharArray()),
										Utils.cleanCppEntityName(target
											.toCharArray()));
								this.parser
									.createAndGetDefaultPackage()
									.addConstituent(targetEntity);
							}
							if (targetEntity != null) {
								final IContainerAggregation aggregation =
									Factory
										.getInstance()
										.createContainerAggregationRelationship(
											("UNKNOWN" + Math.random()).toCharArray(),
											targetEntity,
											Constants.CARDINALITY_MANY);
								sourceEntity.addConstituent(aggregation);
							}
						}
						else {
							System.err.print("Cannot find source entity ");
							System.err.println(sourceEntity);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							24/*aggregation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 94 : // aggregation ::= AGGREGATION NAME string CONTAINER role PARTS roles 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int sourceleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int sourceright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String source =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int targetleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int targetright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String target =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IFirstClassEntity sourceEntity =
							(IFirstClassEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(source.toCharArray());
						if (sourceEntity != null) {
							IFirstClassEntity targetEntity =
								(IFirstClassEntity) this.parser
									.createAndGetDefaultPackage()
									.getConstituentFromName(
										target.toCharArray());
							if (targetEntity == null) {
								// Yann 2004/12/20: Null target entity.
								// The target entity might be null in the case of:
								//	RELATION 
								//	ROLES
								//	CLASS	nsAString MULT UNDEFINED,
								//	CLASS	const_iterator MULT UNDEFINED
								// where "const_iterator" is not an entity.
								// Yann 2007/02/01: Ghosts
								// I also handle ghosts now...
								targetEntity =
									Factory.getInstance().createGhost(
										Utils.cleanCppEntityName(target
											.toCharArray()),
										Utils.cleanCppEntityName(target
											.toCharArray()));
								this.parser
									.createAndGetDefaultPackage()
									.addConstituent(targetEntity);
							}
							if (targetEntity != null) {
								final IContainerAggregation aggregation =
									Factory
										.getInstance()
										.createContainerAggregationRelationship(
											("UNKNOWN" + Math.random()).toCharArray(),
											targetEntity,
											Constants.CARDINALITY_MANY);
								aggregation.setName(n.toCharArray());
								sourceEntity.addConstituent(aggregation);
							}
						}
						else {
							System.err.print("Cannot find source entity \"");
							System.err.print(source);
							System.err.println("\"!?");
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							24/*aggregation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 6)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 93 : // aggregation ::= AGGREGATION NAME string CONTAINER CLASS role MULT UNDEFINED PARTS CLASS roles MULT UNDEFINED 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 10)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 10)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 10)).value;
					int sourceleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 7)).left;
					int sourceright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 7)).right;
					String source =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 7)).value;
					int targetleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int targetright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String target =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							24/*aggregation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 12)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 92 : // multiplicity ::= UNDEFINED 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							23/*multiplicity*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 91 : // multiplicity ::= OPTIONALLY_ONE 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							23/*multiplicity*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 90 : // multiplicity ::= ONE_OR_MANY 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							23/*multiplicity*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 89 : // multiplicity ::= MANY 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							23/*multiplicity*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 88 : // multiplicity ::= ONE 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							23/*multiplicity*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 87 : // role ::= CLASS fully_qualified_name COMMA fully_qualified_name MULT multiplicity 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + ", " + t2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							22/*role*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 5)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 86 : // role ::= CLASS fully_qualified_name string MULT multiplicity 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + " " + t2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							22/*role*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 85 : // role ::= CLASS fully_qualified_name MULT multiplicity 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							22/*role*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 84 : // roles ::= role 
				{
					String RESULT = null;
					int rleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int rright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String r =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = r;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							21/*roles*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 83 : // roles ::= role role 
				{
					String RESULT = null;
					int rleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int rright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String r =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = r;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							21/*roles*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 82 : // roles ::= role COMMA role 
				{
					String RESULT = null;
					int rleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int rright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String r =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = r;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							21/*roles*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 81 : // association_arg ::= ROLES roles 
				{
					String RESULT = null;
					int rleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int rright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String r =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = r;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							20/*association_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 80 : // association ::= RELATION association_arg 
				{
					String RESULT = null;
					int aleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int aright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String a =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						IFirstClassEntity targetEntity =
							(IFirstClassEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(a.toCharArray());
						if (targetEntity == null) {
							// Yann 2004/12/20: Null target entity.
							// The target entity might be null in the case of:
							//	RELATION 
							//	ROLES
							//	CLASS	nsAString MULT UNDEFINED,
							//	CLASS	const_iterator MULT UNDEFINED
							// where "const_iterator" is not an entity.
							// Yann 2007/02/01: Ghosts
							// I also handle ghosts now...
							targetEntity =
								Factory.getInstance().createGhost(
									Utils.cleanCppEntityName(a.toCharArray()),
									Utils.cleanCppEntityName(a.toCharArray()));
							this.parser
								.createAndGetDefaultPackage()
								.addConstituent(targetEntity);
						}
						if (targetEntity != null) {
							final IAssociation association =
								Factory
									.getInstance()
									.createAssociationRelationship(
										("UNKNOWN" + Math.random()).toCharArray(),
										targetEntity,
										Constants.CARDINALITY_MANY);
							this.parser.addToListOfElements(association);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							19/*association*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 79 : // association ::= RELATION string association_arg 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int aleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int aright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String a =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						IFirstClassEntity targetEntity =
							(IFirstClassEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(a.toCharArray());
						if (targetEntity == null) {
							// Yann 2004/12/20: Null target entity.
							// The target entity might be null in the case of:
							//	RELATION 
							//	ROLES
							//	CLASS	nsAString MULT UNDEFINED,
							//	CLASS	const_iterator MULT UNDEFINED
							// where "const_iterator" is not an entity.
							// Yann 2007/02/01: Ghosts
							// I also handle ghosts now...
							targetEntity =
								Factory.getInstance().createGhost(
									Utils.cleanCppEntityName(a.toCharArray()),
									Utils.cleanCppEntityName(a.toCharArray()));
							this.parser
								.createAndGetDefaultPackage()
								.addConstituent(targetEntity);
						}
						if (targetEntity != null) {
							final IAssociation association =
								Factory
									.getInstance()
									.createAssociationRelationship(
										(n + Math.random()).toCharArray(),
										targetEntity,
										Constants.CARDINALITY_MANY);
							association.setName(n.toCharArray());
							this.parser.addToListOfElements(association);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							19/*association*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 78 : // visibility ::= UNDEF_SCOPE 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = v;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							11/*visibility*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 77 : // visibility ::= PROTECTED 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = v;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							11/*visibility*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 76 : // visibility ::= PRIVATE 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = v;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							11/*visibility*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 75 : // visibility ::= PUBLIC 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = v;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							11/*visibility*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 74 : // operation_type_list ::= CONST 
				{
					String RESULT = null;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = "void";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							16/*operation_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 73 : // operation_type_list ::= UNSIGNED 
				{
					String RESULT = null;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = "void";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							16/*operation_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 72 : // operation_type_list ::= TEMPLATE template_return_type 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							16/*operation_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 71 : // operation_type_list ::= TYPENAME fully_qualified_name 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							16/*operation_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 70 : // operation_type_list ::= fully_qualified_name 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							16/*operation_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 69 : // operation_type_list ::= fully_qualified_name operation_type_list 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + " " + t2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							16/*operation_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 68 : // template_return_type ::= LBRACE template_content RBRACE 
				{
					String RESULT = null;
					int tcleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int tcright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String tc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					RESULT = tc;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							18/*template_return_type*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 67 : // template_return_type ::= LBRACE template_content RBRACE fully_qualified_name 
				{
					String RESULT = null;
					int tcleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int tcright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String tc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int sleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int sright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String s =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					RESULT = tc + " " + s;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							18/*template_return_type*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 66 : // template_content ::= CLASS string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					RESULT = t;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							17/*template_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 65 : // template_content ::= CLASS string COMMA template_content 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tcleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tcright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String tc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					RESULT = t + " " + tc;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							17/*template_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 64 : // template_content ::= string string 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					RESULT = t1 + ' ' + t2;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							17/*template_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 63 : // template_content ::= TYPENAME 
				{
					String RESULT = null;

					RESULT = "TYPENAME without a type-name";

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							17/*template_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 62 : // template_content ::= TYPENAME string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					RESULT = t;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							17/*template_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 61 : // template_content ::= TYPENAME string COMMA template_content 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tcleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tcright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String tc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					RESULT = t + " " + tc;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							17/*template_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 60 : // operation_arg ::= UNSIGNED 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						IEntity targetEntity =
							(IEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(t.toCharArray());
						if (targetEntity == null) {
							if (Util.isPrimtiveType(t.toCharArray())) {
								targetEntity =
									Factory
										.getInstance()
										.createPrimitiveEntity(t.toCharArray());
							}
							else {
								targetEntity =
									Factory.getInstance().createGhost(
										Utils.cleanCppEntityName(t
											.toCharArray()),
										Utils.cleanCppEntityName(t
											.toCharArray()));
								this.parser
									.createAndGetDefaultPackage()
									.addConstituent(targetEntity);
							}
						}
						if (targetEntity != null) {
							this.parser.addToListOfArguments(Factory
								.getInstance()
								.createParameter(
									targetEntity,
									("a" + t).toCharArray(),
									Constants.CARDINALITY_ONE));
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							15/*operation_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 59 : // operation_arg ::= fully_qualified_name 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						if (t != null) {
							/* See line 13 of mozilla-1.0-concat_des_2006-02-15114305.aol */
							final int pos;
							final String targetName;
							if ((pos = t.indexOf('*')) > 0) {
								t = t.substring(0, pos);
							}
							IEntity targetEntity =
								(IEntity) this.parser
									.createAndGetDefaultPackage()
									.getConstituentFromName(t.toCharArray());
							if (targetEntity == null) {
								if (Util.isPrimtiveType(t.toCharArray())) {
									targetEntity =
										Factory
											.getInstance()
											.createPrimitiveEntity(
												t.toCharArray());
								}
								else {
									targetEntity =
										Factory.getInstance().createGhost(
											Utils.cleanCppEntityName(t
												.toCharArray()),
											Utils.cleanCppEntityName(t
												.toCharArray()));
									this.parser
										.createAndGetDefaultPackage()
										.addConstituent(targetEntity);
								}
							}
							if (targetEntity != null) {
								this.parser.addToListOfArguments(Factory
									.getInstance()
									.createParameter(
										targetEntity,
										("a" + t).toCharArray(),
										Constants.CARDINALITY_ONE));
							}
						}
						else {
							System.err.println("Should not be null!?");
							System.err.println("\tt = " + t);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							15/*operation_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 58 : // operation_arg ::= fully_qualified_name string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						if (t != null) {
							/* See line 13 of mozilla-1.0-concat_des_2006-02-15114305.aol */
							final int pos;
							final String targetName;
							if ((pos = t.indexOf('*')) > 0) {
								t = t.substring(0, pos);
							}
							IEntity targetEntity =
								(IEntity) this.parser
									.createAndGetDefaultPackage()
									.getConstituentFromName(t.toCharArray());
							if (targetEntity == null) {
								if (Util.isPrimtiveType(t.toCharArray())) {
									targetEntity =
										Factory
											.getInstance()
											.createPrimitiveEntity(
												t.toCharArray());
								}
								else {
									targetEntity =
										Factory.getInstance().createGhost(
											Utils.cleanCppEntityName(t
												.toCharArray()),
											Utils.cleanCppEntityName(t
												.toCharArray()));
									this.parser
										.createAndGetDefaultPackage()
										.addConstituent(targetEntity);
								}
							}
							if (targetEntity != null) {
								this.parser.addToListOfArguments(Factory
									.getInstance()
									.createParameter(
										targetEntity,
										n.toCharArray(),
										Constants.CARDINALITY_ONE));
							}
						}
						else {
							System.err.println("Neither should not be null!?");
							System.err.println("\tt = " + t);
							System.err.println("\tn = " + n);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							15/*operation_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 57 : // operation_arg ::= TYPENAME fully_qualified_name string 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							15/*operation_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 56 : // operation_arg ::= string LPAREN RPAREN 
				{
					String RESULT = null;
					int sleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int sright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String s =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					RESULT = s + "()";

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							15/*operation_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 55 : // operation_arg ::= string LBRACE LBRACE string 
				{
					String RESULT = null;

					RESULT = "";

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							15/*operation_arg*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 54 : // operation_arg_list ::= operation_arg 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							14/*operation_arg_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 53 : // operation_arg_list ::= operation_arg COMMA operation_arg_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							14/*operation_arg_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 52 : // operation_content ::= LPAREN RPAREN 
				{
					String RESULT = null;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = "void";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							13/*operation_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 51 : // operation_content ::= LPAREN RPAREN COLON operation_type_list 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							13/*operation_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 50 : // operation_content ::= LPAREN operation_arg_list RPAREN 
				{
					String RESULT = null;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = "void";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							13/*operation_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 49 : // operation_content ::= LPAREN operation_arg_list RPAREN COLON operation_type_list 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							13/*operation_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 48 : // operation_name ::= CONST 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 47 : // operation_name ::= UNSIGNED 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 46 : // operation_name ::= string COLON COLON string 
				{
					String RESULT = null;
					int s1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int s1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String s1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int s2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int s2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String s2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = s1 + "::" + s2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 45 : // operation_name ::= string 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 44 : // operation_name ::= string RBRACE 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n + ">";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 43 : // operation_name ::= string RBRACE RBRACE 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n + ">>";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 42 : // operation_name ::= string LBRACE 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n + "<";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 41 : // operation_name ::= string LBRACE LBRACE 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n + "<<";
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 40 : // operation_name ::= string LBRACE string RBRACE 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n + '<' + t + '>';
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 39 : // operation_name ::= LPAREN POINTER string RPAREN 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = "*" + n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 38 : // operation_name ::= LPAREN string RPAREN 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = n;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 37 : // operation_name ::= LPAREN string string RPAREN 
				{
					String RESULT = null;
					int s1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int s1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String s1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int s2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int s2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String s2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = s1 + ' ' + s2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 36 : // operation_name ::= LPAREN string string COMMA string string RPAREN 
				{
					String RESULT = null;
					int s1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).left;
					int s1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).right;
					String s1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).value;
					int s2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int s2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String s2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int s3left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int s3right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String s3 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int s4left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int s4right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String s4 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = s1 + ' ' + s2 + ' ' + s3 + ' ' + s4;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							12/*operation_name*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 6)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 35 : // operation ::= operation_name operation_content 
				{
					String RESULT = null;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int ocleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int ocright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String oc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IMethod method =
							Factory.getInstance().createMethod(
								(n + Math.random()).toCharArray(),
								(n + Math.random()).toCharArray());
						method.setName(n.toCharArray());
						if (oc != null) {
							method.setReturnType(oc.toCharArray());
							final Iterator iterator =
								this.parser.getListOfArguments().iterator();
							while (iterator.hasNext()) {
								method.addConstituent((IParameter) iterator
									.next());
							}
							this.parser.resetListOfArguments();
							this.parser.addToListOfElements(method);
						}
						else {
							System.err
								.println("Operation content is null for method named: "
										+ n);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							10/*operation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 34 : // operation ::= visibility operation_name operation_content 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int ocleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int ocright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String oc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IMethod method =
							Factory.getInstance().createMethod(
								(n + Math.random()).toCharArray(),
								(n + Math.random()).toCharArray());
						method.setName(n.toCharArray());
						if (oc != null) {
							method.setReturnType(oc.toCharArray());
							if (v.equals("PUBLIC")) {
								method.setVisibility(Modifier.PUBLIC);
							}
							else if (v.equals("PROTECTED")) {
								method.setVisibility(Modifier.PROTECTED);
							}
							else if (v.equals("PRIVATE")) {
								method.setVisibility(Modifier.PRIVATE);
							}
							final Iterator iterator =
								this.parser.getListOfArguments().iterator();
							while (iterator.hasNext()) {
								method.addConstituent((IParameter) iterator
									.next());
							}
							this.parser.resetListOfArguments();
							this.parser.addToListOfElements(method);
						}
						else {
							System.err
								.println("Operation content is null for method named: "
										+ n);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							10/*operation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 33 : // operation ::= visibility SHARED operation_name operation_content 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int ocleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int ocright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String oc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IMethod method =
							Factory.getInstance().createMethod(
								(n + Math.random()).toCharArray(),
								(n + Math.random()).toCharArray());
						method.setName(n.toCharArray());
						if (oc != null) {
							method.setReturnType(oc.toCharArray());
							if (v.equals("PUBLIC")) {
								method.setVisibility(Modifier.PUBLIC);
							}
							else if (v.equals("PROTECTED")) {
								method.setVisibility(Modifier.PROTECTED);
							}
							else if (v.equals("PRIVATE")) {
								method.setVisibility(Modifier.PRIVATE);
							}
							final Iterator iterator =
								this.parser.getListOfArguments().iterator();
							while (iterator.hasNext()) {
								method.addConstituent((IParameter) iterator
									.next());
							}
							this.parser.resetListOfArguments();
							this.parser.addToListOfElements(method);
						}
						else {
							System.err
								.println("Operation content is null for method named: "
										+ n);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							10/*operation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 32 : // operation ::= visibility ABSTRACT operation_name operation_content 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int ocleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int ocright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String oc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IMethod method =
							Factory.getInstance().createMethod(
								(n + Math.random()).toCharArray(),
								(n + Math.random()).toCharArray());
						method.setName(n.toCharArray());
						if (oc != null) {
							method.setReturnType(oc.toCharArray());
							if (v.equals("PUBLIC")) {
								method.setVisibility(Modifier.PUBLIC);
							}
							else if (v.equals("PROTECTED")) {
								method.setVisibility(Modifier.PROTECTED);
							}
							else if (v.equals("PRIVATE")) {
								method.setVisibility(Modifier.PRIVATE);
							}
							final Iterator iterator =
								this.parser.getListOfArguments().iterator();
							while (iterator.hasNext()) {
								method.addConstituent((IParameter) iterator
									.next());
							}
							this.parser.resetListOfArguments();
							this.parser.addToListOfElements(method);
						}
						else {
							System.err
								.println("Operation content is null for method named: "
										+ n);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							10/*operation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 31 : // operation ::= visibility ABSTRACT SHARED operation_name operation_content 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int ocleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int ocright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String oc =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						final IMethod method =
							Factory.getInstance().createMethod(
								(n + Math.random()).toCharArray(),
								(n + Math.random()).toCharArray());
						method.setName(n.toCharArray());
						if (oc != null) {
							method.setReturnType(oc.toCharArray());
							if (v.equals("PUBLIC")) {
								method.setVisibility(Modifier.PUBLIC);
							}
							else if (v.equals("PROTECTED")) {
								method.setVisibility(Modifier.PROTECTED);
							}
							else if (v.equals("PRIVATE")) {
								method.setVisibility(Modifier.PRIVATE);
							}
							final Iterator iterator =
								this.parser.getListOfArguments().iterator();
							while (iterator.hasNext()) {
								method.addConstituent((IParameter) iterator
									.next());
							}
							this.parser.resetListOfArguments();
							this.parser.addToListOfElements(method);
						}
						else {
							System.err
								.println("Operation content is null for method named: "
										+ n);
						}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							10/*operation*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 30 : // operation_list ::= operation 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							9/*operation_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 29 : // operation_list ::= operation COMMA 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							9/*operation_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 28 : // operation_list ::= operation COMMA operation_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							9/*operation_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 27 : // attribute_type_list ::= TYPENAME fully_qualified_name 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							8/*attribute_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 26 : // attribute_type_list ::= CLASS 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							8/*attribute_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 25 : // attribute_type_list ::= fully_qualified_name 
				{
					String RESULT = null;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							8/*attribute_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 24 : // attribute_type_list ::= fully_qualified_name attribute_type_list 
				{
					String RESULT = null;
					int t1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int t1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String t1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					int t2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int t2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = t1 + ' ' + t2;
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							8/*attribute_type_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 23 : // attribute ::= visibility UNSIGNED COLON UNSIGNED 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						// TODO: Should compute the cardinality!
						final IField field;
						if (t == null) {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									("UNKNOWN" + Math.random()).toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						else {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									t.toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						if (v.equals("PUBLIC")) {
							field.setVisibility(Modifier.PUBLIC);
						}
						else if (v.equals("PROTECTED")) {
							field.setVisibility(Modifier.PROTECTED);
						}
						else if (v.equals("PRIVATE")) {
							field.setVisibility(Modifier.PRIVATE);
						}
						this.parser.addToListOfElements(field);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							7/*attribute*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 22 : // attribute ::= visibility string COLON UNSIGNED 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						// TODO: Should compute the cardinality!
						final IField field;
						if (t == null) {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									("UNKNOWN" + Math.random()).toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						else {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									t.toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						if (v.equals("PUBLIC")) {
							field.setVisibility(Modifier.PUBLIC);
						}
						else if (v.equals("PROTECTED")) {
							field.setVisibility(Modifier.PROTECTED);
						}
						else if (v.equals("PRIVATE")) {
							field.setVisibility(Modifier.PRIVATE);
						}
						this.parser.addToListOfElements(field);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							7/*attribute*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 21 : // attribute ::= visibility SHARED string COLON UNSIGNED 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						// TODO: Should compute the cardinality!
						final IField field;
						if (t == null) {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									("UNKNOWN" + Math.random()).toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						else {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									t.toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						if (v.equals("PUBLIC")) {
							field.setVisibility(Modifier.PUBLIC);
						}
						else if (v.equals("PROTECTED")) {
							field.setVisibility(Modifier.PROTECTED);
						}
						else if (v.equals("PRIVATE")) {
							field.setVisibility(Modifier.PRIVATE);
						}
						this.parser.addToListOfElements(field);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							7/*attribute*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 20 : // attribute ::= visibility string COLON attribute_type_list 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 3)).value;
					int nleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int nright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (this.parser.areSemanticActionsEnabled()) {
						// TODO: Should compute the cardinality!
						final IField field;
						if (t == null) {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									("UNKNOWN" + Math.random()).toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						else {
							field =
								Factory.getInstance().createField(
									n.toCharArray(),
									n.toCharArray(),
									t.toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						if (v.equals("PUBLIC")) {
							field.setVisibility(Modifier.PUBLIC);
						}
						else if (v.equals("PROTECTED")) {
							field.setVisibility(Modifier.PROTECTED);
						}
						else if (v.equals("PRIVATE")) {
							field.setVisibility(Modifier.PRIVATE);
						}
						this.parser.addToListOfElements(field);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							7/*attribute*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 19 : // attribute ::= visibility SHARED string COLON COLON string COLON attribute_type_list 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 7)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 7)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 7)).value;
					int n1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).left;
					int n1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).right;
					String n1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 5)).value;
					int n2left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int n2right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n2 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					if (n2 == null) {
						n2 = "";
					}
					if (this.parser.areSemanticActionsEnabled()) {
						// TODO: Should compute the cardinality!
						final IField field;
						if (t == null) {
							field =
								Factory.getInstance().createField(
									(n1 + n2).toCharArray(),
									(n1 + n2).toCharArray(),
									("UNKNOWN" + Math.random()).toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						else {
							field =
								Factory.getInstance().createField(
									(n1 + n2).toCharArray(),
									(n1 + n2).toCharArray(),
									t.toCharArray(),
									Constants.CARDINALITY_ONE);
						}
						if (v.equals("PUBLIC")) {
							field.setVisibility(Modifier.PUBLIC);
						}
						else if (v.equals("PROTECTED")) {
							field.setVisibility(Modifier.PROTECTED);
						}
						else if (v.equals("PRIVATE")) {
							field.setVisibility(Modifier.PRIVATE);
						}
						this.parser.addToListOfElements(field);
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							7/*attribute*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 7)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 18 : // attribute ::= visibility SHARED string COLON attribute_type_list 
				{
					String RESULT = null;
					int vleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).left;
					int vright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).right;
					String v =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 4)).value;
					int n1left =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).left;
					int n1right =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).right;
					String n1 =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 2)).value;
					int tleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int tright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String t =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							7/*attribute*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 4)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 17 : // attribute_list ::= attribute 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							6/*attribute_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 16 : // attribute_list ::= attribute COMMA attribute_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							6/*attribute_list*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 15 : // class_content ::= ATTRIBUTES OPERATIONS 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							5/*class_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 14 : // class_content ::= ATTRIBUTES OPERATIONS operation_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							5/*class_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 13 : // class_content ::= OPERATIONS operation_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							5/*class_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 12 : // class_content ::= ATTRIBUTES attribute_list OPERATIONS 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							5/*class_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 11 : // class_content ::= ATTRIBUTES attribute_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							5/*class_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 10 : // class_content ::= ATTRIBUTES attribute_list OPERATIONS operation_list 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							5/*class_content*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 3)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 9 : // class_declaration ::= CLASS string class_content 
				{
					String RESULT = null;
					int nameleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int nameright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					String name =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;

					// System.out.println(++this.parser.numberOfClasses);
					if (this.parser.areSemanticActionsEnabled()) {
						// final IEntity entity = Factory.getInstance().createClass(name.toCharArray(), name.toCharArray());
						final IFirstClassEntity entity =
							(IFirstClassEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(name.toCharArray());
						final Iterator iterator =
							this.parser.getListOfElements().iterator();
						while (iterator.hasNext()) {
							entity.addConstituent((IElement) iterator.next());
						}
						this.parser.resetListOfElements();
						//	try {
						//		this.parser.createAndGetDefaultPackage().addConstituent(entity);
						//	}
						//	catch(final ModelDeclarationException mde) {
						//		mde.printStackTrace();
						//	}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							4/*class_declaration*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 2)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 8 : // class_declaration ::= CLASS string 
				{
					String RESULT = null;
					int nameleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).left;
					int nameright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).right;
					String name =
						(String) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 0)).value;

					// System.out.println(++this.parser.numberOfClasses);
					if (this.parser.areSemanticActionsEnabled()) {
						// final IEntity entity = Factory.getInstance().createClass(name.toCharArray(), name.toCharArray());
						final IFirstClassEntity entity =
							(IFirstClassEntity) this.parser
								.createAndGetDefaultPackage()
								.getConstituentFromName(name.toCharArray());
						final Iterator iterator =
							this.parser.getListOfElements().iterator();
						while (iterator.hasNext()) {
							entity.addConstituent((IElement) iterator.next());
						}
						this.parser.resetListOfElements();
						//	try {
						//		this.parser.createAndGetDefaultPackage().addConstituent(entity);
						//	}
						//	catch(final ModelDeclarationException mde) {
						//		mde.printStackTrace();
						//	}
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							4/*class_declaration*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 7 : // declaration ::= aggregation SEMICOLON 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							3/*declaration*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 6 : // declaration ::= generalization SEMICOLON 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							3/*declaration*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 5 : // declaration ::= association SEMICOLON 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							3/*declaration*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 4 : // declaration ::= class_declaration SEMICOLON 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							3/*declaration*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 3 : // list_declarations ::= declaration 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							2/*list_declarations*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 2 : // list_declarations ::= list_declarations declaration 
				{
					String RESULT = null;

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							2/*list_declarations*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 1 : // $START ::= model EOF 
				{
					Object RESULT = null;
					int start_valleft =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).left;
					int start_valright =
						((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).right;
					ICodeLevelModel start_val =
						(ICodeLevelModel) ((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
							.elementAt(CUP$AOLCodeParser$top - 1)).value;
					RESULT = start_val;
					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							0/*$START*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 1)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				/* ACCEPT */
				CUP$AOLCodeParser$parser.done_parsing();
				return CUP$AOLCodeParser$result;

				/*. . . . . . . . . . . . . . . . . . . .*/
			case 0 : // model ::= list_declarations 
				{
					ICodeLevelModel RESULT = null;

					if (this.parser.areSemanticActionsEnabled()) {
						RESULT = this.parser.getCodeLevelModel();
					}

					CUP$AOLCodeParser$result =
						new padl.creator.aolfile.javacup.runtime.Symbol(
							1/*model*/,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).left,
							((padl.creator.aolfile.javacup.runtime.Symbol) CUP$AOLCodeParser$stack
								.elementAt(CUP$AOLCodeParser$top - 0)).right,
							RESULT);
				}
				return CUP$AOLCodeParser$result;

				/* . . . . . .*/
			default :
				throw new Exception(
					"Invalid action number found in internal parse table");

		}
	}
}
