/// <summary> /// 4 <VList> ::= <V> <VOpt>; /// </summary> /// <param name="syntaxTree"></param> private static RightSection GetGrammarVList(SyntaxTree <EnumTokenTypeCG, EnumVTypeCG, TreeNodeValueCG> syntaxTree) {//<VList> ::= <V> <VOpt>; 4 RightSection vlist = new RightSection(); if (syntaxTree.CandidateFunc == LL1SyntaxParserCG.GetFuncParsecase_VList___constStringLeave() || syntaxTree.CandidateFunc == LL1SyntaxParserCG.GetFuncParsecase_VList___tail_constStringLeave() || syntaxTree.CandidateFunc == LL1SyntaxParserCG.GetFuncParsecase_VList___tail_identifierLeave() || syntaxTree.CandidateFunc == LL1SyntaxParserCG.GetFuncParsecase_VList___tail_lessThan_Leave() || syntaxTree.CandidateFunc == LL1SyntaxParserCG.GetFuncParsecase_VList___tail_nullLeave() || syntaxTree.CandidateFunc == LL1SyntaxParserCG.GetFuncParsecase_VList___tail_numberLeave()) { var candidate = new ProductionNodeList(); vlist.Add(candidate); var v = GetGrammarV(syntaxTree.Children[0]); candidate.Add(v); var info = GetGrammarVOpt(vlist, candidate, syntaxTree.Children[1]); } return(vlist); }