public override ParserResult VisitArgs([NotNull] ArgsContext context) { return(this.BuildList <ArgsContext, ArgContext, string>( context.args, context.arg, this.VisitArgs, this.VisitArg, "ArgValue", "ArgListValue", "IsArgList")); }
public void ArgListMixedArgsTest() { ShellParser shellParser = MakeParser("these are 'some args'"); ArgsContext context = shellParser.args(); ShellVisitor visitor = new ShellVisitor(); ParserResult result = visitor.Visit(context); result.IsArgList.Should().BeTrue(); result.ArgListValue.Should().BeEquivalentTo(new List <string> { "these", "are", "some args" }, opts => opts.WithStrictOrdering()); }
public void ArgListOneWordTest() { ShellParser shellParser = MakeParser("wordarg"); ArgsContext context = shellParser.args(); ShellVisitor visitor = new ShellVisitor(); ParserResult result = visitor.Visit(context); result.IsArgList.Should().BeTrue(); result.ArgListValue.Should().BeEquivalentTo(new List <string> { "wordarg" }, opts => opts.WithStrictOrdering()); }
public ArgsContext args() { ArgsContext _localctx = new ArgsContext(_ctx, State); EnterRule(_localctx, 6, RULE_args); int _la; try { EnterOuterAlt(_localctx, 1); { State = 42; arg(); State = 47; _errHandler.Sync(this); _la = _input.La(1); while (_la == DELIM) { { { State = 43; Match(DELIM); State = 44; arg(); } } State = 49; _errHandler.Sync(this); _la = _input.La(1); } } } catch (RecognitionException re) { _localctx.exception = re; _errHandler.ReportError(this, re); _errHandler.Recover(this, re); } finally { ExitRule(); } return(_localctx); }
public ArgsContext args() { ArgsContext _localctx = new ArgsContext(Context, State); EnterRule(_localctx, 4, RULE_args); try { State = 25; ErrorHandler.Sync(this); switch (TokenStream.LA(1)) { case INT: EnterOuterAlt(_localctx, 1); { State = 19; Match(INT); } break; case FLOATING: EnterOuterAlt(_localctx, 2); { State = 20; Match(FLOATING); } break; case NAME: EnterOuterAlt(_localctx, 3); { State = 21; Match(NAME); } break; case STRING: EnterOuterAlt(_localctx, 4); { State = 22; Match(STRING); } break; case FALSY: EnterOuterAlt(_localctx, 5); { State = 23; Match(FALSY); } break; case LPAR: EnterOuterAlt(_localctx, 6); { State = 24; expr(); } break; default: throw new NoViableAltException(this); } } catch (RecognitionException re) { _localctx.exception = re; ErrorHandler.ReportError(this, re); ErrorHandler.Recover(this, re); } finally { ExitRule(); } return(_localctx); }