172 String GetTokenString(); |
172 String GetTokenString(); |
173 String DescribePosition() const; |
173 String DescribePosition() const; |
174 void WriteToFile (String outfile); |
174 void WriteToFile (String outfile); |
175 Variable* FindVariable (const String& name); |
175 Variable* FindVariable (const String& name); |
176 bool IsInGlobalState() const; |
176 bool IsInGlobalState() const; |
|
177 void SuggestHighestVarIndex (bool global, int index); |
|
178 int GetHighestVarIndex (bool global); |
177 |
179 |
178 inline ScopeInfo& GetScope (int offset) |
180 inline ScopeInfo& GetScope (int offset) |
179 { |
181 { |
180 return mScopeStack[mScopeCursor - offset]; |
182 return mScopeStack[mScopeCursor - offset]; |
181 } |
183 } |
215 bool mStateSpawnDefined; |
217 bool mStateSpawnDefined; |
216 bool mGotMainLoop; |
218 bool mGotMainLoop; |
217 int mScopeCursor; |
219 int mScopeCursor; |
218 bool mCanElse; |
220 bool mCanElse; |
219 List<UndefinedLabel> mUndefinedLabels; |
221 List<UndefinedLabel> mUndefinedLabels; |
|
222 int mHighestGlobalVarIndex; |
|
223 int mHighestStateVarIndex; |
220 |
224 |
221 // How many bytes have we written to file? |
225 // How many bytes have we written to file? |
222 int mNumWrittenBytes; |
226 int mNumWrittenBytes; |
223 |
227 |
224 // Scope data |
228 // Scope data |