-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdbo.OpCodeArgument.sql
More file actions
54 lines (49 loc) · 966 Bytes
/
dbo.OpCodeArgument.sql
File metadata and controls
54 lines (49 loc) · 966 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
DROP TABLE OpCodeArgument
DROP TABLE OpCodeArgumentTypeLookup
IF OBJECT_ID(N'dbo.OpCodeArgument') IS NULL
CREATE TABLE dbo.OpCodeArgument
(
OpCode nvarchar(6),
Idx int,
TypeLookup char(3)
)
IF OBJECT_ID(N'dbo.OpCodeArgumentTypeLookup') IS NULL
CREATE TABLE dbo.OpCodeArgumentTypeLookup
(
TypeLoopkup char(3),
Description nvarchar(20),
GeneratedCode nvarchar(200)
)
TRUNCATE TABLE OpCodeArgumentTypeLookup
INSERT dbo.OpCodeArgumentTypeLookup
(
TypeLoopkup,
Description,
GeneratedCode
)
SELECT N'LBL', N'Label', N''
UNION ALL
SELECT N'INT', N'Literal Integer', N''
UNION ALL
SELECT N'MEM', N'Memory Address', N''
INSERT dbo.OpCodeArgument
(
OpCode,
Idx,
TypeLookup
)
SELECT N'PUSH', 0, N'INT'
UNION ALL
SELECT N'JUMP', 0, N'LBL'
UNION ALL
SELECT N'JGZ', 0, N'LBL'
UNION ALL
SELECT N'JLZ', 0, N'LBL'
UNION ALL
SELECT N'JEZ', 0, N'LBL'
UNION ALL
SELECT N'JNZ', 0, N'LBL'
UNION ALL
SELECT N'STR', 0, N'MEM'
UNION ALL
SELECT N'LOAD', 0, N'MEM'