package jp.ac.jaist.kslab.e4.dsl.parser.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.xtext.conversion.ValueConverterException;
import jp.ac.jaist.kslab.e4.dsl.services.E4DslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalE4DslParser extends AbstractInternalAntlrParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'application'", "'{'", "'commands'", "'}'", "'bindings'", "'window'", "'trimmedwindow'", "'mainmenu'", "'trimbars'", "'part'", "'xwtpart'", "'layout'", "'none'", "'fill'", "'form'", "'grid'", "'row'", "'stack'", "'browser'", "'text'", "'button'", "'size'", "'ccombo'", "'clabel'", "'combo'", "'datetime'", "'label'", "'link'", "'list'", "'progressbar'", "'sash'", "'scale'", "'slider'", "'spinner'", "'separator'", "'styledtext'", "'textfield'", "','", "'command'", "'bind'", "'key'", "'menu'", "'item'", "'iconfile'", "'class'", "'toolbar'", "'enable'", "'disable'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=5;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalE4DslParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g"; }



     	private E4DslGrammarAccess grammarAccess;
     	
        public InternalE4DslParser(TokenStream input, IAstFactory factory, E4DslGrammarAccess grammarAccess) {
            this(input);
            this.factory = factory;
            registerRules(grammarAccess.getGrammar());
            this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected InputStream getTokenFile() {
        	ClassLoader classLoader = getClass().getClassLoader();
        	return classLoader.getResourceAsStream("jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.tokens");
        }
        
        @Override
        protected String getFirstRuleName() {
        	return "Application";	
       	}
       	
       	@Override
       	protected E4DslGrammarAccess getGrammarAccess() {
       		return grammarAccess;
       	}



    // $ANTLR start entryRuleApplication
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:77:1: entryRuleApplication returns [EObject current=null] : iv_ruleApplication= ruleApplication EOF ;
    public final EObject entryRuleApplication() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleApplication = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:78:2: (iv_ruleApplication= ruleApplication EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:79:2: iv_ruleApplication= ruleApplication EOF
            {
             currentNode = createCompositeNode(grammarAccess.getApplicationRule(), currentNode); 
            pushFollow(FOLLOW_ruleApplication_in_entryRuleApplication75);
            iv_ruleApplication=ruleApplication();
            _fsp--;

             current =iv_ruleApplication; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleApplication85); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleApplication


    // $ANTLR start ruleApplication
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:86:1: ruleApplication returns [EObject current=null] : ( 'application' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_windows_3_0= ruleAbsWindow ) )* ( 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}' )? ( 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}' )? '}' ) ;
    public final EObject ruleApplication() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_windows_3_0 = null;

        EObject lv_commands_6_0 = null;

        EObject lv_bindings_10_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:91:6: ( ( 'application' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_windows_3_0= ruleAbsWindow ) )* ( 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}' )? ( 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}' )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:92:1: ( 'application' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_windows_3_0= ruleAbsWindow ) )* ( 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}' )? ( 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}' )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:92:1: ( 'application' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_windows_3_0= ruleAbsWindow ) )* ( 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}' )? ( 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}' )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:92:3: 'application' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_windows_3_0= ruleAbsWindow ) )* ( 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}' )? ( 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}' )? '}'
            {
            match(input,11,FOLLOW_11_in_ruleApplication120); 

                    createLeafNode(grammarAccess.getApplicationAccess().getApplicationKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:96:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:97:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:97:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:98:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleApplication137); 

            			createLeafNode(grammarAccess.getApplicationAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getApplicationRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_ruleApplication152); 

                    createLeafNode(grammarAccess.getApplicationAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:124:1: ( (lv_windows_3_0= ruleAbsWindow ) )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0>=16 && LA1_0<=17)) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:125:1: (lv_windows_3_0= ruleAbsWindow )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:125:1: (lv_windows_3_0= ruleAbsWindow )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:126:3: lv_windows_3_0= ruleAbsWindow
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getApplicationAccess().getWindowsAbsWindowParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleAbsWindow_in_ruleApplication173);
            	    lv_windows_3_0=ruleAbsWindow();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getApplicationRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"windows",
            	    	        		lv_windows_3_0, 
            	    	        		"AbsWindow", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:148:3: ( 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}' )?
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==13) ) {
                alt3=1;
            }
            switch (alt3) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:148:5: 'commands' '{' ( (lv_commands_6_0= ruleCommand ) )* '}'
                    {
                    match(input,13,FOLLOW_13_in_ruleApplication185); 

                            createLeafNode(grammarAccess.getApplicationAccess().getCommandsKeyword_4_0(), null); 
                        
                    match(input,12,FOLLOW_12_in_ruleApplication195); 

                            createLeafNode(grammarAccess.getApplicationAccess().getLeftCurlyBracketKeyword_4_1(), null); 
                        
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:156:1: ( (lv_commands_6_0= ruleCommand ) )*
                    loop2:
                    do {
                        int alt2=2;
                        int LA2_0 = input.LA(1);

                        if ( (LA2_0==49) ) {
                            alt2=1;
                        }


                        switch (alt2) {
                    	case 1 :
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:157:1: (lv_commands_6_0= ruleCommand )
                    	    {
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:157:1: (lv_commands_6_0= ruleCommand )
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:158:3: lv_commands_6_0= ruleCommand
                    	    {
                    	     
                    	    	        currentNode=createCompositeNode(grammarAccess.getApplicationAccess().getCommandsCommandParserRuleCall_4_2_0(), currentNode); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleCommand_in_ruleApplication216);
                    	    lv_commands_6_0=ruleCommand();
                    	    _fsp--;


                    	    	        if (current==null) {
                    	    	            current = factory.create(grammarAccess.getApplicationRule().getType().getClassifier());
                    	    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	    	        }
                    	    	        try {
                    	    	       		add(
                    	    	       			current, 
                    	    	       			"commands",
                    	    	        		lv_commands_6_0, 
                    	    	        		"Command", 
                    	    	        		currentNode);
                    	    	        } catch (ValueConverterException vce) {
                    	    				handleValueConverterException(vce);
                    	    	        }
                    	    	        currentNode = currentNode.getParent();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop2;
                        }
                    } while (true);

                    match(input,14,FOLLOW_14_in_ruleApplication227); 

                            createLeafNode(grammarAccess.getApplicationAccess().getRightCurlyBracketKeyword_4_3(), null); 
                        

                    }
                    break;

            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:184:3: ( 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}' )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==15) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:184:5: 'bindings' '{' ( (lv_bindings_10_0= ruleBinding ) )* '}'
                    {
                    match(input,15,FOLLOW_15_in_ruleApplication240); 

                            createLeafNode(grammarAccess.getApplicationAccess().getBindingsKeyword_5_0(), null); 
                        
                    match(input,12,FOLLOW_12_in_ruleApplication250); 

                            createLeafNode(grammarAccess.getApplicationAccess().getLeftCurlyBracketKeyword_5_1(), null); 
                        
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:192:1: ( (lv_bindings_10_0= ruleBinding ) )*
                    loop4:
                    do {
                        int alt4=2;
                        int LA4_0 = input.LA(1);

                        if ( (LA4_0==50) ) {
                            alt4=1;
                        }


                        switch (alt4) {
                    	case 1 :
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:193:1: (lv_bindings_10_0= ruleBinding )
                    	    {
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:193:1: (lv_bindings_10_0= ruleBinding )
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:194:3: lv_bindings_10_0= ruleBinding
                    	    {
                    	     
                    	    	        currentNode=createCompositeNode(grammarAccess.getApplicationAccess().getBindingsBindingParserRuleCall_5_2_0(), currentNode); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleBinding_in_ruleApplication271);
                    	    lv_bindings_10_0=ruleBinding();
                    	    _fsp--;


                    	    	        if (current==null) {
                    	    	            current = factory.create(grammarAccess.getApplicationRule().getType().getClassifier());
                    	    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	    	        }
                    	    	        try {
                    	    	       		add(
                    	    	       			current, 
                    	    	       			"bindings",
                    	    	        		lv_bindings_10_0, 
                    	    	        		"Binding", 
                    	    	        		currentNode);
                    	    	        } catch (ValueConverterException vce) {
                    	    				handleValueConverterException(vce);
                    	    	        }
                    	    	        currentNode = currentNode.getParent();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop4;
                        }
                    } while (true);

                    match(input,14,FOLLOW_14_in_ruleApplication282); 

                            createLeafNode(grammarAccess.getApplicationAccess().getRightCurlyBracketKeyword_5_3(), null); 
                        

                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleApplication294); 

                    createLeafNode(grammarAccess.getApplicationAccess().getRightCurlyBracketKeyword_6(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleApplication


    // $ANTLR start entryRuleAbsWindow
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:232:1: entryRuleAbsWindow returns [EObject current=null] : iv_ruleAbsWindow= ruleAbsWindow EOF ;
    public final EObject entryRuleAbsWindow() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleAbsWindow = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:233:2: (iv_ruleAbsWindow= ruleAbsWindow EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:234:2: iv_ruleAbsWindow= ruleAbsWindow EOF
            {
             currentNode = createCompositeNode(grammarAccess.getAbsWindowRule(), currentNode); 
            pushFollow(FOLLOW_ruleAbsWindow_in_entryRuleAbsWindow330);
            iv_ruleAbsWindow=ruleAbsWindow();
            _fsp--;

             current =iv_ruleAbsWindow; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbsWindow340); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleAbsWindow


    // $ANTLR start ruleAbsWindow
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:241:1: ruleAbsWindow returns [EObject current=null] : (this_Window_0= ruleWindow | this_TrimmedWindow_1= ruleTrimmedWindow ) ;
    public final EObject ruleAbsWindow() throws RecognitionException {
        EObject current = null;

        EObject this_Window_0 = null;

        EObject this_TrimmedWindow_1 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:246:6: ( (this_Window_0= ruleWindow | this_TrimmedWindow_1= ruleTrimmedWindow ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:247:1: (this_Window_0= ruleWindow | this_TrimmedWindow_1= ruleTrimmedWindow )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:247:1: (this_Window_0= ruleWindow | this_TrimmedWindow_1= ruleTrimmedWindow )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==16) ) {
                alt6=1;
            }
            else if ( (LA6_0==17) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("247:1: (this_Window_0= ruleWindow | this_TrimmedWindow_1= ruleTrimmedWindow )", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:248:5: this_Window_0= ruleWindow
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsWindowAccess().getWindowParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleWindow_in_ruleAbsWindow387);
                    this_Window_0=ruleWindow();
                    _fsp--;

                     
                            current = this_Window_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:258:5: this_TrimmedWindow_1= ruleTrimmedWindow
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsWindowAccess().getTrimmedWindowParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleTrimmedWindow_in_ruleAbsWindow414);
                    this_TrimmedWindow_1=ruleTrimmedWindow();
                    _fsp--;

                     
                            current = this_TrimmedWindow_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleAbsWindow


    // $ANTLR start entryRuleWindow
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:274:1: entryRuleWindow returns [EObject current=null] : iv_ruleWindow= ruleWindow EOF ;
    public final EObject entryRuleWindow() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleWindow = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:275:2: (iv_ruleWindow= ruleWindow EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:276:2: iv_ruleWindow= ruleWindow EOF
            {
             currentNode = createCompositeNode(grammarAccess.getWindowRule(), currentNode); 
            pushFollow(FOLLOW_ruleWindow_in_entryRuleWindow449);
            iv_ruleWindow=ruleWindow();
            _fsp--;

             current =iv_ruleWindow; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWindow459); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleWindow


    // $ANTLR start ruleWindow
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:283:1: ruleWindow returns [EObject current=null] : ( 'window' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= rulePart ) )* '}' ) ;
    public final EObject ruleWindow() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_parts_3_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:288:6: ( ( 'window' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= rulePart ) )* '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:289:1: ( 'window' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= rulePart ) )* '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:289:1: ( 'window' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= rulePart ) )* '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:289:3: 'window' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= rulePart ) )* '}'
            {
            match(input,16,FOLLOW_16_in_ruleWindow494); 

                    createLeafNode(grammarAccess.getWindowAccess().getWindowKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:293:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:294:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:294:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:295:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleWindow511); 

            			createLeafNode(grammarAccess.getWindowAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getWindowRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_ruleWindow526); 

                    createLeafNode(grammarAccess.getWindowAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:321:1: ( (lv_parts_3_0= rulePart ) )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==20) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:322:1: (lv_parts_3_0= rulePart )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:322:1: (lv_parts_3_0= rulePart )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:323:3: lv_parts_3_0= rulePart
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getWindowAccess().getPartsPartParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_rulePart_in_ruleWindow547);
            	    lv_parts_3_0=rulePart();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getWindowRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"parts",
            	    	        		lv_parts_3_0, 
            	    	        		"Part", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

            match(input,14,FOLLOW_14_in_ruleWindow558); 

                    createLeafNode(grammarAccess.getWindowAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleWindow


    // $ANTLR start entryRuleTrimmedWindow
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:357:1: entryRuleTrimmedWindow returns [EObject current=null] : iv_ruleTrimmedWindow= ruleTrimmedWindow EOF ;
    public final EObject entryRuleTrimmedWindow() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleTrimmedWindow = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:358:2: (iv_ruleTrimmedWindow= ruleTrimmedWindow EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:359:2: iv_ruleTrimmedWindow= ruleTrimmedWindow EOF
            {
             currentNode = createCompositeNode(grammarAccess.getTrimmedWindowRule(), currentNode); 
            pushFollow(FOLLOW_ruleTrimmedWindow_in_entryRuleTrimmedWindow594);
            iv_ruleTrimmedWindow=ruleTrimmedWindow();
            _fsp--;

             current =iv_ruleTrimmedWindow; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTrimmedWindow604); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleTrimmedWindow


    // $ANTLR start ruleTrimmedWindow
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:366:1: ruleTrimmedWindow returns [EObject current=null] : ( 'trimmedwindow' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= ruleAbsPart ) )* ( 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}' )? ( 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}' )? '}' ) ;
    public final EObject ruleTrimmedWindow() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_parts_3_0 = null;

        EObject lv_menu_6_0 = null;

        EObject lv_toolbars_10_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:371:6: ( ( 'trimmedwindow' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= ruleAbsPart ) )* ( 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}' )? ( 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}' )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:372:1: ( 'trimmedwindow' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= ruleAbsPart ) )* ( 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}' )? ( 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}' )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:372:1: ( 'trimmedwindow' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= ruleAbsPart ) )* ( 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}' )? ( 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}' )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:372:3: 'trimmedwindow' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_parts_3_0= ruleAbsPart ) )* ( 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}' )? ( 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}' )? '}'
            {
            match(input,17,FOLLOW_17_in_ruleTrimmedWindow639); 

                    createLeafNode(grammarAccess.getTrimmedWindowAccess().getTrimmedwindowKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:376:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:377:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:377:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:378:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTrimmedWindow656); 

            			createLeafNode(grammarAccess.getTrimmedWindowAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getTrimmedWindowRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_ruleTrimmedWindow671); 

                    createLeafNode(grammarAccess.getTrimmedWindowAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:404:1: ( (lv_parts_3_0= ruleAbsPart ) )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0>=20 && LA8_0<=21)) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:405:1: (lv_parts_3_0= ruleAbsPart )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:405:1: (lv_parts_3_0= ruleAbsPart )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:406:3: lv_parts_3_0= ruleAbsPart
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getTrimmedWindowAccess().getPartsAbsPartParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleAbsPart_in_ruleTrimmedWindow692);
            	    lv_parts_3_0=ruleAbsPart();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getTrimmedWindowRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"parts",
            	    	        		lv_parts_3_0, 
            	    	        		"AbsPart", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:428:3: ( 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}' )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==18) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:428:5: 'mainmenu' '{' ( (lv_menu_6_0= ruleAbsMenu ) )* '}'
                    {
                    match(input,18,FOLLOW_18_in_ruleTrimmedWindow704); 

                            createLeafNode(grammarAccess.getTrimmedWindowAccess().getMainmenuKeyword_4_0(), null); 
                        
                    match(input,12,FOLLOW_12_in_ruleTrimmedWindow714); 

                            createLeafNode(grammarAccess.getTrimmedWindowAccess().getLeftCurlyBracketKeyword_4_1(), null); 
                        
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:436:1: ( (lv_menu_6_0= ruleAbsMenu ) )*
                    loop9:
                    do {
                        int alt9=2;
                        int LA9_0 = input.LA(1);

                        if ( ((LA9_0>=52 && LA9_0<=53)) ) {
                            alt9=1;
                        }


                        switch (alt9) {
                    	case 1 :
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:437:1: (lv_menu_6_0= ruleAbsMenu )
                    	    {
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:437:1: (lv_menu_6_0= ruleAbsMenu )
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:438:3: lv_menu_6_0= ruleAbsMenu
                    	    {
                    	     
                    	    	        currentNode=createCompositeNode(grammarAccess.getTrimmedWindowAccess().getMenuAbsMenuParserRuleCall_4_2_0(), currentNode); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleAbsMenu_in_ruleTrimmedWindow735);
                    	    lv_menu_6_0=ruleAbsMenu();
                    	    _fsp--;


                    	    	        if (current==null) {
                    	    	            current = factory.create(grammarAccess.getTrimmedWindowRule().getType().getClassifier());
                    	    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	    	        }
                    	    	        try {
                    	    	       		add(
                    	    	       			current, 
                    	    	       			"menu",
                    	    	        		lv_menu_6_0, 
                    	    	        		"AbsMenu", 
                    	    	        		currentNode);
                    	    	        } catch (ValueConverterException vce) {
                    	    				handleValueConverterException(vce);
                    	    	        }
                    	    	        currentNode = currentNode.getParent();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop9;
                        }
                    } while (true);

                    match(input,14,FOLLOW_14_in_ruleTrimmedWindow746); 

                            createLeafNode(grammarAccess.getTrimmedWindowAccess().getRightCurlyBracketKeyword_4_3(), null); 
                        

                    }
                    break;

            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:464:3: ( 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}' )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==19) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:464:5: 'trimbars' '{' ( (lv_toolbars_10_0= ruleToolBar ) )* '}'
                    {
                    match(input,19,FOLLOW_19_in_ruleTrimmedWindow759); 

                            createLeafNode(grammarAccess.getTrimmedWindowAccess().getTrimbarsKeyword_5_0(), null); 
                        
                    match(input,12,FOLLOW_12_in_ruleTrimmedWindow769); 

                            createLeafNode(grammarAccess.getTrimmedWindowAccess().getLeftCurlyBracketKeyword_5_1(), null); 
                        
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:472:1: ( (lv_toolbars_10_0= ruleToolBar ) )*
                    loop11:
                    do {
                        int alt11=2;
                        int LA11_0 = input.LA(1);

                        if ( (LA11_0==56) ) {
                            alt11=1;
                        }


                        switch (alt11) {
                    	case 1 :
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:473:1: (lv_toolbars_10_0= ruleToolBar )
                    	    {
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:473:1: (lv_toolbars_10_0= ruleToolBar )
                    	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:474:3: lv_toolbars_10_0= ruleToolBar
                    	    {
                    	     
                    	    	        currentNode=createCompositeNode(grammarAccess.getTrimmedWindowAccess().getToolbarsToolBarParserRuleCall_5_2_0(), currentNode); 
                    	    	    
                    	    pushFollow(FOLLOW_ruleToolBar_in_ruleTrimmedWindow790);
                    	    lv_toolbars_10_0=ruleToolBar();
                    	    _fsp--;


                    	    	        if (current==null) {
                    	    	            current = factory.create(grammarAccess.getTrimmedWindowRule().getType().getClassifier());
                    	    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	    	        }
                    	    	        try {
                    	    	       		add(
                    	    	       			current, 
                    	    	       			"toolbars",
                    	    	        		lv_toolbars_10_0, 
                    	    	        		"ToolBar", 
                    	    	        		currentNode);
                    	    	        } catch (ValueConverterException vce) {
                    	    				handleValueConverterException(vce);
                    	    	        }
                    	    	        currentNode = currentNode.getParent();
                    	    	    

                    	    }


                    	    }
                    	    break;

                    	default :
                    	    break loop11;
                        }
                    } while (true);

                    match(input,14,FOLLOW_14_in_ruleTrimmedWindow801); 

                            createLeafNode(grammarAccess.getTrimmedWindowAccess().getRightCurlyBracketKeyword_5_3(), null); 
                        

                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleTrimmedWindow813); 

                    createLeafNode(grammarAccess.getTrimmedWindowAccess().getRightCurlyBracketKeyword_6(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleTrimmedWindow


    // $ANTLR start entryRuleAbsPart
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:512:1: entryRuleAbsPart returns [EObject current=null] : iv_ruleAbsPart= ruleAbsPart EOF ;
    public final EObject entryRuleAbsPart() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleAbsPart = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:513:2: (iv_ruleAbsPart= ruleAbsPart EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:514:2: iv_ruleAbsPart= ruleAbsPart EOF
            {
             currentNode = createCompositeNode(grammarAccess.getAbsPartRule(), currentNode); 
            pushFollow(FOLLOW_ruleAbsPart_in_entryRuleAbsPart849);
            iv_ruleAbsPart=ruleAbsPart();
            _fsp--;

             current =iv_ruleAbsPart; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbsPart859); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleAbsPart


    // $ANTLR start ruleAbsPart
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:521:1: ruleAbsPart returns [EObject current=null] : (this_Part_0= rulePart | this_XWTPart_1= ruleXWTPart ) ;
    public final EObject ruleAbsPart() throws RecognitionException {
        EObject current = null;

        EObject this_Part_0 = null;

        EObject this_XWTPart_1 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:526:6: ( (this_Part_0= rulePart | this_XWTPart_1= ruleXWTPart ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:527:1: (this_Part_0= rulePart | this_XWTPart_1= ruleXWTPart )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:527:1: (this_Part_0= rulePart | this_XWTPart_1= ruleXWTPart )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==20) ) {
                alt13=1;
            }
            else if ( (LA13_0==21) ) {
                alt13=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("527:1: (this_Part_0= rulePart | this_XWTPart_1= ruleXWTPart )", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:528:5: this_Part_0= rulePart
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsPartAccess().getPartParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_rulePart_in_ruleAbsPart906);
                    this_Part_0=rulePart();
                    _fsp--;

                     
                            current = this_Part_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:538:5: this_XWTPart_1= ruleXWTPart
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsPartAccess().getXWTPartParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleXWTPart_in_ruleAbsPart933);
                    this_XWTPart_1=ruleXWTPart();
                    _fsp--;

                     
                            current = this_XWTPart_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleAbsPart


    // $ANTLR start entryRulePart
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:554:1: entryRulePart returns [EObject current=null] : iv_rulePart= rulePart EOF ;
    public final EObject entryRulePart() throws RecognitionException {
        EObject current = null;

        EObject iv_rulePart = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:555:2: (iv_rulePart= rulePart EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:556:2: iv_rulePart= rulePart EOF
            {
             currentNode = createCompositeNode(grammarAccess.getPartRule(), currentNode); 
            pushFollow(FOLLOW_rulePart_in_entryRulePart968);
            iv_rulePart=rulePart();
            _fsp--;

             current =iv_rulePart; 
            match(input,EOF,FOLLOW_EOF_in_entryRulePart978); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRulePart


    // $ANTLR start rulePart
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:563:1: rulePart returns [EObject current=null] : ( 'part' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleControls ) )* '}' ) ;
    public final EObject rulePart() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_layout_3_0 = null;

        EObject lv_controls_4_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:568:6: ( ( 'part' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleControls ) )* '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:569:1: ( 'part' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleControls ) )* '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:569:1: ( 'part' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleControls ) )* '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:569:3: 'part' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleControls ) )* '}'
            {
            match(input,20,FOLLOW_20_in_rulePart1013); 

                    createLeafNode(grammarAccess.getPartAccess().getPartKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:573:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:574:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:574:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:575:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePart1030); 

            			createLeafNode(grammarAccess.getPartAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getPartRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_rulePart1045); 

                    createLeafNode(grammarAccess.getPartAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:601:1: ( (lv_layout_3_0= ruleLayout ) )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==22) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:602:1: (lv_layout_3_0= ruleLayout )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:602:1: (lv_layout_3_0= ruleLayout )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:603:3: lv_layout_3_0= ruleLayout
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getPartAccess().getLayoutLayoutParserRuleCall_3_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleLayout_in_rulePart1066);
                    lv_layout_3_0=ruleLayout();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getPartRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"layout",
                    	        		lv_layout_3_0, 
                    	        		"Layout", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }
                    break;

            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:625:3: ( (lv_controls_4_0= ruleControls ) )*
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==29||LA15_0==31||(LA15_0>=33 && LA15_0<=47)) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:626:1: (lv_controls_4_0= ruleControls )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:626:1: (lv_controls_4_0= ruleControls )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:627:3: lv_controls_4_0= ruleControls
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getPartAccess().getControlsControlsParserRuleCall_4_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleControls_in_rulePart1088);
            	    lv_controls_4_0=ruleControls();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getPartRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"controls",
            	    	        		lv_controls_4_0, 
            	    	        		"Controls", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop15;
                }
            } while (true);

            match(input,14,FOLLOW_14_in_rulePart1099); 

                    createLeafNode(grammarAccess.getPartAccess().getRightCurlyBracketKeyword_5(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end rulePart


    // $ANTLR start entryRuleXWTPart
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:661:1: entryRuleXWTPart returns [EObject current=null] : iv_ruleXWTPart= ruleXWTPart EOF ;
    public final EObject entryRuleXWTPart() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleXWTPart = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:662:2: (iv_ruleXWTPart= ruleXWTPart EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:663:2: iv_ruleXWTPart= ruleXWTPart EOF
            {
             currentNode = createCompositeNode(grammarAccess.getXWTPartRule(), currentNode); 
            pushFollow(FOLLOW_ruleXWTPart_in_entryRuleXWTPart1135);
            iv_ruleXWTPart=ruleXWTPart();
            _fsp--;

             current =iv_ruleXWTPart; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleXWTPart1145); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleXWTPart


    // $ANTLR start ruleXWTPart
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:670:1: ruleXWTPart returns [EObject current=null] : ( 'xwtpart' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleAbsControls ) )* '}' ) ;
    public final EObject ruleXWTPart() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_layout_3_0 = null;

        EObject lv_controls_4_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:675:6: ( ( 'xwtpart' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleAbsControls ) )* '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:676:1: ( 'xwtpart' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleAbsControls ) )* '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:676:1: ( 'xwtpart' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleAbsControls ) )* '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:676:3: 'xwtpart' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_layout_3_0= ruleLayout ) )? ( (lv_controls_4_0= ruleAbsControls ) )* '}'
            {
            match(input,21,FOLLOW_21_in_ruleXWTPart1180); 

                    createLeafNode(grammarAccess.getXWTPartAccess().getXwtpartKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:680:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:681:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:681:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:682:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleXWTPart1197); 

            			createLeafNode(grammarAccess.getXWTPartAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getXWTPartRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_ruleXWTPart1212); 

                    createLeafNode(grammarAccess.getXWTPartAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:708:1: ( (lv_layout_3_0= ruleLayout ) )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==22) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:709:1: (lv_layout_3_0= ruleLayout )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:709:1: (lv_layout_3_0= ruleLayout )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:710:3: lv_layout_3_0= ruleLayout
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getXWTPartAccess().getLayoutLayoutParserRuleCall_3_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleLayout_in_ruleXWTPart1233);
                    lv_layout_3_0=ruleLayout();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getXWTPartRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"layout",
                    	        		lv_layout_3_0, 
                    	        		"Layout", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }
                    break;

            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:732:3: ( (lv_controls_4_0= ruleAbsControls ) )*
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( (LA17_0==29||LA17_0==31||(LA17_0>=33 && LA17_0<=47)) ) {
                    alt17=1;
                }


                switch (alt17) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:733:1: (lv_controls_4_0= ruleAbsControls )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:733:1: (lv_controls_4_0= ruleAbsControls )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:734:3: lv_controls_4_0= ruleAbsControls
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getXWTPartAccess().getControlsAbsControlsParserRuleCall_4_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleAbsControls_in_ruleXWTPart1255);
            	    lv_controls_4_0=ruleAbsControls();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getXWTPartRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"controls",
            	    	        		lv_controls_4_0, 
            	    	        		"AbsControls", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop17;
                }
            } while (true);

            match(input,14,FOLLOW_14_in_ruleXWTPart1266); 

                    createLeafNode(grammarAccess.getXWTPartAccess().getRightCurlyBracketKeyword_5(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleXWTPart


    // $ANTLR start entryRuleLayout
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:768:1: entryRuleLayout returns [EObject current=null] : iv_ruleLayout= ruleLayout EOF ;
    public final EObject entryRuleLayout() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleLayout = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:769:2: (iv_ruleLayout= ruleLayout EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:770:2: iv_ruleLayout= ruleLayout EOF
            {
             currentNode = createCompositeNode(grammarAccess.getLayoutRule(), currentNode); 
            pushFollow(FOLLOW_ruleLayout_in_entryRuleLayout1302);
            iv_ruleLayout=ruleLayout();
            _fsp--;

             current =iv_ruleLayout; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLayout1312); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleLayout


    // $ANTLR start ruleLayout
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:777:1: ruleLayout returns [EObject current=null] : ( 'layout' ( ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) ) ) ) ;
    public final EObject ruleLayout() throws RecognitionException {
        EObject current = null;

        Token lv_layout_1_1=null;
        Token lv_layout_1_2=null;
        Token lv_layout_1_3=null;
        Token lv_layout_1_4=null;
        Token lv_layout_1_5=null;
        Token lv_layout_1_6=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:782:6: ( ( 'layout' ( ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:783:1: ( 'layout' ( ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) ) ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:783:1: ( 'layout' ( ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:783:3: 'layout' ( ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) ) )
            {
            match(input,22,FOLLOW_22_in_ruleLayout1347); 

                    createLeafNode(grammarAccess.getLayoutAccess().getLayoutKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:787:1: ( ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:788:1: ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:788:1: ( (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:789:1: (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:789:1: (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' )
            int alt18=6;
            switch ( input.LA(1) ) {
            case 23:
                {
                alt18=1;
                }
                break;
            case 24:
                {
                alt18=2;
                }
                break;
            case 25:
                {
                alt18=3;
                }
                break;
            case 26:
                {
                alt18=4;
                }
                break;
            case 27:
                {
                alt18=5;
                }
                break;
            case 28:
                {
                alt18=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("789:1: (lv_layout_1_1= 'none' | lv_layout_1_2= 'fill' | lv_layout_1_3= 'form' | lv_layout_1_4= 'grid' | lv_layout_1_5= 'row' | lv_layout_1_6= 'stack' )", 18, 0, input);

                throw nvae;
            }

            switch (alt18) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:790:3: lv_layout_1_1= 'none'
                    {
                    lv_layout_1_1=(Token)input.LT(1);
                    match(input,23,FOLLOW_23_in_ruleLayout1367); 

                            createLeafNode(grammarAccess.getLayoutAccess().getLayoutNoneKeyword_1_0_0(), "layout"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLayoutRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "layout", lv_layout_1_1, null, lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }
                    break;
                case 2 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:808:8: lv_layout_1_2= 'fill'
                    {
                    lv_layout_1_2=(Token)input.LT(1);
                    match(input,24,FOLLOW_24_in_ruleLayout1396); 

                            createLeafNode(grammarAccess.getLayoutAccess().getLayoutFillKeyword_1_0_1(), "layout"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLayoutRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "layout", lv_layout_1_2, null, lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }
                    break;
                case 3 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:826:8: lv_layout_1_3= 'form'
                    {
                    lv_layout_1_3=(Token)input.LT(1);
                    match(input,25,FOLLOW_25_in_ruleLayout1425); 

                            createLeafNode(grammarAccess.getLayoutAccess().getLayoutFormKeyword_1_0_2(), "layout"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLayoutRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "layout", lv_layout_1_3, null, lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }
                    break;
                case 4 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:844:8: lv_layout_1_4= 'grid'
                    {
                    lv_layout_1_4=(Token)input.LT(1);
                    match(input,26,FOLLOW_26_in_ruleLayout1454); 

                            createLeafNode(grammarAccess.getLayoutAccess().getLayoutGridKeyword_1_0_3(), "layout"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLayoutRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "layout", lv_layout_1_4, null, lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }
                    break;
                case 5 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:862:8: lv_layout_1_5= 'row'
                    {
                    lv_layout_1_5=(Token)input.LT(1);
                    match(input,27,FOLLOW_27_in_ruleLayout1483); 

                            createLeafNode(grammarAccess.getLayoutAccess().getLayoutRowKeyword_1_0_4(), "layout"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLayoutRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "layout", lv_layout_1_5, null, lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }
                    break;
                case 6 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:880:8: lv_layout_1_6= 'stack'
                    {
                    lv_layout_1_6=(Token)input.LT(1);
                    match(input,28,FOLLOW_28_in_ruleLayout1512); 

                            createLeafNode(grammarAccess.getLayoutAccess().getLayoutStackKeyword_1_0_5(), "layout"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLayoutRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "layout", lv_layout_1_6, null, lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }
                    break;

            }


            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleLayout


    // $ANTLR start entryRuleAbsControls
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:909:1: entryRuleAbsControls returns [EObject current=null] : iv_ruleAbsControls= ruleAbsControls EOF ;
    public final EObject entryRuleAbsControls() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleAbsControls = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:910:2: (iv_ruleAbsControls= ruleAbsControls EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:911:2: iv_ruleAbsControls= ruleAbsControls EOF
            {
             currentNode = createCompositeNode(grammarAccess.getAbsControlsRule(), currentNode); 
            pushFollow(FOLLOW_ruleAbsControls_in_entryRuleAbsControls1564);
            iv_ruleAbsControls=ruleAbsControls();
            _fsp--;

             current =iv_ruleAbsControls; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbsControls1574); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleAbsControls


    // $ANTLR start ruleAbsControls
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:918:1: ruleAbsControls returns [EObject current=null] : this_Controls_0= ruleControls ;
    public final EObject ruleAbsControls() throws RecognitionException {
        EObject current = null;

        EObject this_Controls_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:923:6: (this_Controls_0= ruleControls )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:925:5: this_Controls_0= ruleControls
            {
             
                    currentNode=createCompositeNode(grammarAccess.getAbsControlsAccess().getControlsParserRuleCall(), currentNode); 
                
            pushFollow(FOLLOW_ruleControls_in_ruleAbsControls1620);
            this_Controls_0=ruleControls();
            _fsp--;

             
                    current = this_Controls_0; 
                    currentNode = currentNode.getParent();
                

            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleAbsControls


    // $ANTLR start entryRuleControls
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:941:1: entryRuleControls returns [EObject current=null] : iv_ruleControls= ruleControls EOF ;
    public final EObject entryRuleControls() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleControls = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:942:2: (iv_ruleControls= ruleControls EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:943:2: iv_ruleControls= ruleControls EOF
            {
             currentNode = createCompositeNode(grammarAccess.getControlsRule(), currentNode); 
            pushFollow(FOLLOW_ruleControls_in_entryRuleControls1654);
            iv_ruleControls=ruleControls();
            _fsp--;

             current =iv_ruleControls; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleControls1664); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleControls


    // $ANTLR start ruleControls
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:950:1: ruleControls returns [EObject current=null] : (this_Button_0= ruleButton | this_Browser_1= ruleBrowser | this_CCombo_2= ruleCCombo | this_CLabel_3= ruleCLabel | this_Combo_4= ruleCombo | this_DateTime_5= ruleDateTime | this_Label_6= ruleLabel | this_Link_7= ruleLink | this_List_8= ruleList | this_ProgressBar_9= ruleProgressBar | this_Sash_10= ruleSash | this_Scale_11= ruleScale | this_Slider_12= ruleSlider | this_Spinner_13= ruleSpinner | this_Separator_14= ruleSeparator | this_StyledText_15= ruleStyledText | this_Text_16= ruleText ) ;
    public final EObject ruleControls() throws RecognitionException {
        EObject current = null;

        EObject this_Button_0 = null;

        EObject this_Browser_1 = null;

        EObject this_CCombo_2 = null;

        EObject this_CLabel_3 = null;

        EObject this_Combo_4 = null;

        EObject this_DateTime_5 = null;

        EObject this_Label_6 = null;

        EObject this_Link_7 = null;

        EObject this_List_8 = null;

        EObject this_ProgressBar_9 = null;

        EObject this_Sash_10 = null;

        EObject this_Scale_11 = null;

        EObject this_Slider_12 = null;

        EObject this_Spinner_13 = null;

        EObject this_Separator_14 = null;

        EObject this_StyledText_15 = null;

        EObject this_Text_16 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:955:6: ( (this_Button_0= ruleButton | this_Browser_1= ruleBrowser | this_CCombo_2= ruleCCombo | this_CLabel_3= ruleCLabel | this_Combo_4= ruleCombo | this_DateTime_5= ruleDateTime | this_Label_6= ruleLabel | this_Link_7= ruleLink | this_List_8= ruleList | this_ProgressBar_9= ruleProgressBar | this_Sash_10= ruleSash | this_Scale_11= ruleScale | this_Slider_12= ruleSlider | this_Spinner_13= ruleSpinner | this_Separator_14= ruleSeparator | this_StyledText_15= ruleStyledText | this_Text_16= ruleText ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:956:1: (this_Button_0= ruleButton | this_Browser_1= ruleBrowser | this_CCombo_2= ruleCCombo | this_CLabel_3= ruleCLabel | this_Combo_4= ruleCombo | this_DateTime_5= ruleDateTime | this_Label_6= ruleLabel | this_Link_7= ruleLink | this_List_8= ruleList | this_ProgressBar_9= ruleProgressBar | this_Sash_10= ruleSash | this_Scale_11= ruleScale | this_Slider_12= ruleSlider | this_Spinner_13= ruleSpinner | this_Separator_14= ruleSeparator | this_StyledText_15= ruleStyledText | this_Text_16= ruleText )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:956:1: (this_Button_0= ruleButton | this_Browser_1= ruleBrowser | this_CCombo_2= ruleCCombo | this_CLabel_3= ruleCLabel | this_Combo_4= ruleCombo | this_DateTime_5= ruleDateTime | this_Label_6= ruleLabel | this_Link_7= ruleLink | this_List_8= ruleList | this_ProgressBar_9= ruleProgressBar | this_Sash_10= ruleSash | this_Scale_11= ruleScale | this_Slider_12= ruleSlider | this_Spinner_13= ruleSpinner | this_Separator_14= ruleSeparator | this_StyledText_15= ruleStyledText | this_Text_16= ruleText )
            int alt19=17;
            switch ( input.LA(1) ) {
            case 31:
                {
                alt19=1;
                }
                break;
            case 29:
                {
                alt19=2;
                }
                break;
            case 33:
                {
                alt19=3;
                }
                break;
            case 34:
                {
                alt19=4;
                }
                break;
            case 35:
                {
                alt19=5;
                }
                break;
            case 36:
                {
                alt19=6;
                }
                break;
            case 37:
                {
                alt19=7;
                }
                break;
            case 38:
                {
                alt19=8;
                }
                break;
            case 39:
                {
                alt19=9;
                }
                break;
            case 40:
                {
                alt19=10;
                }
                break;
            case 41:
                {
                alt19=11;
                }
                break;
            case 42:
                {
                alt19=12;
                }
                break;
            case 43:
                {
                alt19=13;
                }
                break;
            case 44:
                {
                alt19=14;
                }
                break;
            case 45:
                {
                alt19=15;
                }
                break;
            case 46:
                {
                alt19=16;
                }
                break;
            case 47:
                {
                alt19=17;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("956:1: (this_Button_0= ruleButton | this_Browser_1= ruleBrowser | this_CCombo_2= ruleCCombo | this_CLabel_3= ruleCLabel | this_Combo_4= ruleCombo | this_DateTime_5= ruleDateTime | this_Label_6= ruleLabel | this_Link_7= ruleLink | this_List_8= ruleList | this_ProgressBar_9= ruleProgressBar | this_Sash_10= ruleSash | this_Scale_11= ruleScale | this_Slider_12= ruleSlider | this_Spinner_13= ruleSpinner | this_Separator_14= ruleSeparator | this_StyledText_15= ruleStyledText | this_Text_16= ruleText )", 19, 0, input);

                throw nvae;
            }

            switch (alt19) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:957:5: this_Button_0= ruleButton
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getButtonParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleButton_in_ruleControls1711);
                    this_Button_0=ruleButton();
                    _fsp--;

                     
                            current = this_Button_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:967:5: this_Browser_1= ruleBrowser
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getBrowserParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleBrowser_in_ruleControls1738);
                    this_Browser_1=ruleBrowser();
                    _fsp--;

                     
                            current = this_Browser_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 3 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:977:5: this_CCombo_2= ruleCCombo
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getCComboParserRuleCall_2(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleCCombo_in_ruleControls1765);
                    this_CCombo_2=ruleCCombo();
                    _fsp--;

                     
                            current = this_CCombo_2; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 4 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:987:5: this_CLabel_3= ruleCLabel
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getCLabelParserRuleCall_3(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleCLabel_in_ruleControls1792);
                    this_CLabel_3=ruleCLabel();
                    _fsp--;

                     
                            current = this_CLabel_3; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 5 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:997:5: this_Combo_4= ruleCombo
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getComboParserRuleCall_4(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleCombo_in_ruleControls1819);
                    this_Combo_4=ruleCombo();
                    _fsp--;

                     
                            current = this_Combo_4; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 6 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1007:5: this_DateTime_5= ruleDateTime
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getDateTimeParserRuleCall_5(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleDateTime_in_ruleControls1846);
                    this_DateTime_5=ruleDateTime();
                    _fsp--;

                     
                            current = this_DateTime_5; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 7 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1017:5: this_Label_6= ruleLabel
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getLabelParserRuleCall_6(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleLabel_in_ruleControls1873);
                    this_Label_6=ruleLabel();
                    _fsp--;

                     
                            current = this_Label_6; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 8 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1027:5: this_Link_7= ruleLink
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getLinkParserRuleCall_7(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleLink_in_ruleControls1900);
                    this_Link_7=ruleLink();
                    _fsp--;

                     
                            current = this_Link_7; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 9 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1037:5: this_List_8= ruleList
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getListParserRuleCall_8(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleList_in_ruleControls1927);
                    this_List_8=ruleList();
                    _fsp--;

                     
                            current = this_List_8; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 10 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1047:5: this_ProgressBar_9= ruleProgressBar
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getProgressBarParserRuleCall_9(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleProgressBar_in_ruleControls1954);
                    this_ProgressBar_9=ruleProgressBar();
                    _fsp--;

                     
                            current = this_ProgressBar_9; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 11 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1057:5: this_Sash_10= ruleSash
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getSashParserRuleCall_10(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleSash_in_ruleControls1981);
                    this_Sash_10=ruleSash();
                    _fsp--;

                     
                            current = this_Sash_10; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 12 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1067:5: this_Scale_11= ruleScale
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getScaleParserRuleCall_11(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleScale_in_ruleControls2008);
                    this_Scale_11=ruleScale();
                    _fsp--;

                     
                            current = this_Scale_11; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 13 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1077:5: this_Slider_12= ruleSlider
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getSliderParserRuleCall_12(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleSlider_in_ruleControls2035);
                    this_Slider_12=ruleSlider();
                    _fsp--;

                     
                            current = this_Slider_12; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 14 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1087:5: this_Spinner_13= ruleSpinner
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getSpinnerParserRuleCall_13(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleSpinner_in_ruleControls2062);
                    this_Spinner_13=ruleSpinner();
                    _fsp--;

                     
                            current = this_Spinner_13; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 15 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1097:5: this_Separator_14= ruleSeparator
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getSeparatorParserRuleCall_14(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleSeparator_in_ruleControls2089);
                    this_Separator_14=ruleSeparator();
                    _fsp--;

                     
                            current = this_Separator_14; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 16 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1107:5: this_StyledText_15= ruleStyledText
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getStyledTextParserRuleCall_15(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleStyledText_in_ruleControls2116);
                    this_StyledText_15=ruleStyledText();
                    _fsp--;

                     
                            current = this_StyledText_15; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 17 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1117:5: this_Text_16= ruleText
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getControlsAccess().getTextParserRuleCall_16(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleText_in_ruleControls2143);
                    this_Text_16=ruleText();
                    _fsp--;

                     
                            current = this_Text_16; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleControls


    // $ANTLR start entryRuleBrowser
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1133:1: entryRuleBrowser returns [EObject current=null] : iv_ruleBrowser= ruleBrowser EOF ;
    public final EObject entryRuleBrowser() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleBrowser = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1134:2: (iv_ruleBrowser= ruleBrowser EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1135:2: iv_ruleBrowser= ruleBrowser EOF
            {
             currentNode = createCompositeNode(grammarAccess.getBrowserRule(), currentNode); 
            pushFollow(FOLLOW_ruleBrowser_in_entryRuleBrowser2178);
            iv_ruleBrowser=ruleBrowser();
            _fsp--;

             current =iv_ruleBrowser; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBrowser2188); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleBrowser


    // $ANTLR start ruleBrowser
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1142:1: ruleBrowser returns [EObject current=null] : ( () 'browser' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) ;
    public final EObject ruleBrowser() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        Token lv_text_5_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1147:6: ( ( () 'browser' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1148:1: ( () 'browser' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1148:1: ( () 'browser' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1148:2: () 'browser' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1148:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1149:5: 
            {
             
                    temp=factory.create(grammarAccess.getBrowserAccess().getBrowserAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getBrowserAccess().getBrowserAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,29,FOLLOW_29_in_ruleBrowser2232); 

                    createLeafNode(grammarAccess.getBrowserAccess().getBrowserKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1163:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==RULE_ID) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1164:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1164:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1165:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleBrowser2249); 

                    			createLeafNode(grammarAccess.getBrowserAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getBrowserRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleBrowser2265); 

                    createLeafNode(grammarAccess.getBrowserAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,30,FOLLOW_30_in_ruleBrowser2275); 

                    createLeafNode(grammarAccess.getBrowserAccess().getTextKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1195:1: ( (lv_text_5_0= RULE_STRING ) )?
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==RULE_STRING) ) {
                alt21=1;
            }
            switch (alt21) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1196:1: (lv_text_5_0= RULE_STRING )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1196:1: (lv_text_5_0= RULE_STRING )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1197:3: lv_text_5_0= RULE_STRING
                    {
                    lv_text_5_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleBrowser2292); 

                    			createLeafNode(grammarAccess.getBrowserAccess().getTextSTRINGTerminalRuleCall_5_0(), "text"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getBrowserRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"text",
                    	        		lv_text_5_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleBrowser2308); 

                    createLeafNode(grammarAccess.getBrowserAccess().getRightCurlyBracketKeyword_6(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleBrowser


    // $ANTLR start entryRuleButton
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1231:1: entryRuleButton returns [EObject current=null] : iv_ruleButton= ruleButton EOF ;
    public final EObject entryRuleButton() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleButton = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1232:2: (iv_ruleButton= ruleButton EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1233:2: iv_ruleButton= ruleButton EOF
            {
             currentNode = createCompositeNode(grammarAccess.getButtonRule(), currentNode); 
            pushFollow(FOLLOW_ruleButton_in_entryRuleButton2344);
            iv_ruleButton=ruleButton();
            _fsp--;

             current =iv_ruleButton; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleButton2354); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleButton


    // $ANTLR start ruleButton
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1240:1: ruleButton returns [EObject current=null] : ( () 'button' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' ) ;
    public final EObject ruleButton() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        Token lv_text_5_0=null;
        EObject lv_size_7_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1245:6: ( ( () 'button' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1246:1: ( () 'button' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1246:1: ( () 'button' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1246:2: () 'button' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1246:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1247:5: 
            {
             
                    temp=factory.create(grammarAccess.getButtonAccess().getButtonAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getButtonAccess().getButtonAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,31,FOLLOW_31_in_ruleButton2398); 

                    createLeafNode(grammarAccess.getButtonAccess().getButtonKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1261:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==RULE_ID) ) {
                alt22=1;
            }
            switch (alt22) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1262:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1262:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1263:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleButton2415); 

                    			createLeafNode(grammarAccess.getButtonAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getButtonRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleButton2431); 

                    createLeafNode(grammarAccess.getButtonAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,30,FOLLOW_30_in_ruleButton2441); 

                    createLeafNode(grammarAccess.getButtonAccess().getTextKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1293:1: ( (lv_text_5_0= RULE_STRING ) )?
            int alt23=2;
            int LA23_0 = input.LA(1);

            if ( (LA23_0==RULE_STRING) ) {
                alt23=1;
            }
            switch (alt23) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1294:1: (lv_text_5_0= RULE_STRING )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1294:1: (lv_text_5_0= RULE_STRING )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1295:3: lv_text_5_0= RULE_STRING
                    {
                    lv_text_5_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleButton2458); 

                    			createLeafNode(grammarAccess.getButtonAccess().getTextSTRINGTerminalRuleCall_5_0(), "text"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getButtonRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"text",
                    	        		lv_text_5_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1317:3: ( 'size' ( (lv_size_7_0= ruleSize ) ) )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==32) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1317:5: 'size' ( (lv_size_7_0= ruleSize ) )
                    {
                    match(input,32,FOLLOW_32_in_ruleButton2475); 

                            createLeafNode(grammarAccess.getButtonAccess().getSizeKeyword_6_0(), null); 
                        
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1321:1: ( (lv_size_7_0= ruleSize ) )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1322:1: (lv_size_7_0= ruleSize )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1322:1: (lv_size_7_0= ruleSize )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1323:3: lv_size_7_0= ruleSize
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getButtonAccess().getSizeSizeParserRuleCall_6_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleSize_in_ruleButton2496);
                    lv_size_7_0=ruleSize();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getButtonRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"size",
                    	        		lv_size_7_0, 
                    	        		"Size", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleButton2508); 

                    createLeafNode(grammarAccess.getButtonAccess().getRightCurlyBracketKeyword_7(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleButton


    // $ANTLR start entryRuleCCombo
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1357:1: entryRuleCCombo returns [EObject current=null] : iv_ruleCCombo= ruleCCombo EOF ;
    public final EObject entryRuleCCombo() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCCombo = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1358:2: (iv_ruleCCombo= ruleCCombo EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1359:2: iv_ruleCCombo= ruleCCombo EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCComboRule(), currentNode); 
            pushFollow(FOLLOW_ruleCCombo_in_entryRuleCCombo2544);
            iv_ruleCCombo=ruleCCombo();
            _fsp--;

             current =iv_ruleCCombo; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCCombo2554); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCCombo


    // $ANTLR start ruleCCombo
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1366:1: ruleCCombo returns [EObject current=null] : ( () 'ccombo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleCCombo() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1371:6: ( ( () 'ccombo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1372:1: ( () 'ccombo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1372:1: ( () 'ccombo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1372:2: () 'ccombo' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1372:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1373:5: 
            {
             
                    temp=factory.create(grammarAccess.getCComboAccess().getCComboAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getCComboAccess().getCComboAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,33,FOLLOW_33_in_ruleCCombo2598); 

                    createLeafNode(grammarAccess.getCComboAccess().getCcomboKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1387:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==RULE_ID) ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1388:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1388:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1389:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCCombo2615); 

                    			createLeafNode(grammarAccess.getCComboAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCComboRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleCCombo2631); 

                    createLeafNode(grammarAccess.getCComboAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleCCombo2641); 

                    createLeafNode(grammarAccess.getCComboAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCCombo


    // $ANTLR start entryRuleCLabel
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1427:1: entryRuleCLabel returns [EObject current=null] : iv_ruleCLabel= ruleCLabel EOF ;
    public final EObject entryRuleCLabel() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCLabel = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1428:2: (iv_ruleCLabel= ruleCLabel EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1429:2: iv_ruleCLabel= ruleCLabel EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCLabelRule(), currentNode); 
            pushFollow(FOLLOW_ruleCLabel_in_entryRuleCLabel2677);
            iv_ruleCLabel=ruleCLabel();
            _fsp--;

             current =iv_ruleCLabel; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCLabel2687); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCLabel


    // $ANTLR start ruleCLabel
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1436:1: ruleCLabel returns [EObject current=null] : ( () 'clabel' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) ;
    public final EObject ruleCLabel() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        Token lv_text_5_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1441:6: ( ( () 'clabel' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1442:1: ( () 'clabel' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1442:1: ( () 'clabel' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1442:2: () 'clabel' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1442:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1443:5: 
            {
             
                    temp=factory.create(grammarAccess.getCLabelAccess().getCLabelAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getCLabelAccess().getCLabelAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,34,FOLLOW_34_in_ruleCLabel2731); 

                    createLeafNode(grammarAccess.getCLabelAccess().getClabelKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1457:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==RULE_ID) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1458:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1458:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1459:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCLabel2748); 

                    			createLeafNode(grammarAccess.getCLabelAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCLabelRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleCLabel2764); 

                    createLeafNode(grammarAccess.getCLabelAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,30,FOLLOW_30_in_ruleCLabel2774); 

                    createLeafNode(grammarAccess.getCLabelAccess().getTextKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1489:1: ( (lv_text_5_0= RULE_STRING ) )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==RULE_STRING) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1490:1: (lv_text_5_0= RULE_STRING )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1490:1: (lv_text_5_0= RULE_STRING )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1491:3: lv_text_5_0= RULE_STRING
                    {
                    lv_text_5_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleCLabel2791); 

                    			createLeafNode(grammarAccess.getCLabelAccess().getTextSTRINGTerminalRuleCall_5_0(), "text"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCLabelRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"text",
                    	        		lv_text_5_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleCLabel2807); 

                    createLeafNode(grammarAccess.getCLabelAccess().getRightCurlyBracketKeyword_6(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCLabel


    // $ANTLR start entryRuleCombo
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1525:1: entryRuleCombo returns [EObject current=null] : iv_ruleCombo= ruleCombo EOF ;
    public final EObject entryRuleCombo() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCombo = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1526:2: (iv_ruleCombo= ruleCombo EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1527:2: iv_ruleCombo= ruleCombo EOF
            {
             currentNode = createCompositeNode(grammarAccess.getComboRule(), currentNode); 
            pushFollow(FOLLOW_ruleCombo_in_entryRuleCombo2843);
            iv_ruleCombo=ruleCombo();
            _fsp--;

             current =iv_ruleCombo; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCombo2853); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCombo


    // $ANTLR start ruleCombo
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1534:1: ruleCombo returns [EObject current=null] : ( () 'combo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleCombo() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1539:6: ( ( () 'combo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1540:1: ( () 'combo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1540:1: ( () 'combo' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1540:2: () 'combo' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1540:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1541:5: 
            {
             
                    temp=factory.create(grammarAccess.getComboAccess().getComboAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getComboAccess().getComboAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,35,FOLLOW_35_in_ruleCombo2897); 

                    createLeafNode(grammarAccess.getComboAccess().getComboKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1555:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt28=2;
            int LA28_0 = input.LA(1);

            if ( (LA28_0==RULE_ID) ) {
                alt28=1;
            }
            switch (alt28) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1556:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1556:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1557:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCombo2914); 

                    			createLeafNode(grammarAccess.getComboAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getComboRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleCombo2930); 

                    createLeafNode(grammarAccess.getComboAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleCombo2940); 

                    createLeafNode(grammarAccess.getComboAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCombo


    // $ANTLR start entryRuleDateTime
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1595:1: entryRuleDateTime returns [EObject current=null] : iv_ruleDateTime= ruleDateTime EOF ;
    public final EObject entryRuleDateTime() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleDateTime = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1596:2: (iv_ruleDateTime= ruleDateTime EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1597:2: iv_ruleDateTime= ruleDateTime EOF
            {
             currentNode = createCompositeNode(grammarAccess.getDateTimeRule(), currentNode); 
            pushFollow(FOLLOW_ruleDateTime_in_entryRuleDateTime2976);
            iv_ruleDateTime=ruleDateTime();
            _fsp--;

             current =iv_ruleDateTime; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDateTime2986); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleDateTime


    // $ANTLR start ruleDateTime
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1604:1: ruleDateTime returns [EObject current=null] : ( () 'datetime' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleDateTime() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1609:6: ( ( () 'datetime' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1610:1: ( () 'datetime' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1610:1: ( () 'datetime' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1610:2: () 'datetime' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1610:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1611:5: 
            {
             
                    temp=factory.create(grammarAccess.getDateTimeAccess().getDateTimeAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getDateTimeAccess().getDateTimeAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,36,FOLLOW_36_in_ruleDateTime3030); 

                    createLeafNode(grammarAccess.getDateTimeAccess().getDatetimeKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1625:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt29=2;
            int LA29_0 = input.LA(1);

            if ( (LA29_0==RULE_ID) ) {
                alt29=1;
            }
            switch (alt29) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1626:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1626:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1627:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDateTime3047); 

                    			createLeafNode(grammarAccess.getDateTimeAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getDateTimeRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleDateTime3063); 

                    createLeafNode(grammarAccess.getDateTimeAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleDateTime3073); 

                    createLeafNode(grammarAccess.getDateTimeAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleDateTime


    // $ANTLR start entryRuleLabel
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1665:1: entryRuleLabel returns [EObject current=null] : iv_ruleLabel= ruleLabel EOF ;
    public final EObject entryRuleLabel() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleLabel = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1666:2: (iv_ruleLabel= ruleLabel EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1667:2: iv_ruleLabel= ruleLabel EOF
            {
             currentNode = createCompositeNode(grammarAccess.getLabelRule(), currentNode); 
            pushFollow(FOLLOW_ruleLabel_in_entryRuleLabel3109);
            iv_ruleLabel=ruleLabel();
            _fsp--;

             current =iv_ruleLabel; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLabel3119); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleLabel


    // $ANTLR start ruleLabel
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1674:1: ruleLabel returns [EObject current=null] : ( () 'label' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) ;
    public final EObject ruleLabel() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        Token lv_text_5_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1679:6: ( ( () 'label' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1680:1: ( () 'label' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1680:1: ( () 'label' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1680:2: () 'label' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1680:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1681:5: 
            {
             
                    temp=factory.create(grammarAccess.getLabelAccess().getLabelAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getLabelAccess().getLabelAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,37,FOLLOW_37_in_ruleLabel3163); 

                    createLeafNode(grammarAccess.getLabelAccess().getLabelKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1695:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt30=2;
            int LA30_0 = input.LA(1);

            if ( (LA30_0==RULE_ID) ) {
                alt30=1;
            }
            switch (alt30) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1696:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1696:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1697:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLabel3180); 

                    			createLeafNode(grammarAccess.getLabelAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLabelRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleLabel3196); 

                    createLeafNode(grammarAccess.getLabelAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,30,FOLLOW_30_in_ruleLabel3206); 

                    createLeafNode(grammarAccess.getLabelAccess().getTextKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1727:1: ( (lv_text_5_0= RULE_STRING ) )?
            int alt31=2;
            int LA31_0 = input.LA(1);

            if ( (LA31_0==RULE_STRING) ) {
                alt31=1;
            }
            switch (alt31) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1728:1: (lv_text_5_0= RULE_STRING )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1728:1: (lv_text_5_0= RULE_STRING )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1729:3: lv_text_5_0= RULE_STRING
                    {
                    lv_text_5_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleLabel3223); 

                    			createLeafNode(grammarAccess.getLabelAccess().getTextSTRINGTerminalRuleCall_5_0(), "text"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLabelRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"text",
                    	        		lv_text_5_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleLabel3239); 

                    createLeafNode(grammarAccess.getLabelAccess().getRightCurlyBracketKeyword_6(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleLabel


    // $ANTLR start entryRuleLink
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1763:1: entryRuleLink returns [EObject current=null] : iv_ruleLink= ruleLink EOF ;
    public final EObject entryRuleLink() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleLink = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1764:2: (iv_ruleLink= ruleLink EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1765:2: iv_ruleLink= ruleLink EOF
            {
             currentNode = createCompositeNode(grammarAccess.getLinkRule(), currentNode); 
            pushFollow(FOLLOW_ruleLink_in_entryRuleLink3275);
            iv_ruleLink=ruleLink();
            _fsp--;

             current =iv_ruleLink; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLink3285); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleLink


    // $ANTLR start ruleLink
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1772:1: ruleLink returns [EObject current=null] : ( () 'link' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleLink() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1777:6: ( ( () 'link' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1778:1: ( () 'link' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1778:1: ( () 'link' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1778:2: () 'link' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1778:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1779:5: 
            {
             
                    temp=factory.create(grammarAccess.getLinkAccess().getLinkAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getLinkAccess().getLinkAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,38,FOLLOW_38_in_ruleLink3329); 

                    createLeafNode(grammarAccess.getLinkAccess().getLinkKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1793:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt32=2;
            int LA32_0 = input.LA(1);

            if ( (LA32_0==RULE_ID) ) {
                alt32=1;
            }
            switch (alt32) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1794:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1794:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1795:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleLink3346); 

                    			createLeafNode(grammarAccess.getLinkAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLinkRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleLink3362); 

                    createLeafNode(grammarAccess.getLinkAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleLink3372); 

                    createLeafNode(grammarAccess.getLinkAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleLink


    // $ANTLR start entryRuleList
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1833:1: entryRuleList returns [EObject current=null] : iv_ruleList= ruleList EOF ;
    public final EObject entryRuleList() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleList = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1834:2: (iv_ruleList= ruleList EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1835:2: iv_ruleList= ruleList EOF
            {
             currentNode = createCompositeNode(grammarAccess.getListRule(), currentNode); 
            pushFollow(FOLLOW_ruleList_in_entryRuleList3408);
            iv_ruleList=ruleList();
            _fsp--;

             current =iv_ruleList; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleList3418); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleList


    // $ANTLR start ruleList
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1842:1: ruleList returns [EObject current=null] : ( () 'list' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleList() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1847:6: ( ( () 'list' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1848:1: ( () 'list' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1848:1: ( () 'list' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1848:2: () 'list' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1848:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1849:5: 
            {
             
                    temp=factory.create(grammarAccess.getListAccess().getListAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getListAccess().getListAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,39,FOLLOW_39_in_ruleList3462); 

                    createLeafNode(grammarAccess.getListAccess().getListKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1863:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt33=2;
            int LA33_0 = input.LA(1);

            if ( (LA33_0==RULE_ID) ) {
                alt33=1;
            }
            switch (alt33) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1864:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1864:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1865:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleList3479); 

                    			createLeafNode(grammarAccess.getListAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getListRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleList3495); 

                    createLeafNode(grammarAccess.getListAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleList3505); 

                    createLeafNode(grammarAccess.getListAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleList


    // $ANTLR start entryRuleProgressBar
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1903:1: entryRuleProgressBar returns [EObject current=null] : iv_ruleProgressBar= ruleProgressBar EOF ;
    public final EObject entryRuleProgressBar() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleProgressBar = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1904:2: (iv_ruleProgressBar= ruleProgressBar EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1905:2: iv_ruleProgressBar= ruleProgressBar EOF
            {
             currentNode = createCompositeNode(grammarAccess.getProgressBarRule(), currentNode); 
            pushFollow(FOLLOW_ruleProgressBar_in_entryRuleProgressBar3541);
            iv_ruleProgressBar=ruleProgressBar();
            _fsp--;

             current =iv_ruleProgressBar; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleProgressBar3551); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleProgressBar


    // $ANTLR start ruleProgressBar
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1912:1: ruleProgressBar returns [EObject current=null] : ( () 'progressbar' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleProgressBar() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1917:6: ( ( () 'progressbar' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1918:1: ( () 'progressbar' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1918:1: ( () 'progressbar' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1918:2: () 'progressbar' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1918:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1919:5: 
            {
             
                    temp=factory.create(grammarAccess.getProgressBarAccess().getProgressBarAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getProgressBarAccess().getProgressBarAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,40,FOLLOW_40_in_ruleProgressBar3595); 

                    createLeafNode(grammarAccess.getProgressBarAccess().getProgressbarKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1933:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt34=2;
            int LA34_0 = input.LA(1);

            if ( (LA34_0==RULE_ID) ) {
                alt34=1;
            }
            switch (alt34) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1934:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1934:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1935:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleProgressBar3612); 

                    			createLeafNode(grammarAccess.getProgressBarAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getProgressBarRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleProgressBar3628); 

                    createLeafNode(grammarAccess.getProgressBarAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleProgressBar3638); 

                    createLeafNode(grammarAccess.getProgressBarAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleProgressBar


    // $ANTLR start entryRuleSash
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1973:1: entryRuleSash returns [EObject current=null] : iv_ruleSash= ruleSash EOF ;
    public final EObject entryRuleSash() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSash = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1974:2: (iv_ruleSash= ruleSash EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1975:2: iv_ruleSash= ruleSash EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSashRule(), currentNode); 
            pushFollow(FOLLOW_ruleSash_in_entryRuleSash3674);
            iv_ruleSash=ruleSash();
            _fsp--;

             current =iv_ruleSash; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSash3684); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSash


    // $ANTLR start ruleSash
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1982:1: ruleSash returns [EObject current=null] : ( () 'sash' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleSash() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1987:6: ( ( () 'sash' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1988:1: ( () 'sash' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1988:1: ( () 'sash' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1988:2: () 'sash' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1988:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:1989:5: 
            {
             
                    temp=factory.create(grammarAccess.getSashAccess().getSashAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getSashAccess().getSashAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,41,FOLLOW_41_in_ruleSash3728); 

                    createLeafNode(grammarAccess.getSashAccess().getSashKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2003:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt35=2;
            int LA35_0 = input.LA(1);

            if ( (LA35_0==RULE_ID) ) {
                alt35=1;
            }
            switch (alt35) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2004:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2004:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2005:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSash3745); 

                    			createLeafNode(grammarAccess.getSashAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getSashRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleSash3761); 

                    createLeafNode(grammarAccess.getSashAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleSash3771); 

                    createLeafNode(grammarAccess.getSashAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSash


    // $ANTLR start entryRuleScale
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2043:1: entryRuleScale returns [EObject current=null] : iv_ruleScale= ruleScale EOF ;
    public final EObject entryRuleScale() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleScale = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2044:2: (iv_ruleScale= ruleScale EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2045:2: iv_ruleScale= ruleScale EOF
            {
             currentNode = createCompositeNode(grammarAccess.getScaleRule(), currentNode); 
            pushFollow(FOLLOW_ruleScale_in_entryRuleScale3807);
            iv_ruleScale=ruleScale();
            _fsp--;

             current =iv_ruleScale; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleScale3817); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleScale


    // $ANTLR start ruleScale
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2052:1: ruleScale returns [EObject current=null] : ( () 'scale' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleScale() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2057:6: ( ( () 'scale' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2058:1: ( () 'scale' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2058:1: ( () 'scale' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2058:2: () 'scale' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2058:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2059:5: 
            {
             
                    temp=factory.create(grammarAccess.getScaleAccess().getScaleAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getScaleAccess().getScaleAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,42,FOLLOW_42_in_ruleScale3861); 

                    createLeafNode(grammarAccess.getScaleAccess().getScaleKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2073:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt36=2;
            int LA36_0 = input.LA(1);

            if ( (LA36_0==RULE_ID) ) {
                alt36=1;
            }
            switch (alt36) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2074:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2074:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2075:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleScale3878); 

                    			createLeafNode(grammarAccess.getScaleAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getScaleRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleScale3894); 

                    createLeafNode(grammarAccess.getScaleAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleScale3904); 

                    createLeafNode(grammarAccess.getScaleAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleScale


    // $ANTLR start entryRuleSlider
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2113:1: entryRuleSlider returns [EObject current=null] : iv_ruleSlider= ruleSlider EOF ;
    public final EObject entryRuleSlider() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSlider = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2114:2: (iv_ruleSlider= ruleSlider EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2115:2: iv_ruleSlider= ruleSlider EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSliderRule(), currentNode); 
            pushFollow(FOLLOW_ruleSlider_in_entryRuleSlider3940);
            iv_ruleSlider=ruleSlider();
            _fsp--;

             current =iv_ruleSlider; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSlider3950); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSlider


    // $ANTLR start ruleSlider
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2122:1: ruleSlider returns [EObject current=null] : ( () 'slider' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleSlider() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2127:6: ( ( () 'slider' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2128:1: ( () 'slider' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2128:1: ( () 'slider' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2128:2: () 'slider' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2128:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2129:5: 
            {
             
                    temp=factory.create(grammarAccess.getSliderAccess().getSliderAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getSliderAccess().getSliderAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,43,FOLLOW_43_in_ruleSlider3994); 

                    createLeafNode(grammarAccess.getSliderAccess().getSliderKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2143:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt37=2;
            int LA37_0 = input.LA(1);

            if ( (LA37_0==RULE_ID) ) {
                alt37=1;
            }
            switch (alt37) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2144:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2144:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2145:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSlider4011); 

                    			createLeafNode(grammarAccess.getSliderAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getSliderRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleSlider4027); 

                    createLeafNode(grammarAccess.getSliderAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleSlider4037); 

                    createLeafNode(grammarAccess.getSliderAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSlider


    // $ANTLR start entryRuleSpinner
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2183:1: entryRuleSpinner returns [EObject current=null] : iv_ruleSpinner= ruleSpinner EOF ;
    public final EObject entryRuleSpinner() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSpinner = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2184:2: (iv_ruleSpinner= ruleSpinner EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2185:2: iv_ruleSpinner= ruleSpinner EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSpinnerRule(), currentNode); 
            pushFollow(FOLLOW_ruleSpinner_in_entryRuleSpinner4073);
            iv_ruleSpinner=ruleSpinner();
            _fsp--;

             current =iv_ruleSpinner; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSpinner4083); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSpinner


    // $ANTLR start ruleSpinner
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2192:1: ruleSpinner returns [EObject current=null] : ( () 'spinner' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleSpinner() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2197:6: ( ( () 'spinner' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2198:1: ( () 'spinner' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2198:1: ( () 'spinner' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2198:2: () 'spinner' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2198:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2199:5: 
            {
             
                    temp=factory.create(grammarAccess.getSpinnerAccess().getSpinnerAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getSpinnerAccess().getSpinnerAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,44,FOLLOW_44_in_ruleSpinner4127); 

                    createLeafNode(grammarAccess.getSpinnerAccess().getSpinnerKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2213:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt38=2;
            int LA38_0 = input.LA(1);

            if ( (LA38_0==RULE_ID) ) {
                alt38=1;
            }
            switch (alt38) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2214:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2214:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2215:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSpinner4144); 

                    			createLeafNode(grammarAccess.getSpinnerAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getSpinnerRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleSpinner4160); 

                    createLeafNode(grammarAccess.getSpinnerAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleSpinner4170); 

                    createLeafNode(grammarAccess.getSpinnerAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSpinner


    // $ANTLR start entryRuleSeparator
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2253:1: entryRuleSeparator returns [EObject current=null] : iv_ruleSeparator= ruleSeparator EOF ;
    public final EObject entryRuleSeparator() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSeparator = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2254:2: (iv_ruleSeparator= ruleSeparator EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2255:2: iv_ruleSeparator= ruleSeparator EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSeparatorRule(), currentNode); 
            pushFollow(FOLLOW_ruleSeparator_in_entryRuleSeparator4206);
            iv_ruleSeparator=ruleSeparator();
            _fsp--;

             current =iv_ruleSeparator; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSeparator4216); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSeparator


    // $ANTLR start ruleSeparator
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2262:1: ruleSeparator returns [EObject current=null] : ( () 'separator' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) ;
    public final EObject ruleSeparator() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2267:6: ( ( () 'separator' ( (lv_name_2_0= RULE_ID ) )? '{' '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2268:1: ( () 'separator' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2268:1: ( () 'separator' ( (lv_name_2_0= RULE_ID ) )? '{' '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2268:2: () 'separator' ( (lv_name_2_0= RULE_ID ) )? '{' '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2268:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2269:5: 
            {
             
                    temp=factory.create(grammarAccess.getSeparatorAccess().getSeparatorAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getSeparatorAccess().getSeparatorAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,45,FOLLOW_45_in_ruleSeparator4260); 

                    createLeafNode(grammarAccess.getSeparatorAccess().getSeparatorKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2283:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt39=2;
            int LA39_0 = input.LA(1);

            if ( (LA39_0==RULE_ID) ) {
                alt39=1;
            }
            switch (alt39) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2284:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2284:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2285:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSeparator4277); 

                    			createLeafNode(grammarAccess.getSeparatorAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getSeparatorRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleSeparator4293); 

                    createLeafNode(grammarAccess.getSeparatorAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,14,FOLLOW_14_in_ruleSeparator4303); 

                    createLeafNode(grammarAccess.getSeparatorAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSeparator


    // $ANTLR start entryRuleStyledText
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2323:1: entryRuleStyledText returns [EObject current=null] : iv_ruleStyledText= ruleStyledText EOF ;
    public final EObject entryRuleStyledText() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleStyledText = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2324:2: (iv_ruleStyledText= ruleStyledText EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2325:2: iv_ruleStyledText= ruleStyledText EOF
            {
             currentNode = createCompositeNode(grammarAccess.getStyledTextRule(), currentNode); 
            pushFollow(FOLLOW_ruleStyledText_in_entryRuleStyledText4339);
            iv_ruleStyledText=ruleStyledText();
            _fsp--;

             current =iv_ruleStyledText; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStyledText4349); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleStyledText


    // $ANTLR start ruleStyledText
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2332:1: ruleStyledText returns [EObject current=null] : ( () 'styledtext' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) ;
    public final EObject ruleStyledText() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        Token lv_text_5_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2337:6: ( ( () 'styledtext' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2338:1: ( () 'styledtext' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2338:1: ( () 'styledtext' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2338:2: () 'styledtext' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2338:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2339:5: 
            {
             
                    temp=factory.create(grammarAccess.getStyledTextAccess().getStyledTextAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getStyledTextAccess().getStyledTextAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,46,FOLLOW_46_in_ruleStyledText4393); 

                    createLeafNode(grammarAccess.getStyledTextAccess().getStyledtextKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2353:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt40=2;
            int LA40_0 = input.LA(1);

            if ( (LA40_0==RULE_ID) ) {
                alt40=1;
            }
            switch (alt40) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2354:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2354:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2355:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStyledText4410); 

                    			createLeafNode(grammarAccess.getStyledTextAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getStyledTextRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleStyledText4426); 

                    createLeafNode(grammarAccess.getStyledTextAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,30,FOLLOW_30_in_ruleStyledText4436); 

                    createLeafNode(grammarAccess.getStyledTextAccess().getTextKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2385:1: ( (lv_text_5_0= RULE_STRING ) )?
            int alt41=2;
            int LA41_0 = input.LA(1);

            if ( (LA41_0==RULE_STRING) ) {
                alt41=1;
            }
            switch (alt41) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2386:1: (lv_text_5_0= RULE_STRING )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2386:1: (lv_text_5_0= RULE_STRING )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2387:3: lv_text_5_0= RULE_STRING
                    {
                    lv_text_5_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStyledText4453); 

                    			createLeafNode(grammarAccess.getStyledTextAccess().getTextSTRINGTerminalRuleCall_5_0(), "text"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getStyledTextRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"text",
                    	        		lv_text_5_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleStyledText4469); 

                    createLeafNode(grammarAccess.getStyledTextAccess().getRightCurlyBracketKeyword_6(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleStyledText


    // $ANTLR start entryRuleText
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2421:1: entryRuleText returns [EObject current=null] : iv_ruleText= ruleText EOF ;
    public final EObject entryRuleText() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleText = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2422:2: (iv_ruleText= ruleText EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2423:2: iv_ruleText= ruleText EOF
            {
             currentNode = createCompositeNode(grammarAccess.getTextRule(), currentNode); 
            pushFollow(FOLLOW_ruleText_in_entryRuleText4505);
            iv_ruleText=ruleText();
            _fsp--;

             current =iv_ruleText; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleText4515); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleText


    // $ANTLR start ruleText
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2430:1: ruleText returns [EObject current=null] : ( () 'textfield' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' ) ;
    public final EObject ruleText() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        Token lv_text_5_0=null;
        EObject lv_size_7_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2435:6: ( ( () 'textfield' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2436:1: ( () 'textfield' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2436:1: ( () 'textfield' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2436:2: () 'textfield' ( (lv_name_2_0= RULE_ID ) )? '{' 'text' ( (lv_text_5_0= RULE_STRING ) )? ( 'size' ( (lv_size_7_0= ruleSize ) ) )? '}'
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2436:2: ()
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2437:5: 
            {
             
                    temp=factory.create(grammarAccess.getTextAccess().getTextAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getTextAccess().getTextAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,47,FOLLOW_47_in_ruleText4559); 

                    createLeafNode(grammarAccess.getTextAccess().getTextfieldKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2451:1: ( (lv_name_2_0= RULE_ID ) )?
            int alt42=2;
            int LA42_0 = input.LA(1);

            if ( (LA42_0==RULE_ID) ) {
                alt42=1;
            }
            switch (alt42) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2452:1: (lv_name_2_0= RULE_ID )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2452:1: (lv_name_2_0= RULE_ID )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2453:3: lv_name_2_0= RULE_ID
                    {
                    lv_name_2_0=(Token)input.LT(1);
                    match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleText4576); 

                    			createLeafNode(grammarAccess.getTextAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getTextRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"name",
                    	        		lv_name_2_0, 
                    	        		"ID", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            match(input,12,FOLLOW_12_in_ruleText4592); 

                    createLeafNode(grammarAccess.getTextAccess().getLeftCurlyBracketKeyword_3(), null); 
                
            match(input,30,FOLLOW_30_in_ruleText4602); 

                    createLeafNode(grammarAccess.getTextAccess().getTextKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2483:1: ( (lv_text_5_0= RULE_STRING ) )?
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( (LA43_0==RULE_STRING) ) {
                alt43=1;
            }
            switch (alt43) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2484:1: (lv_text_5_0= RULE_STRING )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2484:1: (lv_text_5_0= RULE_STRING )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2485:3: lv_text_5_0= RULE_STRING
                    {
                    lv_text_5_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleText4619); 

                    			createLeafNode(grammarAccess.getTextAccess().getTextSTRINGTerminalRuleCall_5_0(), "text"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getTextRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"text",
                    	        		lv_text_5_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2507:3: ( 'size' ( (lv_size_7_0= ruleSize ) ) )?
            int alt44=2;
            int LA44_0 = input.LA(1);

            if ( (LA44_0==32) ) {
                alt44=1;
            }
            switch (alt44) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2507:5: 'size' ( (lv_size_7_0= ruleSize ) )
                    {
                    match(input,32,FOLLOW_32_in_ruleText4636); 

                            createLeafNode(grammarAccess.getTextAccess().getSizeKeyword_6_0(), null); 
                        
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2511:1: ( (lv_size_7_0= ruleSize ) )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2512:1: (lv_size_7_0= ruleSize )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2512:1: (lv_size_7_0= ruleSize )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2513:3: lv_size_7_0= ruleSize
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getTextAccess().getSizeSizeParserRuleCall_6_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleSize_in_ruleText4657);
                    lv_size_7_0=ruleSize();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getTextRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"size",
                    	        		lv_size_7_0, 
                    	        		"Size", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            match(input,14,FOLLOW_14_in_ruleText4669); 

                    createLeafNode(grammarAccess.getTextAccess().getRightCurlyBracketKeyword_7(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleText


    // $ANTLR start entryRuleSize
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2547:1: entryRuleSize returns [EObject current=null] : iv_ruleSize= ruleSize EOF ;
    public final EObject entryRuleSize() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSize = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2548:2: (iv_ruleSize= ruleSize EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2549:2: iv_ruleSize= ruleSize EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSizeRule(), currentNode); 
            pushFollow(FOLLOW_ruleSize_in_entryRuleSize4705);
            iv_ruleSize=ruleSize();
            _fsp--;

             current =iv_ruleSize; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSize4715); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSize


    // $ANTLR start ruleSize
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2556:1: ruleSize returns [EObject current=null] : ( ( (lv_x_0_0= RULE_INT ) ) ',' ( (lv_y_2_0= RULE_INT ) ) ) ;
    public final EObject ruleSize() throws RecognitionException {
        EObject current = null;

        Token lv_x_0_0=null;
        Token lv_y_2_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2561:6: ( ( ( (lv_x_0_0= RULE_INT ) ) ',' ( (lv_y_2_0= RULE_INT ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2562:1: ( ( (lv_x_0_0= RULE_INT ) ) ',' ( (lv_y_2_0= RULE_INT ) ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2562:1: ( ( (lv_x_0_0= RULE_INT ) ) ',' ( (lv_y_2_0= RULE_INT ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2562:2: ( (lv_x_0_0= RULE_INT ) ) ',' ( (lv_y_2_0= RULE_INT ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2562:2: ( (lv_x_0_0= RULE_INT ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2563:1: (lv_x_0_0= RULE_INT )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2563:1: (lv_x_0_0= RULE_INT )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2564:3: lv_x_0_0= RULE_INT
            {
            lv_x_0_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSize4757); 

            			createLeafNode(grammarAccess.getSizeAccess().getXINTTerminalRuleCall_0_0(), "x"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSizeRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"x",
            	        		lv_x_0_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,48,FOLLOW_48_in_ruleSize4772); 

                    createLeafNode(grammarAccess.getSizeAccess().getCommaKeyword_1(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2590:1: ( (lv_y_2_0= RULE_INT ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2591:1: (lv_y_2_0= RULE_INT )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2591:1: (lv_y_2_0= RULE_INT )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2592:3: lv_y_2_0= RULE_INT
            {
            lv_y_2_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSize4789); 

            			createLeafNode(grammarAccess.getSizeAccess().getYINTTerminalRuleCall_2_0(), "y"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSizeRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"y",
            	        		lv_y_2_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSize


    // $ANTLR start entryRuleCommand
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2622:1: entryRuleCommand returns [EObject current=null] : iv_ruleCommand= ruleCommand EOF ;
    public final EObject entryRuleCommand() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCommand = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2623:2: (iv_ruleCommand= ruleCommand EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2624:2: iv_ruleCommand= ruleCommand EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCommandRule(), currentNode); 
            pushFollow(FOLLOW_ruleCommand_in_entryRuleCommand4830);
            iv_ruleCommand=ruleCommand();
            _fsp--;

             current =iv_ruleCommand; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCommand4840); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCommand


    // $ANTLR start ruleCommand
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2631:1: ruleCommand returns [EObject current=null] : ( 'command' ( (lv_name_1_0= RULE_ID ) ) ) ;
    public final EObject ruleCommand() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2636:6: ( ( 'command' ( (lv_name_1_0= RULE_ID ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2637:1: ( 'command' ( (lv_name_1_0= RULE_ID ) ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2637:1: ( 'command' ( (lv_name_1_0= RULE_ID ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2637:3: 'command' ( (lv_name_1_0= RULE_ID ) )
            {
            match(input,49,FOLLOW_49_in_ruleCommand4875); 

                    createLeafNode(grammarAccess.getCommandAccess().getCommandKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2641:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2642:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2642:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2643:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleCommand4892); 

            			createLeafNode(grammarAccess.getCommandAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getCommandRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCommand


    // $ANTLR start entryRuleBinding
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2673:1: entryRuleBinding returns [EObject current=null] : iv_ruleBinding= ruleBinding EOF ;
    public final EObject entryRuleBinding() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleBinding = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2674:2: (iv_ruleBinding= ruleBinding EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2675:2: iv_ruleBinding= ruleBinding EOF
            {
             currentNode = createCompositeNode(grammarAccess.getBindingRule(), currentNode); 
            pushFollow(FOLLOW_ruleBinding_in_entryRuleBinding4933);
            iv_ruleBinding=ruleBinding();
            _fsp--;

             current =iv_ruleBinding; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBinding4943); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleBinding


    // $ANTLR start ruleBinding
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2682:1: ruleBinding returns [EObject current=null] : ( 'bind' ( ( RULE_ID ) ) 'key' ( (lv_key_3_0= RULE_STRING ) ) ) ;
    public final EObject ruleBinding() throws RecognitionException {
        EObject current = null;

        Token lv_key_3_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2687:6: ( ( 'bind' ( ( RULE_ID ) ) 'key' ( (lv_key_3_0= RULE_STRING ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2688:1: ( 'bind' ( ( RULE_ID ) ) 'key' ( (lv_key_3_0= RULE_STRING ) ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2688:1: ( 'bind' ( ( RULE_ID ) ) 'key' ( (lv_key_3_0= RULE_STRING ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2688:3: 'bind' ( ( RULE_ID ) ) 'key' ( (lv_key_3_0= RULE_STRING ) )
            {
            match(input,50,FOLLOW_50_in_ruleBinding4978); 

                    createLeafNode(grammarAccess.getBindingAccess().getBindKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2692:1: ( ( RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2693:1: ( RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2693:1: ( RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2694:3: RULE_ID
            {

            			if (current==null) {
            	            current = factory.create(grammarAccess.getBindingRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
                    
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleBinding4996); 

            		createLeafNode(grammarAccess.getBindingAccess().getCommandCommandCrossReference_1_0(), "command"); 
            	

            }


            }

            match(input,51,FOLLOW_51_in_ruleBinding5006); 

                    createLeafNode(grammarAccess.getBindingAccess().getKeyKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2710:1: ( (lv_key_3_0= RULE_STRING ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2711:1: (lv_key_3_0= RULE_STRING )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2711:1: (lv_key_3_0= RULE_STRING )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2712:3: lv_key_3_0= RULE_STRING
            {
            lv_key_3_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleBinding5023); 

            			createLeafNode(grammarAccess.getBindingAccess().getKeySTRINGTerminalRuleCall_3_0(), "key"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getBindingRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"key",
            	        		lv_key_3_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleBinding


    // $ANTLR start entryRuleAbsMenu
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2742:1: entryRuleAbsMenu returns [EObject current=null] : iv_ruleAbsMenu= ruleAbsMenu EOF ;
    public final EObject entryRuleAbsMenu() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleAbsMenu = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2743:2: (iv_ruleAbsMenu= ruleAbsMenu EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2744:2: iv_ruleAbsMenu= ruleAbsMenu EOF
            {
             currentNode = createCompositeNode(grammarAccess.getAbsMenuRule(), currentNode); 
            pushFollow(FOLLOW_ruleAbsMenu_in_entryRuleAbsMenu5064);
            iv_ruleAbsMenu=ruleAbsMenu();
            _fsp--;

             current =iv_ruleAbsMenu; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAbsMenu5074); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleAbsMenu


    // $ANTLR start ruleAbsMenu
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2751:1: ruleAbsMenu returns [EObject current=null] : (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem ) ;
    public final EObject ruleAbsMenu() throws RecognitionException {
        EObject current = null;

        EObject this_Menu_0 = null;

        EObject this_HandledMenuItem_1 = null;

        EObject this_DirectMenuItem_2 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2756:6: ( (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2757:1: (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2757:1: (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem )
            int alt45=3;
            int LA45_0 = input.LA(1);

            if ( (LA45_0==52) ) {
                alt45=1;
            }
            else if ( (LA45_0==53) ) {
                int LA45_2 = input.LA(2);

                if ( (LA45_2==RULE_ID) ) {
                    int LA45_3 = input.LA(3);

                    if ( (LA45_3==55) ) {
                        alt45=3;
                    }
                    else if ( (LA45_3==49) ) {
                        alt45=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("2757:1: (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem )", 45, 3, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("2757:1: (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem )", 45, 2, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("2757:1: (this_Menu_0= ruleMenu | this_HandledMenuItem_1= ruleHandledMenuItem | this_DirectMenuItem_2= ruleDirectMenuItem )", 45, 0, input);

                throw nvae;
            }
            switch (alt45) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2758:5: this_Menu_0= ruleMenu
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsMenuAccess().getMenuParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleMenu_in_ruleAbsMenu5121);
                    this_Menu_0=ruleMenu();
                    _fsp--;

                     
                            current = this_Menu_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2768:5: this_HandledMenuItem_1= ruleHandledMenuItem
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsMenuAccess().getHandledMenuItemParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleHandledMenuItem_in_ruleAbsMenu5148);
                    this_HandledMenuItem_1=ruleHandledMenuItem();
                    _fsp--;

                     
                            current = this_HandledMenuItem_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 3 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2778:5: this_DirectMenuItem_2= ruleDirectMenuItem
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAbsMenuAccess().getDirectMenuItemParserRuleCall_2(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleDirectMenuItem_in_ruleAbsMenu5175);
                    this_DirectMenuItem_2=ruleDirectMenuItem();
                    _fsp--;

                     
                            current = this_DirectMenuItem_2; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleAbsMenu


    // $ANTLR start entryRuleMenu
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2794:1: entryRuleMenu returns [EObject current=null] : iv_ruleMenu= ruleMenu EOF ;
    public final EObject entryRuleMenu() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMenu = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2795:2: (iv_ruleMenu= ruleMenu EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2796:2: iv_ruleMenu= ruleMenu EOF
            {
             currentNode = createCompositeNode(grammarAccess.getMenuRule(), currentNode); 
            pushFollow(FOLLOW_ruleMenu_in_entryRuleMenu5210);
            iv_ruleMenu=ruleMenu();
            _fsp--;

             current =iv_ruleMenu; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMenu5220); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleMenu


    // $ANTLR start ruleMenu
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2803:1: ruleMenu returns [EObject current=null] : ( 'menu' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_items_3_0= ruleAbsMenu ) )* '}' ) ;
    public final EObject ruleMenu() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_items_3_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2808:6: ( ( 'menu' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_items_3_0= ruleAbsMenu ) )* '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2809:1: ( 'menu' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_items_3_0= ruleAbsMenu ) )* '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2809:1: ( 'menu' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_items_3_0= ruleAbsMenu ) )* '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2809:3: 'menu' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_items_3_0= ruleAbsMenu ) )* '}'
            {
            match(input,52,FOLLOW_52_in_ruleMenu5255); 

                    createLeafNode(grammarAccess.getMenuAccess().getMenuKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2813:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2814:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2814:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2815:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMenu5272); 

            			createLeafNode(grammarAccess.getMenuAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getMenuRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_ruleMenu5287); 

                    createLeafNode(grammarAccess.getMenuAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2841:1: ( (lv_items_3_0= ruleAbsMenu ) )*
            loop46:
            do {
                int alt46=2;
                int LA46_0 = input.LA(1);

                if ( ((LA46_0>=52 && LA46_0<=53)) ) {
                    alt46=1;
                }


                switch (alt46) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2842:1: (lv_items_3_0= ruleAbsMenu )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2842:1: (lv_items_3_0= ruleAbsMenu )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2843:3: lv_items_3_0= ruleAbsMenu
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getMenuAccess().getItemsAbsMenuParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleAbsMenu_in_ruleMenu5308);
            	    lv_items_3_0=ruleAbsMenu();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getMenuRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"items",
            	    	        		lv_items_3_0, 
            	    	        		"AbsMenu", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop46;
                }
            } while (true);

            match(input,14,FOLLOW_14_in_ruleMenu5319); 

                    createLeafNode(grammarAccess.getMenuAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleMenu


    // $ANTLR start entryRuleHandledMenuItem
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2877:1: entryRuleHandledMenuItem returns [EObject current=null] : iv_ruleHandledMenuItem= ruleHandledMenuItem EOF ;
    public final EObject entryRuleHandledMenuItem() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleHandledMenuItem = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2878:2: (iv_ruleHandledMenuItem= ruleHandledMenuItem EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2879:2: iv_ruleHandledMenuItem= ruleHandledMenuItem EOF
            {
             currentNode = createCompositeNode(grammarAccess.getHandledMenuItemRule(), currentNode); 
            pushFollow(FOLLOW_ruleHandledMenuItem_in_entryRuleHandledMenuItem5355);
            iv_ruleHandledMenuItem=ruleHandledMenuItem();
            _fsp--;

             current =iv_ruleHandledMenuItem; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHandledMenuItem5365); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleHandledMenuItem


    // $ANTLR start ruleHandledMenuItem
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2886:1: ruleHandledMenuItem returns [EObject current=null] : ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ) ;
    public final EObject ruleHandledMenuItem() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        Token lv_icon_5_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2891:6: ( ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2892:1: ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2892:1: ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2892:3: 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) )
            {
            match(input,53,FOLLOW_53_in_ruleHandledMenuItem5400); 

                    createLeafNode(grammarAccess.getHandledMenuItemAccess().getItemKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2896:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2897:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2897:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2898:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleHandledMenuItem5417); 

            			createLeafNode(grammarAccess.getHandledMenuItemAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getHandledMenuItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,49,FOLLOW_49_in_ruleHandledMenuItem5432); 

                    createLeafNode(grammarAccess.getHandledMenuItemAccess().getCommandKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2924:1: ( ( RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2925:1: ( RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2925:1: ( RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2926:3: RULE_ID
            {

            			if (current==null) {
            	            current = factory.create(grammarAccess.getHandledMenuItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
                    
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleHandledMenuItem5450); 

            		createLeafNode(grammarAccess.getHandledMenuItemAccess().getCommandCommandCrossReference_3_0(), "command"); 
            	

            }


            }

            match(input,54,FOLLOW_54_in_ruleHandledMenuItem5460); 

                    createLeafNode(grammarAccess.getHandledMenuItemAccess().getIconfileKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2942:1: ( (lv_icon_5_0= RULE_STRING ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2943:1: (lv_icon_5_0= RULE_STRING )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2943:1: (lv_icon_5_0= RULE_STRING )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2944:3: lv_icon_5_0= RULE_STRING
            {
            lv_icon_5_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleHandledMenuItem5477); 

            			createLeafNode(grammarAccess.getHandledMenuItemAccess().getIconSTRINGTerminalRuleCall_5_0(), "icon"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getHandledMenuItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"icon",
            	        		lv_icon_5_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleHandledMenuItem


    // $ANTLR start entryRuleDirectMenuItem
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2974:1: entryRuleDirectMenuItem returns [EObject current=null] : iv_ruleDirectMenuItem= ruleDirectMenuItem EOF ;
    public final EObject entryRuleDirectMenuItem() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleDirectMenuItem = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2975:2: (iv_ruleDirectMenuItem= ruleDirectMenuItem EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2976:2: iv_ruleDirectMenuItem= ruleDirectMenuItem EOF
            {
             currentNode = createCompositeNode(grammarAccess.getDirectMenuItemRule(), currentNode); 
            pushFollow(FOLLOW_ruleDirectMenuItem_in_entryRuleDirectMenuItem5518);
            iv_ruleDirectMenuItem=ruleDirectMenuItem();
            _fsp--;

             current =iv_ruleDirectMenuItem; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDirectMenuItem5528); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleDirectMenuItem


    // $ANTLR start ruleDirectMenuItem
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2983:1: ruleDirectMenuItem returns [EObject current=null] : ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'class' ( (lv_class_3_0= RULE_STRING ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ) ;
    public final EObject ruleDirectMenuItem() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        Token lv_class_3_0=null;
        Token lv_icon_5_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2988:6: ( ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'class' ( (lv_class_3_0= RULE_STRING ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2989:1: ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'class' ( (lv_class_3_0= RULE_STRING ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2989:1: ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'class' ( (lv_class_3_0= RULE_STRING ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2989:3: 'item' ( (lv_name_1_0= RULE_ID ) ) 'class' ( (lv_class_3_0= RULE_STRING ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) )
            {
            match(input,53,FOLLOW_53_in_ruleDirectMenuItem5563); 

                    createLeafNode(grammarAccess.getDirectMenuItemAccess().getItemKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2993:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2994:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2994:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:2995:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDirectMenuItem5580); 

            			createLeafNode(grammarAccess.getDirectMenuItemAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getDirectMenuItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,55,FOLLOW_55_in_ruleDirectMenuItem5595); 

                    createLeafNode(grammarAccess.getDirectMenuItemAccess().getClassKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3021:1: ( (lv_class_3_0= RULE_STRING ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3022:1: (lv_class_3_0= RULE_STRING )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3022:1: (lv_class_3_0= RULE_STRING )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3023:3: lv_class_3_0= RULE_STRING
            {
            lv_class_3_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDirectMenuItem5612); 

            			createLeafNode(grammarAccess.getDirectMenuItemAccess().getClassSTRINGTerminalRuleCall_3_0(), "class"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getDirectMenuItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"class",
            	        		lv_class_3_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,54,FOLLOW_54_in_ruleDirectMenuItem5627); 

                    createLeafNode(grammarAccess.getDirectMenuItemAccess().getIconfileKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3049:1: ( (lv_icon_5_0= RULE_STRING ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3050:1: (lv_icon_5_0= RULE_STRING )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3050:1: (lv_icon_5_0= RULE_STRING )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3051:3: lv_icon_5_0= RULE_STRING
            {
            lv_icon_5_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDirectMenuItem5644); 

            			createLeafNode(grammarAccess.getDirectMenuItemAccess().getIconSTRINGTerminalRuleCall_5_0(), "icon"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getDirectMenuItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"icon",
            	        		lv_icon_5_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleDirectMenuItem


    // $ANTLR start entryRuleToolBar
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3083:1: entryRuleToolBar returns [EObject current=null] : iv_ruleToolBar= ruleToolBar EOF ;
    public final EObject entryRuleToolBar() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleToolBar = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3084:2: (iv_ruleToolBar= ruleToolBar EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3085:2: iv_ruleToolBar= ruleToolBar EOF
            {
             currentNode = createCompositeNode(grammarAccess.getToolBarRule(), currentNode); 
            pushFollow(FOLLOW_ruleToolBar_in_entryRuleToolBar5687);
            iv_ruleToolBar=ruleToolBar();
            _fsp--;

             current =iv_ruleToolBar; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleToolBar5697); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleToolBar


    // $ANTLR start ruleToolBar
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3092:1: ruleToolBar returns [EObject current=null] : ( 'toolbar' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_item_3_0= ruleToolItem ) )* '}' ) ;
    public final EObject ruleToolBar() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        EObject lv_item_3_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3097:6: ( ( 'toolbar' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_item_3_0= ruleToolItem ) )* '}' ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3098:1: ( 'toolbar' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_item_3_0= ruleToolItem ) )* '}' )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3098:1: ( 'toolbar' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_item_3_0= ruleToolItem ) )* '}' )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3098:3: 'toolbar' ( (lv_name_1_0= RULE_ID ) ) '{' ( (lv_item_3_0= ruleToolItem ) )* '}'
            {
            match(input,56,FOLLOW_56_in_ruleToolBar5732); 

                    createLeafNode(grammarAccess.getToolBarAccess().getToolbarKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3102:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3103:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3103:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3104:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleToolBar5749); 

            			createLeafNode(grammarAccess.getToolBarAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getToolBarRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,12,FOLLOW_12_in_ruleToolBar5764); 

                    createLeafNode(grammarAccess.getToolBarAccess().getLeftCurlyBracketKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3130:1: ( (lv_item_3_0= ruleToolItem ) )*
            loop47:
            do {
                int alt47=2;
                int LA47_0 = input.LA(1);

                if ( (LA47_0==53) ) {
                    alt47=1;
                }


                switch (alt47) {
            	case 1 :
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3131:1: (lv_item_3_0= ruleToolItem )
            	    {
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3131:1: (lv_item_3_0= ruleToolItem )
            	    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3132:3: lv_item_3_0= ruleToolItem
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getToolBarAccess().getItemToolItemParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleToolItem_in_ruleToolBar5785);
            	    lv_item_3_0=ruleToolItem();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getToolBarRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"item",
            	    	        		lv_item_3_0, 
            	    	        		"ToolItem", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop47;
                }
            } while (true);

            match(input,14,FOLLOW_14_in_ruleToolBar5796); 

                    createLeafNode(grammarAccess.getToolBarAccess().getRightCurlyBracketKeyword_4(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleToolBar


    // $ANTLR start entryRuleToolItem
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3166:1: entryRuleToolItem returns [EObject current=null] : iv_ruleToolItem= ruleToolItem EOF ;
    public final EObject entryRuleToolItem() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleToolItem = null;


        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3167:2: (iv_ruleToolItem= ruleToolItem EOF )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3168:2: iv_ruleToolItem= ruleToolItem EOF
            {
             currentNode = createCompositeNode(grammarAccess.getToolItemRule(), currentNode); 
            pushFollow(FOLLOW_ruleToolItem_in_entryRuleToolItem5832);
            iv_ruleToolItem=ruleToolItem();
            _fsp--;

             current =iv_ruleToolItem; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleToolItem5842); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleToolItem


    // $ANTLR start ruleToolItem
    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3175:1: ruleToolItem returns [EObject current=null] : ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ( ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) ) )? ) ;
    public final EObject ruleToolItem() throws RecognitionException {
        EObject current = null;

        Token lv_name_1_0=null;
        Token lv_icon_5_0=null;
        Token lv_enable_6_1=null;
        Token lv_enable_6_2=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3180:6: ( ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ( ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) ) )? ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3181:1: ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ( ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) ) )? )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3181:1: ( 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ( ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) ) )? )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3181:3: 'item' ( (lv_name_1_0= RULE_ID ) ) 'command' ( ( RULE_ID ) ) 'iconfile' ( (lv_icon_5_0= RULE_STRING ) ) ( ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) ) )?
            {
            match(input,53,FOLLOW_53_in_ruleToolItem5877); 

                    createLeafNode(grammarAccess.getToolItemAccess().getItemKeyword_0(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3185:1: ( (lv_name_1_0= RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3186:1: (lv_name_1_0= RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3186:1: (lv_name_1_0= RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3187:3: lv_name_1_0= RULE_ID
            {
            lv_name_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleToolItem5894); 

            			createLeafNode(grammarAccess.getToolItemAccess().getNameIDTerminalRuleCall_1_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getToolItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            match(input,49,FOLLOW_49_in_ruleToolItem5909); 

                    createLeafNode(grammarAccess.getToolItemAccess().getCommandKeyword_2(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3213:1: ( ( RULE_ID ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3214:1: ( RULE_ID )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3214:1: ( RULE_ID )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3215:3: RULE_ID
            {

            			if (current==null) {
            	            current = factory.create(grammarAccess.getToolItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
                    
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleToolItem5927); 

            		createLeafNode(grammarAccess.getToolItemAccess().getCommandCommandCrossReference_3_0(), "command"); 
            	

            }


            }

            match(input,54,FOLLOW_54_in_ruleToolItem5937); 

                    createLeafNode(grammarAccess.getToolItemAccess().getIconfileKeyword_4(), null); 
                
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3231:1: ( (lv_icon_5_0= RULE_STRING ) )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3232:1: (lv_icon_5_0= RULE_STRING )
            {
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3232:1: (lv_icon_5_0= RULE_STRING )
            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3233:3: lv_icon_5_0= RULE_STRING
            {
            lv_icon_5_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleToolItem5954); 

            			createLeafNode(grammarAccess.getToolItemAccess().getIconSTRINGTerminalRuleCall_5_0(), "icon"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getToolItemRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"icon",
            	        		lv_icon_5_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3255:2: ( ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) ) )?
            int alt49=2;
            int LA49_0 = input.LA(1);

            if ( ((LA49_0>=57 && LA49_0<=58)) ) {
                alt49=1;
            }
            switch (alt49) {
                case 1 :
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3256:1: ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3256:1: ( (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' ) )
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3257:1: (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' )
                    {
                    // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3257:1: (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' )
                    int alt48=2;
                    int LA48_0 = input.LA(1);

                    if ( (LA48_0==57) ) {
                        alt48=1;
                    }
                    else if ( (LA48_0==58) ) {
                        alt48=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("3257:1: (lv_enable_6_1= 'enable' | lv_enable_6_2= 'disable' )", 48, 0, input);

                        throw nvae;
                    }
                    switch (alt48) {
                        case 1 :
                            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3258:3: lv_enable_6_1= 'enable'
                            {
                            lv_enable_6_1=(Token)input.LT(1);
                            match(input,57,FOLLOW_57_in_ruleToolItem5979); 

                                    createLeafNode(grammarAccess.getToolItemAccess().getEnableEnableKeyword_6_0_0(), "enable"); 
                                

                            	        if (current==null) {
                            	            current = factory.create(grammarAccess.getToolItemRule().getType().getClassifier());
                            	            associateNodeWithAstElement(currentNode, current);
                            	        }
                            	        
                            	        try {
                            	       		set(current, "enable", lv_enable_6_1, null, lastConsumedNode);
                            	        } catch (ValueConverterException vce) {
                            				handleValueConverterException(vce);
                            	        }
                            	    

                            }
                            break;
                        case 2 :
                            // ../jp.ac.jaist.kslab.e4.dsl.e4dsl/src-gen/jp/ac/jaist/kslab/e4/dsl/parser/antlr/internal/InternalE4Dsl.g:3276:8: lv_enable_6_2= 'disable'
                            {
                            lv_enable_6_2=(Token)input.LT(1);
                            match(input,58,FOLLOW_58_in_ruleToolItem6008); 

                                    createLeafNode(grammarAccess.getToolItemAccess().getEnableDisableKeyword_6_0_1(), "enable"); 
                                

                            	        if (current==null) {
                            	            current = factory.create(grammarAccess.getToolItemRule().getType().getClassifier());
                            	            associateNodeWithAstElement(currentNode, current);
                            	        }
                            	        
                            	        try {
                            	       		set(current, "enable", lv_enable_6_2, null, lastConsumedNode);
                            	        } catch (ValueConverterException vce) {
                            				handleValueConverterException(vce);
                            	        }
                            	    

                            }
                            break;

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleToolItem


 

    public static final BitSet FOLLOW_ruleApplication_in_entryRuleApplication75 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleApplication85 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleApplication120 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleApplication137 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleApplication152 = new BitSet(new long[]{0x000000000003E000L});
    public static final BitSet FOLLOW_ruleAbsWindow_in_ruleApplication173 = new BitSet(new long[]{0x000000000003E000L});
    public static final BitSet FOLLOW_13_in_ruleApplication185 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleApplication195 = new BitSet(new long[]{0x0002000000004000L});
    public static final BitSet FOLLOW_ruleCommand_in_ruleApplication216 = new BitSet(new long[]{0x0002000000004000L});
    public static final BitSet FOLLOW_14_in_ruleApplication227 = new BitSet(new long[]{0x000000000000C000L});
    public static final BitSet FOLLOW_15_in_ruleApplication240 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleApplication250 = new BitSet(new long[]{0x0004000000004000L});
    public static final BitSet FOLLOW_ruleBinding_in_ruleApplication271 = new BitSet(new long[]{0x0004000000004000L});
    public static final BitSet FOLLOW_14_in_ruleApplication282 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleApplication294 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbsWindow_in_entryRuleAbsWindow330 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbsWindow340 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWindow_in_ruleAbsWindow387 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrimmedWindow_in_ruleAbsWindow414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWindow_in_entryRuleWindow449 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWindow459 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_ruleWindow494 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleWindow511 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleWindow526 = new BitSet(new long[]{0x0000000000104000L});
    public static final BitSet FOLLOW_rulePart_in_ruleWindow547 = new BitSet(new long[]{0x0000000000104000L});
    public static final BitSet FOLLOW_14_in_ruleWindow558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrimmedWindow_in_entryRuleTrimmedWindow594 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTrimmedWindow604 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_ruleTrimmedWindow639 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleTrimmedWindow656 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleTrimmedWindow671 = new BitSet(new long[]{0x00000000003C4000L});
    public static final BitSet FOLLOW_ruleAbsPart_in_ruleTrimmedWindow692 = new BitSet(new long[]{0x00000000003C4000L});
    public static final BitSet FOLLOW_18_in_ruleTrimmedWindow704 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleTrimmedWindow714 = new BitSet(new long[]{0x0030000000004000L});
    public static final BitSet FOLLOW_ruleAbsMenu_in_ruleTrimmedWindow735 = new BitSet(new long[]{0x0030000000004000L});
    public static final BitSet FOLLOW_14_in_ruleTrimmedWindow746 = new BitSet(new long[]{0x0000000000084000L});
    public static final BitSet FOLLOW_19_in_ruleTrimmedWindow759 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleTrimmedWindow769 = new BitSet(new long[]{0x0100000000004000L});
    public static final BitSet FOLLOW_ruleToolBar_in_ruleTrimmedWindow790 = new BitSet(new long[]{0x0100000000004000L});
    public static final BitSet FOLLOW_14_in_ruleTrimmedWindow801 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleTrimmedWindow813 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbsPart_in_entryRuleAbsPart849 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbsPart859 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePart_in_ruleAbsPart906 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleXWTPart_in_ruleAbsPart933 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePart_in_entryRulePart968 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePart978 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rulePart1013 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_rulePart1030 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_rulePart1045 = new BitSet(new long[]{0x0000FFFEA0404000L});
    public static final BitSet FOLLOW_ruleLayout_in_rulePart1066 = new BitSet(new long[]{0x0000FFFEA0004000L});
    public static final BitSet FOLLOW_ruleControls_in_rulePart1088 = new BitSet(new long[]{0x0000FFFEA0004000L});
    public static final BitSet FOLLOW_14_in_rulePart1099 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleXWTPart_in_entryRuleXWTPart1135 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleXWTPart1145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_ruleXWTPart1180 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleXWTPart1197 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleXWTPart1212 = new BitSet(new long[]{0x0000FFFEA0404000L});
    public static final BitSet FOLLOW_ruleLayout_in_ruleXWTPart1233 = new BitSet(new long[]{0x0000FFFEA0004000L});
    public static final BitSet FOLLOW_ruleAbsControls_in_ruleXWTPart1255 = new BitSet(new long[]{0x0000FFFEA0004000L});
    public static final BitSet FOLLOW_14_in_ruleXWTPart1266 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLayout_in_entryRuleLayout1302 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLayout1312 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_ruleLayout1347 = new BitSet(new long[]{0x000000001F800000L});
    public static final BitSet FOLLOW_23_in_ruleLayout1367 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_ruleLayout1396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_ruleLayout1425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_ruleLayout1454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_ruleLayout1483 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_ruleLayout1512 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbsControls_in_entryRuleAbsControls1564 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbsControls1574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleControls_in_ruleAbsControls1620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleControls_in_entryRuleControls1654 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleControls1664 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleButton_in_ruleControls1711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBrowser_in_ruleControls1738 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCCombo_in_ruleControls1765 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCLabel_in_ruleControls1792 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCombo_in_ruleControls1819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDateTime_in_ruleControls1846 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLabel_in_ruleControls1873 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLink_in_ruleControls1900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleList_in_ruleControls1927 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProgressBar_in_ruleControls1954 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSash_in_ruleControls1981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScale_in_ruleControls2008 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSlider_in_ruleControls2035 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSpinner_in_ruleControls2062 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSeparator_in_ruleControls2089 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStyledText_in_ruleControls2116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleText_in_ruleControls2143 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBrowser_in_entryRuleBrowser2178 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBrowser2188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_ruleBrowser2232 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleBrowser2249 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleBrowser2265 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_30_in_ruleBrowser2275 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleBrowser2292 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleBrowser2308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleButton_in_entryRuleButton2344 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleButton2354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_ruleButton2398 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleButton2415 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleButton2431 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_30_in_ruleButton2441 = new BitSet(new long[]{0x0000000100004020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleButton2458 = new BitSet(new long[]{0x0000000100004000L});
    public static final BitSet FOLLOW_32_in_ruleButton2475 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ruleSize_in_ruleButton2496 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleButton2508 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCCombo_in_entryRuleCCombo2544 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCCombo2554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_ruleCCombo2598 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleCCombo2615 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleCCombo2631 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleCCombo2641 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCLabel_in_entryRuleCLabel2677 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCLabel2687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_ruleCLabel2731 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleCLabel2748 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleCLabel2764 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_30_in_ruleCLabel2774 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleCLabel2791 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleCLabel2807 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCombo_in_entryRuleCombo2843 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCombo2853 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_ruleCombo2897 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleCombo2914 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleCombo2930 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleCombo2940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDateTime_in_entryRuleDateTime2976 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDateTime2986 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_ruleDateTime3030 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleDateTime3047 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleDateTime3063 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleDateTime3073 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLabel_in_entryRuleLabel3109 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLabel3119 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_ruleLabel3163 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleLabel3180 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleLabel3196 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_30_in_ruleLabel3206 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleLabel3223 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleLabel3239 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLink_in_entryRuleLink3275 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLink3285 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_ruleLink3329 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleLink3346 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleLink3362 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleLink3372 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleList_in_entryRuleList3408 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleList3418 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_ruleList3462 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleList3479 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleList3495 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleList3505 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleProgressBar_in_entryRuleProgressBar3541 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleProgressBar3551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_ruleProgressBar3595 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleProgressBar3612 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleProgressBar3628 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleProgressBar3638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSash_in_entryRuleSash3674 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSash3684 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_ruleSash3728 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleSash3745 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSash3761 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleSash3771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleScale_in_entryRuleScale3807 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleScale3817 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_ruleScale3861 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleScale3878 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleScale3894 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleScale3904 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSlider_in_entryRuleSlider3940 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSlider3950 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_ruleSlider3994 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleSlider4011 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSlider4027 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleSlider4037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSpinner_in_entryRuleSpinner4073 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSpinner4083 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_ruleSpinner4127 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleSpinner4144 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSpinner4160 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleSpinner4170 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSeparator_in_entryRuleSeparator4206 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSeparator4216 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_ruleSeparator4260 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleSeparator4277 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSeparator4293 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleSeparator4303 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStyledText_in_entryRuleStyledText4339 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStyledText4349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_46_in_ruleStyledText4393 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleStyledText4410 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleStyledText4426 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_30_in_ruleStyledText4436 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleStyledText4453 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleStyledText4469 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleText_in_entryRuleText4505 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleText4515 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_47_in_ruleText4559 = new BitSet(new long[]{0x0000000000001010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleText4576 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleText4592 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_30_in_ruleText4602 = new BitSet(new long[]{0x0000000100004020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleText4619 = new BitSet(new long[]{0x0000000100004000L});
    public static final BitSet FOLLOW_32_in_ruleText4636 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ruleSize_in_ruleText4657 = new BitSet(new long[]{0x0000000000004000L});
    public static final BitSet FOLLOW_14_in_ruleText4669 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSize_in_entryRuleSize4705 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSize4715 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleSize4757 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_48_in_ruleSize4772 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleSize4789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCommand_in_entryRuleCommand4830 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCommand4840 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_ruleCommand4875 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleCommand4892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBinding_in_entryRuleBinding4933 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBinding4943 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_ruleBinding4978 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleBinding4996 = new BitSet(new long[]{0x0008000000000000L});
    public static final BitSet FOLLOW_51_in_ruleBinding5006 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleBinding5023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAbsMenu_in_entryRuleAbsMenu5064 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAbsMenu5074 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMenu_in_ruleAbsMenu5121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHandledMenuItem_in_ruleAbsMenu5148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDirectMenuItem_in_ruleAbsMenu5175 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMenu_in_entryRuleMenu5210 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMenu5220 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_ruleMenu5255 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleMenu5272 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleMenu5287 = new BitSet(new long[]{0x0030000000004000L});
    public static final BitSet FOLLOW_ruleAbsMenu_in_ruleMenu5308 = new BitSet(new long[]{0x0030000000004000L});
    public static final BitSet FOLLOW_14_in_ruleMenu5319 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHandledMenuItem_in_entryRuleHandledMenuItem5355 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHandledMenuItem5365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_ruleHandledMenuItem5400 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleHandledMenuItem5417 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_49_in_ruleHandledMenuItem5432 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleHandledMenuItem5450 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_54_in_ruleHandledMenuItem5460 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleHandledMenuItem5477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDirectMenuItem_in_entryRuleDirectMenuItem5518 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDirectMenuItem5528 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_ruleDirectMenuItem5563 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleDirectMenuItem5580 = new BitSet(new long[]{0x0080000000000000L});
    public static final BitSet FOLLOW_55_in_ruleDirectMenuItem5595 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleDirectMenuItem5612 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_54_in_ruleDirectMenuItem5627 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleDirectMenuItem5644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleToolBar_in_entryRuleToolBar5687 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleToolBar5697 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_56_in_ruleToolBar5732 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleToolBar5749 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleToolBar5764 = new BitSet(new long[]{0x0020000000004000L});
    public static final BitSet FOLLOW_ruleToolItem_in_ruleToolBar5785 = new BitSet(new long[]{0x0020000000004000L});
    public static final BitSet FOLLOW_14_in_ruleToolBar5796 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleToolItem_in_entryRuleToolItem5832 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleToolItem5842 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_ruleToolItem5877 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleToolItem5894 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_49_in_ruleToolItem5909 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleToolItem5927 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_54_in_ruleToolItem5937 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleToolItem5954 = new BitSet(new long[]{0x0600000000000002L});
    public static final BitSet FOLLOW_57_in_ruleToolItem5979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_ruleToolItem6008 = new BitSet(new long[]{0x0000000000000002L});

}