71 lines
997 B
Plaintext
71 lines
997 B
Plaintext
CREATE OR REPLACE PROCEDURE init
|
|
BEGIN
|
|
REPLACE INTO TABLE vars VALUES
|
|
('eval', ''),
|
|
('ret', ''),
|
|
('argv-0', ''),
|
|
('argv-1', ''),
|
|
('argv-2', ''),
|
|
('argv-3', ''),
|
|
('argv-4', ''),
|
|
('argv-5', ''),
|
|
('argv-6', ''),
|
|
('argv-7', ''),
|
|
('argv-8', ''),
|
|
('argv-9', '')
|
|
;
|
|
END
|
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION arref AS VARCHAR(128)
|
|
BEGIN
|
|
NULL;
|
|
END
|
|
CREATE OR REPLACE FUNCTION deref_ AS VARCHAR(128)
|
|
BEGIN
|
|
NULL;
|
|
END
|
|
CREATE OR REPLACE FUNCTION aint AS INT
|
|
BEGIN
|
|
NULL;
|
|
END
|
|
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE do_eval
|
|
BEGIN
|
|
NULL;
|
|
END
|
|
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE pop
|
|
DECLARE
|
|
EMPTY_STACK EXCEPTION;
|
|
BEGIN
|
|
IF SELECT COUNT(bp) FROM callstack = 1 THEN
|
|
RAISE EMPTY_STACK;
|
|
END IF
|
|
DELETE FROM TABLE WHERE rowid = (SELECT MAX(rowid) FROM table);
|
|
-- head = callstack.top().bp + 1;
|
|
END
|
|
CREATE OR REPLACE PROCEDURE push
|
|
BEGIN
|
|
NULL;
|
|
-- INSERT INTO
|
|
END
|
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION jump AS BOOLEAN
|
|
DECLARE
|
|
ret BOOLEAN = FALSE;
|
|
BEGIN
|
|
NULL;
|
|
END
|
|
CREATE OR REPLACE PROCEDURE call
|
|
BEGIN
|
|
NULL;
|
|
END
|