public Symbolic_string_hContext symbolic_string_h() {
		Symbolic_string_hContext _localctx = new Symbolic_string_hContext(Context, State);
		EnterRule(_localctx, 10, RULE_symbolic_string_h);
		try {
			State = 112;
			switch ( Interpreter.AdaptivePredict(TokenStream,4,Context) ) {
			case 1:
				EnterOuterAlt(_localctx, 1);
				{
				State = 68; _localctx.w = word();
				 _localctx.value =  _localctx.w.value; 
				}
				break;
			case 2:
				EnterOuterAlt(_localctx, 2);
				{
				State = 71; _localctx.w = word();
				State = 72; _localctx.ss = symbolic_string_h();
				 _localctx.value =  PumpingLemma.ParserUtils.join(_localctx.w.value, _localctx.ss.value); 
				}
				break;
			case 3:
				EnterOuterAlt(_localctx, 3);
				{
				State = 75; _localctx.w = word();
				State = 76; Match(REPEAT);
				State = 77; _localctx.i = integer();
				 _localctx.value =  PumpingLemma.ParserUtils.repeatLast(_localctx.w.value, _localctx.i.value); 
				}
				break;
			case 4:
				EnterOuterAlt(_localctx, 4);
				{
				State = 80; _localctx.w = word();
				State = 81; Match(REPEAT);
				State = 82; _localctx.i = integer();
				State = 83; _localctx.ss = symbolic_string_h();

							_localctx.value =  PumpingLemma.ParserUtils.join(
								PumpingLemma.ParserUtils.repeatLast(_localctx.w.value, _localctx.i.value),
								_localctx.ss.value);
						
				}
				break;
			case 5:
				EnterOuterAlt(_localctx, 5);
				{
				State = 86; Match(LPAREN);
				State = 87; _localctx.ss = symbolic_string_h();
				State = 88; Match(RPAREN);
				 _localctx.value =  _localctx.ss.value; 
				}
				break;
			case 6:
				EnterOuterAlt(_localctx, 6);
				{
				State = 91; Match(LPAREN);
				State = 92; _localctx.ss = symbolic_string_h();
				State = 93; Match(RPAREN);
				State = 94; _localctx.ssp = symbolic_string_h();

							_localctx.value =  PumpingLemma.ParserUtils.join(_localctx.ss.value, _localctx.ssp.value);
						
				}
				break;
			case 7:
				EnterOuterAlt(_localctx, 7);
				{
				State = 97; Match(LPAREN);
				State = 98; _localctx.ss = symbolic_string_h();
				State = 99; Match(RPAREN);
				State = 100; Match(REPEAT);
				State = 101; _localctx.i = integer();

							_localctx.value =  PumpingLemma.ParserUtils.repeat(_localctx.ss.value, _localctx.i.value);
						
				}
				break;
			case 8:
				EnterOuterAlt(_localctx, 8);
				{
				State = 104; Match(LPAREN);
				State = 105; _localctx.ss = symbolic_string_h();
				State = 106; Match(RPAREN);
				State = 107; Match(REPEAT);
				State = 108; _localctx.i = integer();
				State = 109; _localctx.ssp = symbolic_string_h();

							_localctx.value =  PumpingLemma.ParserUtils.join(
								PumpingLemma.ParserUtils.repeat(_localctx.ss.value, _localctx.i.value),
								_localctx.ssp.value);
						
				}
				break;
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			ErrorHandler.ReportError(this, re);
			ErrorHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}
Beispiel #2
0
    public Symbolic_string_hContext symbolic_string_h()
    {
        Symbolic_string_hContext _localctx = new Symbolic_string_hContext(Context, State);

        EnterRule(_localctx, 10, RULE_symbolic_string_h);
        try {
            State = 112;
            switch (Interpreter.AdaptivePredict(TokenStream, 4, Context))
            {
            case 1:
                EnterOuterAlt(_localctx, 1);
                {
                    State           = 68; _localctx.w = word();
                    _localctx.value = _localctx.w.value;
                }
                break;

            case 2:
                EnterOuterAlt(_localctx, 2);
                {
                    State           = 71; _localctx.w = word();
                    State           = 72; _localctx.ss = symbolic_string_h();
                    _localctx.value = PumpingLemma.ParserUtils.join(_localctx.w.value, _localctx.ss.value);
                }
                break;

            case 3:
                EnterOuterAlt(_localctx, 3);
                {
                    State           = 75; _localctx.w = word();
                    State           = 76; Match(REPEAT);
                    State           = 77; _localctx.i = integer();
                    _localctx.value = PumpingLemma.ParserUtils.repeatLast(_localctx.w.value, _localctx.i.value);
                }
                break;

            case 4:
                EnterOuterAlt(_localctx, 4);
                {
                    State = 80; _localctx.w = word();
                    State = 81; Match(REPEAT);
                    State = 82; _localctx.i = integer();
                    State = 83; _localctx.ss = symbolic_string_h();

                    _localctx.value = PumpingLemma.ParserUtils.join(
                        PumpingLemma.ParserUtils.repeatLast(_localctx.w.value, _localctx.i.value),
                        _localctx.ss.value);
                }
                break;

            case 5:
                EnterOuterAlt(_localctx, 5);
                {
                    State           = 86; Match(LPAREN);
                    State           = 87; _localctx.ss = symbolic_string_h();
                    State           = 88; Match(RPAREN);
                    _localctx.value = _localctx.ss.value;
                }
                break;

            case 6:
                EnterOuterAlt(_localctx, 6);
                {
                    State = 91; Match(LPAREN);
                    State = 92; _localctx.ss = symbolic_string_h();
                    State = 93; Match(RPAREN);
                    State = 94; _localctx.ssp = symbolic_string_h();

                    _localctx.value = PumpingLemma.ParserUtils.join(_localctx.ss.value, _localctx.ssp.value);
                }
                break;

            case 7:
                EnterOuterAlt(_localctx, 7);
                {
                    State = 97; Match(LPAREN);
                    State = 98; _localctx.ss = symbolic_string_h();
                    State = 99; Match(RPAREN);
                    State = 100; Match(REPEAT);
                    State = 101; _localctx.i = integer();

                    _localctx.value = PumpingLemma.ParserUtils.repeat(_localctx.ss.value, _localctx.i.value);
                }
                break;

            case 8:
                EnterOuterAlt(_localctx, 8);
                {
                    State = 104; Match(LPAREN);
                    State = 105; _localctx.ss = symbolic_string_h();
                    State = 106; Match(RPAREN);
                    State = 107; Match(REPEAT);
                    State = 108; _localctx.i = integer();
                    State = 109; _localctx.ssp = symbolic_string_h();

                    _localctx.value = PumpingLemma.ParserUtils.join(
                        PumpingLemma.ParserUtils.repeat(_localctx.ss.value, _localctx.i.value),
                        _localctx.ssp.value);
                }
                break;
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            ErrorHandler.ReportError(this, re);
            ErrorHandler.Recover(this, re);
        }
        finally {
            ExitRule();
        }
        return(_localctx);
    }