protected void beginParse() { while (true) { if (charSrc.isEnd()) { return; } if (charSrc.isBlockEnd()) { int step = 13 + this.sbname.Length; charSrc.move(step); return; } VarLabelParsed objVar = VarLabel.GetVarLabelValue(charSrc); if (objVar != null) { Token token = new VarBlockParser(objVar, this.charSrc).getToken(); _tokens.Add(token); continue; } // block else if (charSrc.isBlock()) { BlockParser p = new BlockParser(this.charSrc); p.parse(); Token token = p.getToken(); _tokens.Add(token); continue; } // string Token stoken = new StringBlockParser(this.charSrc).getToken(); _tokens.Add(stoken); // 再次检查 if (charSrc.isEnd()) { return; } charSrc.move(); // 如果是区块结束,也 return if (charSrc.isBlockEnd()) { int step = 13 + this.sbname.Length; charSrc.move(step); return; } } }
protected void beginParse() { while (true) { if (charSrc.isEnd()) return; if (charSrc.isBlockEnd()) { int step = 13 + this.sbname.Length; charSrc.move( step ); return; } VarLabelParsed objVar = VarLabel.GetVarLabelValue( charSrc ); if (objVar != null) { Token token = new VarBlockParser( objVar, this.charSrc ).getToken(); _tokens.Add( token ); continue; } // block else if (charSrc.isBlock()) { BlockParser p = new BlockParser( this.charSrc ); p.parse(); Token token = p.getToken(); _tokens.Add( token ); continue; } // string Token stoken = new StringBlockParser( this.charSrc ).getToken(); _tokens.Add( stoken ); // 再次检查 if (charSrc.isEnd()) return; charSrc.move(); // 如果是区块结束,也 return if (charSrc.isBlockEnd()) { int step = 13 + this.sbname.Length; charSrc.move( step ); return; } } }