source: dev/trunk/ab5.0/abdev/BasicCompiler_Common/BasicFixed.h@ 563

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

ab_common.hを追加。
TypeMisc.hを追加。

File size: 4.4 KB
RevLine 
[462]1//BasicFixed.h
2
3
4#define MAX_ARRAYDIM 16
5#define VN_SIZE 1024
6#define MAX_LEN 65535
7
8
9////////////////
10// マシンタイプ
11////////////////
12
13#define MACHINE_X86 1
14#define MACHINE_AMD64 2
15
16
17//////////////////////////////////////
18/* 演算子(優先順位が関係している) */
19//////////////////////////////////////
20
21//論理演算子
22#define CALC_XOR 3 // Xor
23#define CALC_OR 6 // Or
24#define CALC_AND 9 // And
25#define CALC_NOT 12 // Not
26
27//比較演算子
28#define CALC_PE 21 // <=
29#define CALC_QE 22 // >=
30#define CALC_NOTEQUAL 23 // <>
31#define CALC_EQUAL 24 // =
32#define CALC_P 25 // <
33#define CALC_Q 26 // >
34
35//算術演算子
36#define CALC_SHL 31 //<<
37#define CALC_SHR 32 //>>
38#define CALC_ADDITION 41 // +
39#define CALC_SUBTRACTION 42 // -
40#define CALC_STRPLUS 43 // &
41#define CALC_MOD 51 // Mod
42#define CALC_PRODUCT 61 // *
43#define CALC_QUOTIENT 62 // /
44#define CALC_INTQUOTIENT 63 //整数除算
45#define CALC_AS 71 // As
46#define CALC_BYVAL 72 // ByVal
47#define CALC_MINUSMARK 81 // -x
48#define CALC_POWER 91 // ^
49
50//代入演算子
51#define CALC_SUBSITUATION 200
52
53//添え字演算子
54#define CALC_ARRAY_GET 201
55#define CALC_ARRAY_SET 202
56
57
58
59//プロシージャの種類
60#define PROC_DEFAULT 1 // ユーザー定義関数
61#define PROC_DLL 2 // DLL関数
62#define PROC_BUILTIN 3 // コンパイラ埋め込み型
63#define PROC_PTR 4 // 関数ポインタ
64#define PROC_DELEGATE 5 // デリゲート
65
66
67
68//////////////////////////////////////////////////////////////////////
69// エスケープシーケンス用のバイトコードは0xA0~0xCFの範囲も利用できる
70//////////////////////////////////////////////////////////////////////
71
72//以下制御用エスケープシーケンス
73#define ESC_MOD '1' // MOD 演算子
74#define ESC_AND '&' // AND 演算子
75#define ESC_OR '3' // OR 演算子
76#define ESC_XOR '4' // XOR 演算子
77#define ESC_NOT '5' // NOT 演算子
78#define ESC_AS '6' // AS(区切り文字)
79#define ESC_THEN 2 // Then
80#define ESC_ELSE 3 // Else
81#define ESC_IF 'A' // If
82#define ESC_ELSEIF 'B' // ElseIf
83#define ESC_ENDIF 'C' // End If
84#define ESC_DEF 'D' // Def
85#define ESC_DECLARE 'E' // Declare
86#define ESC_SUB 'F' // Sub
87#define ESC_ENDSUB 'G' // End Sub
88#define ESC_EXITSUB 'H' // Exit Sub
89#define ESC_FUNCTION 'I' // Function
90#define ESC_ENDFUNCTION 'J' // End Function
91#define ESC_EXITFUNCTION 'K' // Exit Function
92#define ESC_BYVAL 'L' // ByVal
93#define ESC_BYREF 'M' // ByRef
94#define ESC_TYPE 'N' // Type
95#define ESC_ENDTYPE 'O' // End Type
96#define ESC_EXITFOR 'P' // Exit For
97#define ESC_EXITWHILE 'Q' // Exit Wend
98#define ESC_EXITDO 'R' // Exit Do
99#define ESC_SELECTCASE 'S' // Select Case
100#define ESC_CASE 'T' // Case
101#define ESC_CASEELSE 'U' // Case Else
102#define ESC_ENDSELECT 'V' // End Select
103#define ESC_CONST 'W' // Const
104#define ESC_WITH 'X' // With
105#define ESC_ENDWITH 'Y' // End With
106#define ESC_CDECL 'Z' // cdecl規約
107#define ESC_MACRO 'a' // Macro
108#define ESC_ENDMACRO 'b' // End Macro
109#define ESC_EXITMACRO 'c' // Exit Macro
110#define ESC_EXPORT 'd' // Export
111#define ESC_CONTINUE 'e' // Continue
112#define ESC_PSMEM 'f' // "->" Member of Pointer Struct(構造体ポインタのメンバ参照)
113#define ESC_STATIC 'g' // Static
114#define ESC_TYPEDEF 'h' // TypeDef
115#define ESC_TRY 'i' // Try
116#define ESC_CATCH 'j' // Catch
117#define ESC_FINALLY 'k' // Finally
118#define ESC_THROW 'l' // Throw
119#define ESC_ENDTRY 'm' // End Try
120#define ESC_NAMESPACE 'o' // Namespace
121#define ESC_ENDNAMESPACE 'p' // End Namespace
122#define ESC_IMPORTS 'q' // Imports
123#define ESC_CLEARNAMESPACEIMPORTED 'r' // _ClearNamespaceImported
124#define ESC_OPERATOR 's'
125#define ESC_IN 't' // In
126//EXEファイル用制御エスケープシーケンス
127#define ESC_USING 'u' // Print命令語のUsing
128#define ESC_FOR 'v' // Open命令語のFor
129#define ESC_LINENUM 'w' // 行番号を示す
130
131//オブジェクト指向エスケープシーケンス
132#define ESC_CLASS (char)0xA0
133#define ESC_ENDCLASS (char)0xA1
134#define ESC_ABSTRACT (char)0xA2
135#define ESC_VIRTUAL (char)0xA3
136#define ESC_OVERRIDE (char)0xA4
137#define ESC_INHERITS (char)0xA5
138#define ESC_ENUM (char)0xA6
139#define ESC_ENDENUM (char)0xA7
140#define ESC_NEW (char)0xA8
141#define ESC_INTERFACE (char)0xA9
142#define ESC_ENDINTERFACE (char)0xAA
143#define ESC_DELEGATE (char)0xAB
144#define ESC_IMPLEMENTS (char)0xAC
145#define ESC_SYSTEM_STATIC_NEW (char)0xAD
Note: See TracBrowser for help on using the repository browser.