source: dev/trunk/abdev/BasicCompiler_Common/include/LexicalScopingImpl.h@ 206

Last change on this file since 206 was 206, checked in by dai_9181, 17 years ago

コード全体のリファクタリングを実施

File size: 839 bytes
Line 
1#pragma once
2
3#include <jenga/include/smoothie/Smoothie.h>
4#include <jenga/include/smoothie/LexicalScoping.h>
5
6class ScopeImpl : public CScope
7{
8public:
9 ScopeImpl( int level, int addr, SCOPE_TYPE TypeOfStatement )
10 : CScope( level, addr, TypeOfStatement )
11 {
12 }
13 ~ScopeImpl();
14
15 virtual void Break();
16 virtual void RunScheduleOfBreak();
17};
18
19class LexicalScopesImpl : public CLexicalScopes
20{
21 virtual CScope *CreateScope( int level, int addr, SCOPE_TYPE TypeOfStatement )
22 {
23 return new ScopeImpl( level, addr, TypeOfStatement );
24 }
25
26public:
27
28 virtual void End();
29
30 //スコープ終了時のデストラクタ呼び出し
31 virtual void CallDestructorsOfScopeEnd();
32
33 //Returnステートメント用のデストラクタ呼び出し
34 virtual void CallDestructorsOfReturn( int BaseLevel = 0 );
35};
36
37LexicalScopesImpl &GetLexicalScopes();
Note: See TracBrowser for help on using the repository browser.