private void ParseClassVarDecl() { Contract.Requires(IsNextTokenClassVarDecl()); Token varKind = NextToken(); bool isStatic = varKind.Value == "static"; Token varType = NextToken(); Token varName = NextToken(); do { if (isStatic) { Symbol variable = new Symbol( varType.Value, varName.Value, SymbolKind.Static, _currentClassName); _classSymTable.AddSymbol(variable); _codeGenerator.StaticDeclaration(variable); } else { Symbol variable = new Symbol( varType.Value, varName.Value, SymbolKind.Field, _currentClassName); _classSymTable.AddSymbol(variable); _codeGenerator.FieldDeclaration(variable); } } while (LookAheadToken.Value == ","); Match(new Token(TokenType.Symbol, ";")); }