language

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 5f2f2f1ff2f7d7aeca11f109b207aea0fdd985c2
parent 1420e01c1b06520fbcd2f33c4d81b27cb91e92bf
Author: Paul Longtine <paul@nanner.co>
Date:   Sat, 13 Jan 2018 09:51:42 -0500

Verbose error messages

Diffstat:
M.gitignore | 2++
Msrc/lc/helper.py | 8++++++++
Msrc/lc/interpreter.py | 16+++++++++-------
Msrc/lc/namespace.py | 8++++++--
Msrc/lc/parser.py | 17+++++++++++++++++
Dsrc/lc/tags | 200-------------------------------------------------------------------------------
Dsrc/lc/test_files/class | 0
Msrc/lc/test_files/class.ti | 8++++----
Dsrc/lc/test_files/depthtest | 0
Msrc/lc/test_files/depthtest.ti | 2--
Dsrc/lc/test_files/example | 0
Msrc/lc/test_files/example.ti | 2++
Dsrc/lc/test_files/extern | 0
Msrc/lc/test_files/out | 0
Dsrc/lc/test_files/problem | 0
Dsrc/lc/test_files/test | 0
Dsrc/lc/test_files/test.out | 0
Dsrc/lc/test_files/testing.out | 0
Dsrc/vm/out | 0
Dsrc/vm/tags | 433-------------------------------------------------------------------------------
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