public new static TBlock Claim(StringClaimer claimer) { Claim c = claimer.Claim(LeftBracket); if (!c.Success) { return(null); } c.Pass(); TBlock newBlock = new TBlock(); TExpression nExp; while ((nExp = TExpression.Claim(claimer)) != null) { newBlock._expressions.Add(nExp); claimer.Claim(SemiColon); if (!(c = claimer.Claim(RightBracket)).Success) { continue; } c.Pass(); return(newBlock); } return(newBlock); }
private static TExpression pre_claim(StringClaimer claimer) { return(TAssignment.Claim(claimer) ?? TIf.Claim(claimer) ?? TFor.Claim(claimer) ?? TWhile.Claim(claimer) ?? TVariable.Claim(claimer) ?? TLiteral.Claim(claimer) ?? TParenExpression.Claim(claimer) ?? TBlock.Claim(claimer) as TExpression); }