public static int FindDelim(ArrayList<KToken> TokenList, int BeginIdx, int EndIdx) { int NextIdx = EndIdx; for (int i = BeginIdx + 1; i < EndIdx; i++) { KToken Token = TokenList.get(i); if (Token.ResolvedSyntax.IsDelim()) { NextIdx = i; break; } } return NextIdx; }
public int MatchSingleBlock( int Index, ArrayList<KToken> TokenList, int BeginIdx, int EndIdx, int ParseOption) { if (BeginIdx == -1) return -1; if (BeginIdx < EndIdx) { KToken Token = TokenList.get(BeginIdx); if (Token.ResolvedSyntax.equals("{}")) { SetAtNode(Index, ParseGroup(NodeNameSpace, Token, AllowEmpty | CreateNullNode)); return BeginIdx + 1; } return MatchExpression(Index, TokenList, BeginIdx, EndIdx, ParseOption); } return ReportExpectedAfter(TokenList, BeginIdx, EndIdx, "{", ParseOption); }