commit 5f2f2f1ff2f7d7aeca11f109b207aea0fdd985c2
parent 1420e01c1b06520fbcd2f33c4d81b27cb91e92bf
Author: Paul Longtine <paul@nanner.co>
Date: Sat, 13 Jan 2018 09:51:42 -0500
Verbose error messages
Diffstat:
20 files changed, 48 insertions(+), 648 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -3,6 +3,8 @@
toi
+tags
+
*.pyc
__pycache__
diff --git a/src/lc/helper.py b/src/lc/helper.py
@@ -1,4 +1,12 @@
+def fatal_error(i, string):
+ i.success = False
+ print("")
+ print("FATAL: {0}".format(string))
+ print(" On Statement Type '{}', line #{}".format(i.line[0].name, i.ln))
+ print(" {}: ".format(i.line[1]))
+ print("")
+
# This function splits a tokenstring by split characters, along with providing
# a way to preserve capturing groups via esc_chars
# An example call would be as follows:
diff --git a/src/lc/interpreter.py b/src/lc/interpreter.py
@@ -41,7 +41,7 @@ class Label(AbstractToken):
t = self.i.ns.resolve_with_obj(self.parent, self.name)
if t == None:
- print("Cannot resolve name " + self.data)
+ fatal_error(self.i, "Cannot resolve name " + self.data)
else:
self.expr = t[0]
@@ -50,8 +50,11 @@ class Label(AbstractToken):
t = self.i.ns.resolve(self.name)
- self.scope = t[0]
- self.expr = t[1]
+ if t == None:
+ fatal_error(self.i, "Cannot resolve name " + self.name)
+ else:
+ self.scope = t[0]
+ self.expr = t[1]
def action(self, s=False):
if s:
@@ -200,7 +203,7 @@ class Expression(AbstractToken):
if len(t) == 0:
t = self.data
if len(t) > 2:
- print("Expression Error ({})".format(self.data))
+ fatal_error(self.i, "Expression Error ({})".format(self.data))
next_op = False
for thing in t:
@@ -221,7 +224,7 @@ class Expression(AbstractToken):
obj = i.action(self.i, ex)
if obj == None:
- print("Unknown Expression Error ({})".format(ex))
+ fatal_error(self.i, "Unknown Expression Error ({})".format(ex))
break
if next_op:
@@ -262,14 +265,13 @@ class Interpreter():
self.directives = [self.cur_directives]
+ self.success = True
for self.ln, self.line in enumerate(self.program):
t = self.line[0].action(self)
for i in t:
if i != False:
self.line[2].append(i)
- self.success = True
-
def nxt(self, n):
if len(self.program) <= self.ln + n:
return self.program[self.ln]
diff --git a/src/lc/namespace.py b/src/lc/namespace.py
@@ -81,10 +81,14 @@ class Namespace():
if type(obj) == dict:
if name in obj:
rv = obj[name]
- elif type(obj) == list:
+ elif type(obj) == list and obj[1] != None:
if name in obj[1]:
rv = obj[1][name]
-
+ elif type(obj) == type(None):
+ print("Object referenced before definition: {}.{}".format(
+ parent.name, name)
+ )
+
return rv
# Resolves name into scope and address
diff --git a/src/lc/parser.py b/src/lc/parser.py
@@ -39,6 +39,22 @@ class Parser():
"class"
]
+ self.TYPE_VOID = 0
+ self.TYPE_ADDR = 1
+ self.TYPE_TYPE = 2
+ self.TYPE_PLIST = 3
+ self.TYPE_FUNC = 4
+ self.TYPE_CLASS = 5
+ self.TYPE_OBJECT = 6
+ self.TYPE_INT = 7
+ self.TYPE_FLOAT = 8
+ self.TYPE_CHAR = 9
+ self.TYPE_STRING = 10
+ self.TYPE_STATIC_ARRAY = 11
+ self.TYPE_ARRAY = 12
+ self.TYPE_HASHTABLE = 13
+ self.TYPE_STACK = 14
+
self.defined_types = [
"void",
"_addr",
@@ -421,6 +437,7 @@ class Parser():
r = a.match(l)
# If the line matches the token,
if r:
+
fail = False
# If the token is an "incude" token, include the file
# specified by the "include" directive
diff --git a/src/lc/tags b/src/lc/tags
@@ -1,200 +0,0 @@
-!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
-!_TAG_PROGRAM_NAME Exuberant Ctags //
-!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
-!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
-AbstractToken interpreter.py /^class AbstractToken():$/;" c
-Arguements interpreter.py /^class Arguements(AbstractToken):$/;" c
-AtomicSymbol lexer.py /^class AtomicSymbol():$/;" c
-BinaryOp bytecode.py /^class BinaryOp():$/;" c
-ClassDef bytecode.py /^class ClassDef():$/;" c
-CompoundSymbol lexer.py /^class CompoundSymbol():$/;" c
-Directive interpreter.py /^class Directive():$/;" c
-ExclusiveSymbol lexer.py /^class ExclusiveSymbol(CompoundSymbol):$/;" c
-Expression interpreter.py /^class Expression(AbstractToken):$/;" c
-ForLoop bytecode.py /^class ForLoop():$/;" c
-FunctionCall bytecode.py /^class FunctionCall():$/;" c
-FunctionDef bytecode.py /^class FunctionDef():$/;" c
-GroupingSymbol lexer.py /^class GroupingSymbol(PolySymbol):$/;" c
-InclusiveSymbol lexer.py /^class InclusiveSymbol(CompoundSymbol):$/;" c
-IntegerConstant bytecode.py /^class IntegerConstant(SerializeableType):$/;" c
-Interpreter interpreter.py /^class Interpreter():$/;" c
-Label interpreter.py /^class Label(AbstractToken):$/;" c
-MethodCall bytecode.py /^class MethodCall():$/;" c
-Namespace namespace.py /^class Namespace():$/;" c
-NewClass bytecode.py /^class NewClass():$/;" c
-OP_ADD memonic.py /^OP_ADD = 0x40$/;" v
-OP_AND memonic.py /^OP_AND = 0x58$/;" v
-OP_ARGB memonic.py /^OP_ARGB = 0x0E$/;" v
-OP_BNAND memonic.py /^OP_BNAND = 0x4F$/;" v
-OP_BOR memonic.py /^OP_BOR = 0x4D$/;" v
-OP_BREAK memonic.py /^OP_BREAK = 0x6E$/;" v
-OP_BRT memonic.py /^OP_BRT = 0x45$/;" v
-OP_BXOR memonic.py /^OP_BXOR = 0x4E$/;" v
-OP_CALL memonic.py /^OP_CALL = 0x7F$/;" v
-OP_CALLM memonic.py /^OP_CALLM = 0x82$/;" v
-OP_CAST memonic.py /^OP_CAST = 0x31$/;" v
-OP_CLOOP memonic.py /^OP_CLOOP = 0x61$/;" v
-OP_COS memonic.py /^OP_COS = 0x47$/;" v
-OP_CTS memonic.py /^OP_CTS = 0x24$/;" v
-OP_CTV memonic.py /^OP_CTV = 0x23$/;" v
-OP_DEBUG memonic.py /^OP_DEBUG = 0x03$/;" v
-OP_DEC memonic.py /^OP_DEC = 0x20$/;" v
-OP_DECLASS memonic.py /^OP_DECLASS = 0xFE$/;" v
-OP_DEFUN memonic.py /^OP_DEFUN = 0xFF$/;" v
-OP_DIV memonic.py /^OP_DIV = 0x43$/;" v
-OP_DONE memonic.py /^OP_DONE = 0x7E$/;" v
-OP_DUP memonic.py /^OP_DUP = 0x12$/;" v
-OP_ELSE memonic.py /^OP_ELSE = 0x73$/;" v
-OP_ENDCLASS memonic.py /^OP_ENDCLASS = 0xF2$/;" v
-OP_ENDL memonic.py /^OP_ENDL = 0x6F$/;" v
-OP_EQ memonic.py /^OP_EQ = 0x54$/;" v
-OP_GETN memonic.py /^OP_GETN = 0x80$/;" v
-OP_GOTO memonic.py /^OP_GOTO = 0x70$/;" v
-OP_GTHAN memonic.py /^OP_GTHAN = 0x50$/;" v
-OP_GTHAN_EQ memonic.py /^OP_GTHAN_EQ = 0x52$/;" v
-OP_ICOS memonic.py /^OP_ICOS = 0x4A$/;" v
-OP_IFDO memonic.py /^OP_IFDO = 0x72$/;" v
-OP_INDEXO memonic.py /^OP_INDEXO = 0x83$/;" v
-OP_ISIN memonic.py /^OP_ISIN = 0x49$/;" v
-OP_ITAN memonic.py /^OP_ITAN = 0x4B$/;" v
-OP_JUMPF memonic.py /^OP_JUMPF = 0x71$/;" v
-OP_LIBC memonic.py /^OP_LIBC = 0x0F$/;" v
-OP_LOV memonic.py /^OP_LOV = 0x21$/;" v
-OP_LTHAN memonic.py /^OP_LTHAN = 0x51$/;" v
-OP_LTHAN_EQ memonic.py /^OP_LTHAN_EQ = 0x53$/;" v
-OP_MOD memonic.py /^OP_MOD = 0x4C$/;" v
-OP_MODO memonic.py /^OP_MODO = 0x84$/;" v
-OP_MULT memonic.py /^OP_MULT = 0x42$/;" v
-OP_NEQ memonic.py /^OP_NEQ = 0x55$/;" v
-OP_NEW memonic.py /^OP_NEW = 0xF1$/;" v
-OP_NOT memonic.py /^OP_NOT = 0x56$/;" v
-OP_NULL memonic.py /^OP_NULL = 0x00$/;" v
-OP_OR memonic.py /^OP_OR = 0x57$/;" v
-OP_POP memonic.py /^OP_POP = 0x10$/;" v
-OP_POW memonic.py /^OP_POW = 0x44$/;" v
-OP_PRINT memonic.py /^OP_PRINT = 0x02$/;" v
-OP_RETURN memonic.py /^OP_RETURN = 0xF0$/;" v
-OP_ROT memonic.py /^OP_ROT = 0x11$/;" v
-OP_ROT_THREE memonic.py /^OP_ROT_THREE = 0x13$/;" v
-OP_SETN memonic.py /^OP_SETN = 0x81$/;" v
-OP_SIN memonic.py /^OP_SIN = 0x46$/;" v
-OP_STARTL memonic.py /^OP_STARTL = 0x60$/;" v
-OP_STV memonic.py /^OP_STV = 0x22$/;" v
-OP_SUB memonic.py /^OP_SUB = 0x41$/;" v
-OP_SYNC memonic.py /^OP_SYNC = 0x01$/;" v
-OP_TAN memonic.py /^OP_TAN = 0x48$/;" v
-OP_TYPEOF memonic.py /^OP_TYPEOF = 0x30$/;" v
-Opcode bytecode.py /^class Opcode():$/;" c
-Parameters interpreter.py /^class Parameters(AbstractToken):$/;" c
-Parser parser.py /^class Parser():$/;" c
-PolySymbol lexer.py /^class PolySymbol():$/;" c
-PropertyAssignment bytecode.py /^class PropertyAssignment():$/;" c
-PropertyGet bytecode.py /^class PropertyGet():$/;" c
-SerializeableType bytecode.py /^class SerializeableType():$/;" c
-Statement lexer.py /^class Statement():$/;" c
-StringConstant bytecode.py /^class StringConstant(SerializeableType):$/;" c
-Tokenizer lexer.py /^class Tokenizer():$/;" c
-Type interpreter.py /^class Type(AbstractToken):$/;" c
-VariableAssignment bytecode.py /^class VariableAssignment():$/;" c
-VariableGet bytecode.py /^class VariableGet():$/;" c
-VariableNew bytecode.py /^class VariableNew():$/;" c
-__init__ bytecode.py /^ def __init__(self, expr1, op):$/;" m class:BinaryOp
-__init__ bytecode.py /^ def __init__(self, expression):$/;" m class:ForLoop
-__init__ bytecode.py /^ def __init__(self, label):$/;" m class:VariableGet
-__init__ bytecode.py /^ def __init__(self, label, args):$/;" m class:ClassDef
-__init__ bytecode.py /^ def __init__(self, label, args, typed):$/;" m class:FunctionDef
-__init__ bytecode.py /^ def __init__(self, label, arguements):$/;" m class:FunctionCall
-__init__ bytecode.py /^ def __init__(self, label, expression):$/;" m class:VariableAssignment
-__init__ bytecode.py /^ def __init__(self, label, typed):$/;" m class:VariableNew
-__init__ bytecode.py /^ def __init__(self, opcode):$/;" m class:Opcode
-__init__ bytecode.py /^ def __init__(self, ovar, label, arguements):$/;" m class:MethodCall
-__init__ bytecode.py /^ def __init__(self, ovar, plabel):$/;" m class:PropertyGet
-__init__ bytecode.py /^ def __init__(self, ovar, plabel, expression):$/;" m class:PropertyAssignment
-__init__ bytecode.py /^ def __init__(self, toset, label, args):$/;" m class:NewClass
-__init__ bytecode.py /^ def __init__(self, value):$/;" m class:IntegerConstant
-__init__ bytecode.py /^ def __init__(self, value):$/;" m class:SerializeableType
-__init__ bytecode.py /^ def __init__(self, value):$/;" m class:StringConstant
-__init__ interpreter.py /^ def __init__(self, filename):$/;" m class:Interpreter
-__init__ interpreter.py /^ def __init__(self, function, conditional):$/;" m class:Directive
-__init__ interpreter.py /^ def __init__(self, interpreter_instance, raw_data):$/;" m class:AbstractToken
-__init__ lexer.py /^ def __init__(self, name, expression=[], init=None):$/;" m class:Statement
-__init__ lexer.py /^ def __init__(self, symbol):$/;" m class:AtomicSymbol
-__init__ lexer.py /^ def __init__(self, symbol_delim, statement_delim):$/;" m class:Tokenizer
-__init__ lexer.py /^ def __init__(self, symbols):$/;" m class:CompoundSymbol
-__init__ lexer.py /^ def __init__(self, symbols, terminator=[]):$/;" m class:PolySymbol
-__init__ namespace.py /^ def __init__(self):$/;" m class:Namespace
-__init__ parser.py /^ def __init__(self, file_name):$/;" m class:Parser
-action bytecode.py /^ def action(self):$/;" m class:BinaryOp
-action bytecode.py /^ def action(self):$/;" m class:ClassDef
-action bytecode.py /^ def action(self):$/;" m class:ForLoop
-action bytecode.py /^ def action(self):$/;" m class:FunctionCall
-action bytecode.py /^ def action(self):$/;" m class:FunctionDef
-action bytecode.py /^ def action(self):$/;" m class:IntegerConstant
-action bytecode.py /^ def action(self):$/;" m class:MethodCall
-action bytecode.py /^ def action(self):$/;" m class:NewClass
-action bytecode.py /^ def action(self):$/;" m class:Opcode
-action bytecode.py /^ def action(self):$/;" m class:PropertyAssignment
-action bytecode.py /^ def action(self):$/;" m class:PropertyGet
-action bytecode.py /^ def action(self):$/;" m class:StringConstant
-action bytecode.py /^ def action(self):$/;" m class:VariableAssignment
-action bytecode.py /^ def action(self):$/;" m class:VariableGet
-action bytecode.py /^ def action(self):$/;" m class:VariableNew
-action interpreter.py /^ def action(self):$/;" m class:AbstractToken
-action interpreter.py /^ def action(self):$/;" m class:Arguements
-action interpreter.py /^ def action(self):$/;" m class:Expression
-action interpreter.py /^ def action(self):$/;" m class:Parameters
-action interpreter.py /^ def action(self):$/;" m class:Type
-action interpreter.py /^ def action(self, s=False):$/;" m class:Label
-add_directive interpreter.py /^ def add_directive(self, directive, cond=(lambda x: False)):$/;" m class:Interpreter
-copy namespace.py /^ def copy(self, new_name, name):$/;" m class:Namespace
-dec_scope interpreter.py /^ def dec_scope(self):$/;" m class:Interpreter
-dec_scope namespace.py /^ def dec_scope(self):$/;" m class:Namespace
-eval_args interpreter.py /^ def eval_args(self, index):$/;" m class:Interpreter
-eval_expr interpreter.py /^ def eval_expr(self, index):$/;" m class:Interpreter
-eval_label interpreter.py /^ def eval_label(self, index):$/;" m class:Interpreter
-eval_param interpreter.py /^ def eval_param(self, index):$/;" m class:Interpreter
-eval_type interpreter.py /^ def eval_type(self, index):$/;" m class:Interpreter
-generate_statements lexer.py /^ def generate_statements(self, raw):$/;" m class:Tokenizer
-generate_symbols lexer.py /^ def generate_symbols(self, raw_string):$/;" m class:Tokenizer
-get_statements parser.py /^ def get_statements(self):$/;" m class:Parser
-inc_scope interpreter.py /^ def inc_scope(self):$/;" m class:Interpreter
-inc_scope namespace.py /^ def inc_scope(self):$/;" m class:Namespace
-int_to_bytes helper.py /^def int_to_bytes(number):$/;" f
-int_to_word helper.py /^def int_to_word(number):$/;" f
-match lexer.py /^ def match(self, tokenstring):$/;" m class:Statement
-match lexer.py /^ def match(self, tokenstring, index):$/;" m class:AtomicSymbol
-match lexer.py /^ def match(self, tokenstring, index):$/;" m class:CompoundSymbol
-match lexer.py /^ def match(self, tokenstring, index):$/;" m class:ExclusiveSymbol
-match lexer.py /^ def match(self, tokenstring, index):$/;" m class:GroupingSymbol
-match lexer.py /^ def match(self, tokenstring, index):$/;" m class:InclusiveSymbol
-match lexer.py /^ def match(self, tokenstring, index):$/;" m class:PolySymbol
-name_dec namespace.py /^ def name_dec(self, name):$/;" m class:Namespace
-new_name interpreter.py /^ def new_name(self, index):$/;" m class:Interpreter
-new_name_token interpreter.py /^ def new_name_token(self, token):$/;" m class:Interpreter
-ns_copy interpreter.py /^ def ns_copy(self, key, index):$/;" m class:Interpreter
-ns_persist interpreter.py /^ def ns_persist(self, index):$/;" m class:Interpreter
-ns_save interpreter.py /^ def ns_save(self):$/;" m class:Interpreter
-nxt interpreter.py /^ def nxt(self, n):$/;" m class:Interpreter
-obj_resolve namespace.py /^ def obj_resolve(self, name):$/;" m class:Namespace
-op interpreter.py /^ def op(self, opcode):$/;" m class:Interpreter
-pop namespace.py /^ def pop(self):$/;" m class:Namespace
-pop_directives interpreter.py /^ def pop_directives(self):$/;" m class:Interpreter
-pop_scope interpreter.py /^ def pop_scope(self):$/;" m class:Interpreter
-printb main.py /^def printb(l):$/;" f
-push namespace.py /^ def push(self):$/;" m class:Namespace
-push_directives interpreter.py /^ def push_directives(self):$/;" m class:Interpreter
-push_scope interpreter.py /^ def push_scope(self):$/;" m class:Interpreter
-release namespace.py /^ def release(self):$/;" m class:Namespace
-resolve namespace.py /^ def resolve(self, name):$/;" m class:Namespace
-resolve_with_obj namespace.py /^ def resolve_with_obj(self, parent, name):$/;" m class:Namespace
-target namespace.py /^ def target(self, name):$/;" m class:Namespace
-tobytearray main.py /^def tobytearray(l, n, ba):$/;" f
-token_split helper.py /^def token_split(tokenstring, esc_chars, split_chars, include_splitter=True):$/;" f
-update interpreter.py /^ def update(self):$/;" m class:AbstractToken
-update interpreter.py /^ def update(self):$/;" m class:Arguements
-update interpreter.py /^ def update(self):$/;" m class:Expression
-update interpreter.py /^ def update(self):$/;" m class:Label
-update interpreter.py /^ def update(self):$/;" m class:Parameters
-update interpreter.py /^ def update(self):$/;" m class:Type
diff --git a/src/lc/test_files/class b/src/lc/test_files/class
Binary files differ.
diff --git a/src/lc/test_files/class.ti b/src/lc/test_files/class.ti
@@ -15,13 +15,11 @@ class Counter:
}
}
-class ObjectFibb:
+class ObjectFibb(Counter acc):
{
int a = 0;
int b = 1;
- Counter acc = new Counter();
-
func next -> void:
{
b = a + b;
@@ -45,7 +43,9 @@ class ObjectFibb:
}
}
-ObjectFibb test = new ObjectFibb();
+Counter thing = new Counter();
+
+ObjectFibb test = new ObjectFibb(thing);
test.run(15);
print "ALL DONE!";
diff --git a/src/lc/test_files/depthtest b/src/lc/test_files/depthtest
Binary files differ.
diff --git a/src/lc/test_files/depthtest.ti b/src/lc/test_files/depthtest.ti
@@ -1,5 +1,3 @@
-DEBUG;
-
func recurse_me_please(int i) -> int:
{
print(i);
diff --git a/src/lc/test_files/example b/src/lc/test_files/example
Binary files differ.
diff --git a/src/lc/test_files/example.ti b/src/lc/test_files/example.ti
@@ -1,3 +1,5 @@
+DEBUG;
+
class Bar:
{
int lala = 2;
diff --git a/src/lc/test_files/extern b/src/lc/test_files/extern
Binary files differ.
diff --git a/src/lc/test_files/out b/src/lc/test_files/out
Binary files differ.
diff --git a/src/lc/test_files/problem b/src/lc/test_files/problem
Binary files differ.
diff --git a/src/lc/test_files/test b/src/lc/test_files/test
Binary files differ.
diff --git a/src/lc/test_files/test.out b/src/lc/test_files/test.out
diff --git a/src/lc/test_files/testing.out b/src/lc/test_files/testing.out
Binary files differ.
diff --git a/src/vm/out b/src/vm/out
Binary files differ.
diff --git a/src/vm/tags b/src/vm/tags
@@ -1,433 +0,0 @@
-!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
-!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
-!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
-!_TAG_PROGRAM_NAME Exuberant Ctags //
-!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
-!_TAG_PROGRAM_VERSION 5.9~svn20110310 //
-ADDR inc/var.h /^ ADDR, \/\/ 1$/;" e enum:__anon1
-ADDRLEN inc/ins_mdata.h 13;" d
-ASSERT inc/helper.h 9;" d
-A_ADDR inc/ins_mdata.h 17;" d
-A_BYTE inc/ins_mdata.h 15;" d
-A_DYNC inc/ins_mdata.h 18;" d
-A_NAME inc/ins_mdata.h 16;" d
-BC_H inc/bc.h 5;" d
-BTOI inc/ins_mdata.h 99;" d
-BTOT inc/ins_mdata.h 100;" d
-CC Makefile /^CC = gcc$/;" m
-CC tests/cases/bc/Makefile /^CC = gcc$/;" m
-CC tests/cases/ns/Makefile /^CC = gcc$/;" m
-CC tests/cases/pc/Makefile /^CC = gcc$/;" m
-CC tests/cases/stk/Makefile /^CC = gcc$/;" m
-CFLAGS Makefile /^CFLAGS = -std=c99 -Wall -I$(INC_DIR)$/;" m
-CFLAGS tests/cases/bc/Makefile /^CFLAGS = -std=c99 -Wall -I$(INC_DIR)$/;" m
-CFLAGS tests/cases/ns/Makefile /^CFLAGS = -std=c99 -Wall -I$(INC_DIR)$/;" m
-CFLAGS tests/cases/pc/Makefile /^CFLAGS = -std=c99 -Wall -I$(INC_DIR)$/;" m
-CFLAGS tests/cases/stk/Makefile /^CFLAGS = -std=c99 -Wall -I$(INC_DIR)$/;" m
-DEBUG src/main.c 9;" d file:
-DEPS Makefile /^DEPS = $(INC_DIR)\/is_mdata.h \\$/;" m
-DEPS tests/cases/bc/Makefile /^DEPS = $(INC_DIR)\/is_mdata.h \\$/;" m
-DEPS tests/cases/ns/Makefile /^DEPS = i$(INC_DIR)\/helper.h \\$/;" m
-DEPS tests/cases/pc/Makefile /^DEPS = i$(INC_DIR)\/is_mdata.h \\$/;" m
-DEPS tests/cases/stk/Makefile /^DEPS = i$(INC_DIR)\/helper.h \\$/;" m
-DST_DIR Makefile /^DST_DIR = \/usr\/bin\/$/;" m
-DTOL inc/ins_mdata.h 101;" d
-DTOV inc/ins_mdata.h 102;" d
-D_ARRAY inc/var.h /^ D_ARRAY,\/\/ C$/;" e enum:__anon1
-FH_H inc/fh.h 5;" d
-FUNC inc/var.h /^ FUNC, \/\/ 4$/;" e enum:__anon1
-G_CHAR inc/var.h /^ G_CHAR, \/\/ 9$/;" e enum:__anon1
-G_FIFO inc/var.h /^ G_FIFO, \/\/ E$/;" e enum:__anon1
-G_FLOAT inc/var.h /^ G_FLOAT,\/\/ 8$/;" e enum:__anon1
-G_INT inc/var.h /^ G_INT, \/\/ 7$/;" e enum:__anon1
-G_PTR inc/var.h /^ G_PTR \/\/ F$/;" e enum:__anon1
-G_STR inc/var.h /^ G_STR, \/\/ A$/;" e enum:__anon1
-HELPER_H inc/helper.h 5;" d
-H_TABLE inc/var.h /^ H_TABLE,\/\/ D$/;" e enum:__anon1
-INC_DIR Makefile /^INC_DIR = inc$/;" m
-INC_DIR tests/cases/bc/Makefile /^INC_DIR = ..\/..\/..\/inc$/;" m
-INC_DIR tests/cases/ns/Makefile /^INC_DIR = ..\/..\/..\/inc$/;" m
-INC_DIR tests/cases/pc/Makefile /^INC_DIR = ..\/..\/..\/inc$/;" m
-INC_DIR tests/cases/stk/Makefile /^INC_DIR = ..\/..\/..\/inc$/;" m
-INS_ADATA inc/is.h /^byte_t INS_ADATA[0x100];$/;" v
-INS_ADATA_DEF inc/ins_mdata.h 108;" d
-INS_DEF inc/ins_def.h /^void (*INS_DEF[0x100])(rt_t*, bc_cont*);$/;" v
-INS_DEF_H inc/ins_def.h 5;" d
-INS_MDATA inc/is.h /^byte_t INS_MDATA[0x100];$/;" v
-INS_MDATA_DEF inc/ins_mdata.h 24;" d
-INS_MDATA_H inc/ins_mdata.h 2;" d
-IS_H inc/is.h 9;" d
-M_ASSERT inc/helper.h 23;" d
-NAMELEN inc/ins_mdata.h 12;" d
-NS_CTX_DEPTH inc/ns.h 27;" d
-NS_H inc/ns.h 5;" d
-N_ASSERT inc/helper.h 30;" d
-OBJ Makefile /^OBJ = $(SRC_DIR)\/main.o \\$/;" m
-OBJ tests/cases/bc/Makefile /^OBJ = test.o \\$/;" m
-OBJ tests/cases/ns/Makefile /^OBJ = test.o \\$/;" m
-OBJ tests/cases/pc/Makefile /^OBJ = test.o \\$/;" m
-OBJ tests/cases/stk/Makefile /^OBJ = test.o \\$/;" m
-OBJBLDR inc/var.h /^ OBJBLDR,\/\/ 5$/;" e enum:__anon1
-OBJECT inc/var.h /^ OBJECT, \/\/ 6$/;" e enum:__anon1
-OBJECT_H inc/object.h 5;" d
-OUT Makefile /^OUT = toi$/;" m
-OUT tests/cases/bc/Makefile /^OUT = test$/;" m
-OUT tests/cases/ns/Makefile /^OUT = test$/;" m
-OUT tests/cases/pc/Makefile /^OUT = test$/;" m
-OUT tests/cases/stk/Makefile /^OUT = test$/;" m
-PC_H inc/pc.h 5;" d
-PC_RETURN_DEPTH inc/pc.h 7;" d
-PLIST inc/var.h /^ PLIST, \/\/ 3$/;" e enum:__anon1
-PROC_H inc/proc.h 5;" d
-RT_H inc/rt.h 5;" d
-SIZE_ASSERT inc/helper.h 16;" d
-SRC_DIR Makefile /^SRC_DIR = src$/;" m
-SRC_DIR tests/cases/bc/Makefile /^SRC_DIR = ..\/..\/..\/src$/;" m
-SRC_DIR tests/cases/ns/Makefile /^SRC_DIR = ..\/..\/..\/src$/;" m
-SRC_DIR tests/cases/pc/Makefile /^SRC_DIR = ..\/..\/..\/src$/;" m
-SRC_DIR tests/cases/stk/Makefile /^SRC_DIR = ..\/..\/..\/src$/;" m
-STACK_INIT_SIZE inc/stk.h 8;" d
-STACK_SIZE_LIMIT inc/stk.h 7;" d
-STK_H inc/stk.h 5;" d
-S_ARRAY inc/var.h /^ S_ARRAY,\/\/ B$/;" e enum:__anon1
-TYPE inc/var.h /^ TYPE, \/\/ 2$/;" e enum:__anon1
-VAR_H inc/var.h 5;" d
-VAR_OPS_H inc/var_ops.h 5;" d
-VOID inc/var.h /^ VOID, \/\/ 0$/;" e enum:__anon1
-_ins_def_ADD src/ins_def.c /^void _ins_def_ADD (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_AND src/ins_def.c /^void _ins_def_AND (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ARGB src/ins_def.c /^void _ins_def_ARGB (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_BNAND src/ins_def.c /^void _ins_def_BNAND (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_BOR src/ins_def.c /^void _ins_def_BOR (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_BREAK src/ins_def.c /^void _ins_def_BREAK (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_BRT src/ins_def.c /^void _ins_def_BRT (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_BXOR src/ins_def.c /^void _ins_def_BXOR (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_CALL src/ins_def.c /^void _ins_def_CALL (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_CALLM src/ins_def.c /^void _ins_def_CALLM (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_CAST src/ins_def.c /^void _ins_def_CAST (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_CLOOP src/ins_def.c /^void _ins_def_CLOOP (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_COS src/ins_def.c /^void _ins_def_COS (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_CTS src/ins_def.c /^void _ins_def_CTS (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_CTV src/ins_def.c /^void _ins_def_CTV (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DEBUG src/ins_def.c /^void _ins_def_DEBUG (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DEC src/ins_def.c /^void _ins_def_DEC (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DECLASS src/ins_def.c /^void _ins_def_DECLASS (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DEFUN src/ins_def.c /^void _ins_def_DEFUN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DENS src/ins_def.c /^void _ins_def_DENS (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DIV src/ins_def.c /^void _ins_def_DIV (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DONE src/ins_def.c /^void _ins_def_DONE (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_DUP src/ins_def.c /^void _ins_def_DUP (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ELSE src/ins_def.c /^void _ins_def_ELSE (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ENDCLASS src/ins_def.c /^void _ins_def_ENDCLASS (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ENDL src/ins_def.c /^void _ins_def_ENDL (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_EQ src/ins_def.c /^void _ins_def_EQ (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_GETN src/ins_def.c /^void _ins_def_GETN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_GOTO src/ins_def.c /^void _ins_def_GOTO (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_GTHAN src/ins_def.c /^void _ins_def_GTHAN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_GTHAN_EQ src/ins_def.c /^void _ins_def_GTHAN_EQ (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ICOS src/ins_def.c /^void _ins_def_ICOS (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_IFDO src/ins_def.c /^void _ins_def_IFDO (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_INDEXO src/ins_def.c /^void _ins_def_INDEXO (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ISIN src/ins_def.c /^void _ins_def_ISIN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ITAN src/ins_def.c /^void _ins_def_ITAN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_JUMPF src/ins_def.c /^void _ins_def_JUMPF (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_LIBC src/ins_def.c /^void _ins_def_LIBC (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_LOV src/ins_def.c /^void _ins_def_LOV (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_LTHAN src/ins_def.c /^void _ins_def_LTHAN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_LTHAN_EQ src/ins_def.c /^void _ins_def_LTHAN_EQ (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_MOD src/ins_def.c /^void _ins_def_MOD (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_MODO src/ins_def.c /^void _ins_def_MODO (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_MULT src/ins_def.c /^void _ins_def_MULT (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_NEQ src/ins_def.c /^void _ins_def_NEQ (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_NEW src/ins_def.c /^void _ins_def_NEW (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_NOT src/ins_def.c /^void _ins_def_NOT (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_NULL src/ins_def.c /^void _ins_def_NULL (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_OR src/ins_def.c /^void _ins_def_OR (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_POP src/ins_def.c /^void _ins_def_POP (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_POW src/ins_def.c /^void _ins_def_POW (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_PRINT src/ins_def.c /^void _ins_def_PRINT (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_RETURN src/ins_def.c /^void _ins_def_RETURN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ROT src/ins_def.c /^void _ins_def_ROT (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_ROT_THREE src/ins_def.c /^void _ins_def_ROT_THREE(rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_SETN src/ins_def.c /^void _ins_def_SETN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_SIN src/ins_def.c /^void _ins_def_SIN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_STARTL src/ins_def.c /^void _ins_def_STARTL (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_STV src/ins_def.c /^void _ins_def_STV (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_SUB src/ins_def.c /^void _ins_def_SUB (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_SYNC src/ins_def.c /^void _ins_def_SYNC (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_TAN src/ins_def.c /^void _ins_def_TAN (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_TYPEOF src/ins_def.c /^void _ins_def_TYPEOF (rt_t* ctx, bc_cont* line)$/;" f
-_ins_def_branch_to_end_if src/ins_def.c /^void _ins_def_branch_to_end_if(rt_t* ctx)$/;" f
-_ins_def_loop_break src/ins_def.c /^void _ins_def_loop_break(rt_t* ctx)$/;" f
-adata inc/bc.h /^ byte_t adata; \/\/ Opcode arguement metadata$/;" m struct:bc_cont
-address inc/pc.h /^ pc_addr address; \/\/ Current address$/;" m struct:pc_t
-addresses inc/pc.h /^ pc_addr* addresses; \/\/ Stack data$/;" m struct:pc_addr_stk
-args inc/bc.h /^ byte_t* args[3]; \/\/ Raw arguements$/;" m struct:bc_cont
-argstk inc/rt.h /^ stk_t* argstk;$/;" m struct:rt_t
-b_type inc/var.h /^} b_type;$/;" t typeref:enum:__anon1
-bc inc/pc.h /^ bc_t* bc; \/\/ Bytecode container instance$/;" m struct:pc_t
-bc_addr inc/bc.h /^typedef unsigned int bc_addr;$/;" t
-bc_addr inc/var.h /^typedef unsigned int bc_addr;$/;" t
-bc_cont inc/bc.h /^typedef struct bc_cont {$/;" s
-bc_cont inc/bc.h /^} bc_cont;$/;" t typeref:struct:bc_cont
-bc_cont_del src/bc.c /^void bc_cont_del(bc_cont* ins)$/;" f
-bc_cont_new src/bc.c /^bc_cont* bc_cont_new(void)$/;" f
-bc_del src/bc.c /^void bc_del(bc_t* program)$/;" f
-bc_init src/bc.c /^bc_t* bc_init(char* fname)$/;" f
-bc_print_op src/bc.c /^void bc_print_op(bc_cont* op)$/;" f
-bc_read src/bc.c /^bc_cont** bc_read(FILE* f, bc_addr* len)$/;" f
-bc_t inc/bc.h /^typedef struct bc_t {$/;" s
-bc_t inc/bc.h /^} bc_t;$/;" t typeref:struct:bc_t
-byte_t inc/fh.h /^typedef unsigned char byte_t;$/;" t
-byte_to_type src/var.c /^var_cont* byte_to_type(byte_t byte)$/;" f
-data inc/stk.h /^ var_cont** data;$/;" m struct:stk_line
-data inc/var.h /^ void* data;$/;" m struct:var_cont
-db inc/rt.h /^ int db;$/;" m struct:rt_t
-encode inc/ins_mdata.h 9;" d
-end inc/var.h /^ bc_addr end;$/;" m struct:var_data_func
-end inc/var.h /^ bc_addr end;$/;" m struct:var_data_objbldr
-get_addr_arg src/bc.c /^byte_t* get_addr_arg(FILE* f, int* size)$/;" f
-get_byte_arg src/bc.c /^byte_t* get_byte_arg(FILE* f, int* size)$/;" f
-get_dync_arg src/bc.c /^byte_t* get_dync_arg(FILE* f, int* size)$/;" f
-get_name_arg src/bc.c /^byte_t* get_name_arg(FILE* f, int* size)$/;" f
-get_opcode_adata src/bc.c /^void get_opcode_adata(FILE* f, bc_cont* ins)$/;" f
-get_opcode_mdata src/is.c /^void get_opcode_mdata(byte_t byte, bc_cont* ins)$/;" f
-heap inc/bc.h /^ bc_cont** heap; \/\/ Heap of instructions$/;" m struct:bc_t
-id inc/ns.h /^ int id;$/;" m struct:ns_t
-id inc/var.h /^ ns_addr id;$/;" m struct:var_data_objbldr
-id inc/var.h /^ ns_addr id;$/;" m struct:var_data_object
-init_adata src/is.c /^void init_adata(void)$/;" f
-init_ins_def src/ins_def.c /^void init_ins_def( void )$/;" f
-init_mdata src/is.c /^void init_mdata(void)$/;" f
-ins_def_is_valid src/ins_def.c /^int ins_def_is_valid(bc_cont* line)$/;" f
-instc inc/var.h /^ ns_addr instc;$/;" m struct:var_data_objbldr
-last inc/ns.h /^ ns_cont* last;$/;" m struct:ns_t
-level inc/ns.h /^ int level;$/;" m struct:ns_cont
-limit inc/pc.h /^ pc_addr limit; \/\/ End of program$/;" m struct:pc_t
-line inc/pc.h /^ bc_cont* line; \/\/ Current instruction$/;" m struct:pc_t
-loc inc/var.h /^ bc_addr loc;$/;" m struct:var_data_func
-loc inc/var.h /^ bc_addr loc;$/;" m struct:var_data_objbldr
-main src/main.c /^int main(int argc, char** argv)$/;" f
-main tests/cases/bc/test.c /^int main(int argc, char** argv)$/;" f
-main tests/cases/ns/test.c /^int main( void )$/;" f
-main tests/cases/pc/test.c /^int main(int argc, char *argv[])$/;" f
-main tests/cases/stk/test.c /^int main(int argc, char* argv[])$/;" f
-mdata inc/bc.h /^ byte_t mdata; \/\/ Opcode metadata$/;" m struct:bc_cont
-names inc/ns.h /^ var_cont** names;$/;" m struct:ns_cont
-names inc/object.h /^ ns_t* names;$/;" m struct:obj_t
-names inc/rt.h /^ ns_t* names;$/;" m struct:rt_t
-next inc/ns.h /^ struct ns_cont* next;$/;" m struct:ns_cont typeref:struct:ns_cont::ns_cont
-next inc/stk.h /^ struct stk_t* next;$/;" m struct:stk_t typeref:struct:stk_t::stk_t
-ns_addr inc/ns.h /^typedef unsigned int ns_addr;$/;" t
-ns_addr inc/var.h /^typedef unsigned int ns_addr;$/;" t
-ns_cont inc/ns.h /^typedef struct ns_cont {$/;" s
-ns_cont inc/ns.h /^} ns_cont;$/;" t typeref:struct:ns_cont
-ns_cont_dec src/ns.c /^void ns_cont_dec(ns_cont* container, b_type type, ns_addr address)$/;" f
-ns_cont_del src/ns.c /^var_cont* ns_cont_del(ns_cont* container, ns_addr to_return)$/;" f
-ns_cont_get src/ns.c /^var_cont* ns_cont_get(ns_cont* container, ns_addr address)$/;" f
-ns_cont_init src/ns.c /^ns_cont* ns_cont_init(ns_addr size, int level)$/;" f
-ns_cont_set src/ns.c /^void ns_cont_set(ns_cont* container, var_cont* var, ns_addr address)$/;" f
-ns_ctx inc/ns.h /^typedef struct ns_ctx {$/;" s
-ns_ctx inc/ns.h /^} ns_ctx;$/;" t typeref:struct:ns_ctx
-ns_ctx_del src/ns.c /^void ns_ctx_del(ns_ctx* ctx)$/;" f
-ns_ctx_init src/ns.c /^ns_ctx* ns_ctx_init(void)$/;" f
-ns_ctx_pop src/ns.c /^ns_t* ns_ctx_pop(ns_ctx* ctx)$/;" f
-ns_ctx_push src/ns.c /^void ns_ctx_push(ns_ctx* ctx, ns_t* ns)$/;" f
-ns_dec src/ns.c /^void ns_dec(ns_t* ns, b_type type, int scope, ns_addr address)$/;" f
-ns_del src/ns.c /^void ns_del(ns_t* ns)$/;" f
-ns_get src/ns.c /^var_cont* ns_get(ns_t* ns, int scope, ns_addr address)$/;" f
-ns_init src/ns.c /^ns_t* ns_init(ns_addr size)$/;" f
-ns_pop src/ns.c /^var_cont* ns_pop(ns_t* ns)$/;" f
-ns_push src/ns.c /^void ns_push(ns_t* ns, ns_addr size)$/;" f
-ns_set src/ns.c /^void ns_set(ns_t* ns, int scope, ns_addr address, var_cont* var)$/;" f
-ns_t inc/ns.h /^typedef struct ns_t {$/;" s
-ns_t inc/ns.h /^} ns_t;$/;" t typeref:struct:ns_t
-obj_t inc/object.h /^typedef struct obj_t {$/;" s
-obj_t inc/object.h /^} obj_t;$/;" t typeref:struct:obj_t
-object_call_method src/object.c /^var_cont* object_call_method(obj_t* object, ns_addr name)$/;" f
-object_del src/object.c /^void object_del(void* object)$/;" f
-object_get src/object.c /^obj_t* object_get(void* object)$/;" f
-object_get_name src/object.c /^var_cont* object_get_name(obj_t* object, ns_addr name)$/;" f
-object_init src/object.c /^obj_t* object_init()$/;" f
-object_set_name src/object.c /^void object_set_name(obj_t* object, ns_addr name, var_cont* var)$/;" f
-objfree inc/var.h /^ void (*objfree)(void*);$/;" m struct:var_data_object
-op inc/bc.h /^ byte_t op; \/\/ Opcode of instruction$/;" m struct:bc_cont
-ownership inc/var.h /^ int ownership;$/;" m struct:var_cont
-param inc/var.h /^ b_type* param;$/;" m struct:var_data_func
-param inc/var.h /^ b_type* param;$/;" m struct:var_data_objbldr
-paramlen inc/var.h /^ size_t paramlen;$/;" m struct:var_data_func
-paramlen inc/var.h /^ size_t paramlen;$/;" m struct:var_data_objbldr
-pc inc/rt.h /^ pc_t* pc;$/;" m struct:rt_t
-pc_addr inc/pc.h /^typedef unsigned short int pc_addr;$/;" t
-pc_addr_stk inc/pc.h /^typedef struct pc_addr_stk {$/;" s
-pc_addr_stk inc/pc.h /^} pc_addr_stk;$/;" t typeref:struct:pc_addr_stk
-pc_addr_stk_del src/pc.c /^void pc_addr_stk_del(pc_addr_stk* stk)$/;" f
-pc_addr_stk_new src/pc.c /^pc_addr_stk* pc_addr_stk_new(ns_addr address)$/;" f
-pc_branch src/pc.c /^void pc_branch(pc_t* pc, pc_addr address)$/;" f
-pc_del src/pc.c /^void pc_del(pc_t* pc)$/;" f
-pc_goto src/pc.c /^void pc_goto(pc_t* pc, pc_addr addr)$/;" f
-pc_inc src/pc.c /^void pc_inc(pc_t* pc, pc_addr addr)$/;" f
-pc_new src/pc.c /^pc_t* pc_new(char* fname)$/;" f
-pc_return src/pc.c /^void pc_return(pc_t* pc)$/;" f
-pc_safe src/pc.c /^int pc_safe(pc_t* pc)$/;" f
-pc_t inc/pc.h /^typedef struct pc_t {$/;" s
-pc_t inc/pc.h /^} pc_t;$/;" t typeref:struct:pc_t
-pc_update src/pc.c /^void pc_update(pc_t* pc)$/;" f
-playstk tests/cases/stk/test.c /^void playstk(stk_t* new)$/;" f
-printstk tests/cases/stk/test.c /^void printstk(stk_t* stk)$/;" f
-proc_clean src/proc.c /^void proc_clean(rt_t* ctx)$/;" f
-proc_decvar src/proc.c /^void proc_decvar(rt_t* ctx, b_type type, int scope, ns_addr name)$/;" f
-proc_function_call src/proc.c /^void proc_function_call(rt_t* ctx, int scope, ns_addr name)$/;" f
-proc_function_call_handle src/proc.c /^void proc_function_call_handle(rt_t* ctx, var_data_func* func)$/;" f
-proc_getvar src/proc.c /^var_cont* proc_getvar(rt_t* ctx, int scope, ns_addr name)$/;" f
-proc_init src/proc.c /^rt_t* proc_init(char* fname)$/;" f
-proc_run src/proc.c /^void proc_run(rt_t* ctx)$/;" f
-proc_run_to_return src/proc.c /^void proc_run_to_return(rt_t* ctx)$/;" f
-proc_setvar src/proc.c /^void proc_setvar(rt_t* ctx, int scope, ns_addr name, var_cont* var)$/;" f
-process_args src/bc.c /^void process_args(bc_cont* ins)$/;" f
-ptr inc/ns.h /^ int ptr;$/;" m struct:ns_ctx
-ptr inc/pc.h /^ int ptr; \/\/ Stack pointer$/;" m struct:pc_addr_stk
-ptr inc/stk.h /^ int ptr;$/;" m struct:stk_line
-raw_to_int src/var.c /^var_cont* raw_to_int(int size, int start, byte_t* bytes)$/;" f
-raw_to_plist src/var.c /^var_cont* raw_to_plist(int n, byte_t* bytes)$/;" f
-raw_to_str src/var.c /^var_cont* raw_to_str(int n, int offset, byte_t* bytes)$/;" f
-raw_to_var src/var.c /^var_cont* raw_to_var(int n, byte_t* bytes)$/;" f
-read_byte src/fh.c /^byte_t read_byte(FILE* f)$/;" f
-read_bytes src/fh.c /^byte_t* read_bytes(FILE* f, long bytes)$/;" f
-read_size src/fh.c /^long read_size(FILE* f)$/;" f
-real_addr inc/bc.h /^ bc_addr real_addr; \/\/ Real address of instruction$/;" m struct:bc_cont
-ref inc/var.h /^ void* ref;$/;" m struct:var_data_object
-root inc/ns.h /^ ns_cont* root;$/;" m struct:ns_t
-rt_ctx_del src/rt.c /^void rt_ctx_del(rt_t* ctx)$/;" f
-rt_ctx_new src/rt.c /^rt_t* rt_ctx_new(char* fname, stk_t* args)$/;" f
-rt_ns_del src/rt.c /^void rt_ns_del(void* ns)$/;" f
-rt_t inc/rt.h /^typedef struct rt_t {$/;" s
-rt_t inc/rt.h /^} rt_t;$/;" t typeref:struct:rt_t
-sarg inc/bc.h /^ int sarg[3]; \/\/ Size of arguements$/;" m struct:bc_cont
-size inc/bc.h /^ bc_addr size; \/\/ Size of program$/;" m struct:bc_t
-size inc/ns.h /^ ns_addr size;$/;" m struct:ns_cont
-size inc/pc.h /^ int size; \/\/ Capacity of stack$/;" m struct:pc_addr_stk
-size inc/stk.h /^ size_t size;$/;" m struct:stk_line
-size inc/var.h /^ ns_addr size;$/;" m struct:var_data_func
-size inc/var.h /^ ns_addr size;$/;" m struct:var_data_objbldr
-size inc/var.h /^ size_t size;$/;" m struct:var_data_array
-size inc/var.h /^ size_t size;$/;" m struct:var_data_str
-spaces inc/ns.h /^ ns_t** spaces;$/;" m struct:ns_ctx
-stack inc/rt.h /^ stk_t* stack;$/;" m struct:rt_t
-stack inc/stk.h /^ stk_line* stack;$/;" m struct:stk_t
-stk inc/pc.h /^ pc_addr_stk* stk; \/\/ Address stack$/;" m struct:pc_t
-stk_at src/stk.c /^var_cont* stk_at(stk_t* stack, int n)$/;" f
-stk_del src/stk.c /^void stk_del(stk_t* stack)$/;" f
-stk_line inc/stk.h /^typedef struct stk_line {$/;" s
-stk_line inc/stk.h /^} stk_line;$/;" t typeref:struct:stk_line
-stk_line_del src/stk.c /^void stk_line_del(stk_line* stack)$/;" f
-stk_line_new src/stk.c /^stk_line* stk_line_new(size_t size)$/;" f
-stk_new src/stk.c /^stk_t* stk_new( void )$/;" f
-stk_newlevel src/stk.c /^void stk_newlevel(stk_t** stack)$/;" f
-stk_pop src/stk.c /^var_cont* stk_pop(stk_t* stack)$/;" f
-stk_poplevel src/stk.c /^void stk_poplevel(stk_t** stack)$/;" f
-stk_push src/stk.c /^void stk_push(stk_t* stack, var_cont* data)$/;" f
-stk_rot_three src/stk.c /^void stk_rot_three(stk_t* stack)$/;" f
-stk_rot_top src/stk.c /^void stk_rot_top(stk_t* stack)$/;" f
-stk_scale src/stk.c /^void stk_scale(stk_line* stack)$/;" f
-stk_t inc/stk.h /^typedef struct stk_t {$/;" s
-stk_t inc/stk.h /^} stk_t;$/;" t typeref:struct:stk_t
-type inc/var.h /^ b_type type;$/;" m struct:var_data_func
-type inc/var.h /^ b_type type;$/;" m struct:var_cont
-unencode src/is.c /^void unencode(byte_t byte, int* n, int* at)$/;" f
-v inc/var.h /^ b_type v;$/;" m struct:var_data_type
-v inc/var.h /^ b_type* v;$/;" m struct:var_data_plist
-v inc/var.h /^ char v;$/;" m struct:var_data_char
-v inc/var.h /^ char* v;$/;" m struct:var_data_str
-v inc/var.h /^ double v;$/;" m struct:var_data_float
-v inc/var.h /^ int v;$/;" m struct:var_data_int
-v inc/var.h /^ var_cont* v;$/;" m struct:var_data_array
-v inc/var.h /^ var_cont* v;$/;" m struct:var_data_ptr
-var_add src/var_ops.c /^var_cont* var_add(var_cont* A, var_cont* B)$/;" f
-var_add_float src/var_ops.c /^var_cont* var_add_float(var_cont* A, var_cont* B)$/;" f
-var_add_int src/var_ops.c /^var_cont* var_add_int(var_cont* A, var_cont* B)$/;" f
-var_cont inc/var.h /^typedef struct var_cont {$/;" s
-var_cont inc/var.h /^} var_cont;$/;" t typeref:struct:var_cont
-var_data_alloc_FUNC src/var.c /^void* var_data_alloc_FUNC(b_type type)$/;" f
-var_data_alloc_G_CHAR src/var.c /^void* var_data_alloc_G_CHAR(char value)$/;" f
-var_data_alloc_G_FLOAT src/var.c /^void* var_data_alloc_G_FLOAT(double value)$/;" f
-var_data_alloc_G_INT src/var.c /^void* var_data_alloc_G_INT(int value)$/;" f
-var_data_alloc_G_STR src/var.c /^void* var_data_alloc_G_STR(size_t size)$/;" f
-var_data_alloc_OBJBLDR src/var.c /^void* var_data_alloc_OBJBLDR(void)$/;" f
-var_data_alloc_OBJECT src/var.c /^void* var_data_alloc_OBJECT(void (*freefunc)(void*))$/;" f
-var_data_alloc_PLIST src/var.c /^void* var_data_alloc_PLIST(size_t size)$/;" f
-var_data_alloc_TYPE src/var.c /^void* var_data_alloc_TYPE(b_type type)$/;" f
-var_data_array inc/var.h /^typedef struct var_data_array {$/;" s
-var_data_array inc/var.h /^} var_data_array;$/;" t typeref:struct:var_data_array
-var_data_char inc/var.h /^typedef struct var_data_char {$/;" s
-var_data_char inc/var.h /^} var_data_char;$/;" t typeref:struct:var_data_char
-var_data_cpy src/var.c /^var_cont* var_data_cpy(var_cont* var)$/;" f
-var_data_cpy_G_CHAR src/var.c /^void* var_data_cpy_G_CHAR(var_data_char* data)$/;" f
-var_data_cpy_G_FLOAT src/var.c /^void* var_data_cpy_G_FLOAT(var_data_float* data)$/;" f
-var_data_cpy_G_INT src/var.c /^void* var_data_cpy_G_INT(var_data_int* data)$/;" f
-var_data_cpy_G_STR src/var.c /^void* var_data_cpy_G_STR(var_data_str* data)$/;" f
-var_data_float inc/var.h /^typedef struct var_data_float {$/;" s
-var_data_float inc/var.h /^} var_data_float;$/;" t typeref:struct:var_data_float
-var_data_free src/var.c /^void var_data_free(void* data, b_type type)$/;" f
-var_data_free_FUNC src/var.c /^void var_data_free_FUNC(void* data)$/;" f
-var_data_free_G_STR src/var.c /^void var_data_free_G_STR(void* data)$/;" f
-var_data_free_OBJBLDR src/var.c /^void var_data_free_OBJBLDR(void* data)$/;" f
-var_data_free_OBJECT src/var.c /^void var_data_free_OBJECT(void* data)$/;" f
-var_data_free_PLIST src/var.c /^void var_data_free_PLIST(void* data)$/;" f
-var_data_func inc/var.h /^typedef struct var_data_func {$/;" s
-var_data_func inc/var.h /^} var_data_func;$/;" t typeref:struct:var_data_func
-var_data_get_FUNC src/var.c /^var_data_func* var_data_get_FUNC(var_cont* var)$/;" f
-var_data_get_G_CHAR src/var.c /^char var_data_get_G_CHAR(var_cont* var)$/;" f
-var_data_get_G_FLOAT src/var.c /^double var_data_get_G_FLOAT(var_cont* var)$/;" f
-var_data_get_G_INT src/var.c /^int var_data_get_G_INT(var_cont* var)$/;" f
-var_data_get_G_STR src/var.c /^char* var_data_get_G_STR(var_cont* var)$/;" f
-var_data_get_OBJBLDR src/var.c /^var_data_objbldr* var_data_get_OBJBLDR(var_cont* var)$/;" f
-var_data_get_OBJECT src/var.c /^var_data_object* var_data_get_OBJECT(var_cont* var)$/;" f
-var_data_get_PLIST src/var.c /^b_type* var_data_get_PLIST(var_cont* var)$/;" f
-var_data_get_TYPE src/var.c /^b_type var_data_get_TYPE(var_cont* var)$/;" f
-var_data_int inc/var.h /^typedef struct var_data_int {$/;" s
-var_data_int inc/var.h /^} var_data_int;$/;" t typeref:struct:var_data_int
-var_data_objbldr inc/var.h /^typedef struct var_data_objbldr {$/;" s
-var_data_objbldr inc/var.h /^} var_data_objbldr;$/;" t typeref:struct:var_data_objbldr
-var_data_object inc/var.h /^typedef struct var_data_object {$/;" s
-var_data_object inc/var.h /^} var_data_object;$/;" t typeref:struct:var_data_object
-var_data_plist inc/var.h /^typedef struct var_data_plist {$/;" s
-var_data_plist inc/var.h /^} var_data_plist;$/;" t typeref:struct:var_data_plist
-var_data_ptr inc/var.h /^typedef struct var_data_ptr {$/;" s
-var_data_ptr inc/var.h /^} var_data_ptr;$/;" t typeref:struct:var_data_ptr
-var_data_str inc/var.h /^typedef struct var_data_str {$/;" s
-var_data_str inc/var.h /^} var_data_str;$/;" t typeref:struct:var_data_str
-var_data_type inc/var.h /^typedef struct var_data_type {$/;" s
-var_data_type inc/var.h /^} var_data_type;$/;" t typeref:struct:var_data_type
-var_del src/var.c /^void var_del(var_cont* var)$/;" f
-var_div src/var_ops.c /^var_cont* var_div(var_cont* A, var_cont* B)$/;" f
-var_div_float src/var_ops.c /^var_cont* var_div_float(var_cont* A, var_cont* B)$/;" f
-var_div_int src/var_ops.c /^var_cont* var_div_int(var_cont* A, var_cont* B)$/;" f
-var_eq src/var_ops.c /^var_cont* var_eq(var_cont* A, var_cont* B)$/;" f
-var_eq_float src/var_ops.c /^var_cont* var_eq_float(var_cont* A, var_cont* B)$/;" f
-var_eq_int src/var_ops.c /^var_cont* var_eq_int(var_cont* A, var_cont* B)$/;" f
-var_gthan src/var_ops.c /^var_cont* var_gthan(var_cont* A, var_cont* B)$/;" f
-var_gthan_eq src/var_ops.c /^var_cont* var_gthan_eq(var_cont* A, var_cont* B)$/;" f
-var_gthan_eq_float src/var_ops.c /^var_cont* var_gthan_eq_float(var_cont* A, var_cont* B)$/;" f
-var_gthan_eq_int src/var_ops.c /^var_cont* var_gthan_eq_int(var_cont* A, var_cont* B)$/;" f
-var_gthan_float src/var_ops.c /^var_cont* var_gthan_float(var_cont* A, var_cont* B)$/;" f
-var_gthan_int src/var_ops.c /^var_cont* var_gthan_int(var_cont* A, var_cont* B)$/;" f
-var_lthan src/var_ops.c /^var_cont* var_lthan(var_cont* A, var_cont* B)$/;" f
-var_lthan_eq src/var_ops.c /^var_cont* var_lthan_eq(var_cont* A, var_cont* B)$/;" f
-var_lthan_eq_float src/var_ops.c /^var_cont* var_lthan_eq_float(var_cont* A, var_cont* B)$/;" f
-var_lthan_eq_int src/var_ops.c /^var_cont* var_lthan_eq_int(var_cont* A, var_cont* B)$/;" f
-var_lthan_float src/var_ops.c /^var_cont* var_lthan_float(var_cont* A, var_cont* B)$/;" f
-var_lthan_int src/var_ops.c /^var_cont* var_lthan_int(var_cont* A, var_cont* B)$/;" f
-var_mult src/var_ops.c /^var_cont* var_mult(var_cont* A, var_cont* B)$/;" f
-var_mult_float src/var_ops.c /^var_cont* var_mult_float(var_cont* A, var_cont* B)$/;" f
-var_mult_int src/var_ops.c /^var_cont* var_mult_int(var_cont* A, var_cont* B)$/;" f
-var_new src/var.c /^var_cont* var_new(b_type type)$/;" f
-var_not src/var_ops.c /^var_cont* var_not(var_cont* A)$/;" f
-var_pprint src/var_ops.c /^void var_pprint(var_cont* var)$/;" f
-var_set src/var.c /^void var_set(var_cont* var, void* data, b_type type)$/;" f
-var_sub src/var_ops.c /^var_cont* var_sub(var_cont* A, var_cont* B)$/;" f
-var_sub_float src/var_ops.c /^var_cont* var_sub_float(var_cont* A, var_cont* B)$/;" f
-var_sub_int src/var_ops.c /^var_cont* var_sub_int(var_cont* A, var_cont* B)$/;" f
-varctx inc/rt.h /^ ns_ctx* varctx;$/;" m struct:rt_t
-varg inc/bc.h /^ var_cont* varg[3]; \/\/ Typed arguements$/;" m struct:bc_cont
-vars inc/rt.h /^ ns_t* vars;$/;" m struct:rt_t