From af20e156972bd671c3fc70284131d457328185d9 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 15 Dec 2018 15:39:20 -0600 Subject: [PATCH] WORKING VERSION --- christmas_proj | Bin 257552 -> 191472 bytes christmas_proj.nimble | 2 +- data/progs/fibcol.lgt | 21 ++++ data/progs/first.lgt | 43 ++++++++ data/progs/test.lgt | 29 +++--- src/board/board.nim | 2 +- src/christmas_proj.nim | 109 +++++++++----------- src/gfx/window.nim | 2 +- src/lang/executer.nim | 165 +++++++++++++++++++++++++++++++ src/lang/lexer.nim | 170 +++++++++++++++++--------------- src/lang/parser.nim | 24 ++++- src/lang/program.nim | 16 +++ src/lang/{ => types}/ast.nim | 5 + src/lang/{ => types}/tokens.nim | 8 +- src/lang/{ => types}/types.nim | 2 +- 15 files changed, 430 insertions(+), 168 deletions(-) create mode 100644 data/progs/fibcol.lgt create mode 100644 data/progs/first.lgt create mode 100644 src/lang/executer.nim create mode 100644 src/lang/program.nim rename src/lang/{ => types}/ast.nim (88%) rename src/lang/{ => types}/tokens.nim (90%) rename src/lang/{ => types}/types.nim (91%) diff --git a/christmas_proj b/christmas_proj index 8bf1cf3c1e8c1e0a4d17aa0c6421f1fab9de6df9..94824293d7132f8befb22591f48e87cbb66a8d47 100755 GIT binary patch literal 191472 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

cc*39HqmKvV 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 X*FCTP@9cT}nG#M;+j{W_eEI(XN%`cU literal 257552 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

bAsU51^ zggzB9*V>sWL!2WU_HgG0l*M5qDwt`=I)!3d*Qx5FDT_X-Ga8^Q9br#5-YdgarQewd z=-Sz^k#`w0r9wI+)SA=;T+P8DWZhD3l{nZZqqn0Pac$W+<)|w{4YS`;o$3{1ld4QB zOUkF!DRgoz_!o?}>OAdQu^a8#qW(aBQlFA%Oy+PW&Q_yzh2(%OXPHbUJki$qLXBCo zyb&n|9Ff?pwq#Nz;eIugAOc$uyl_J%SWm#sDpkr{)0FCyWtYKhuBzm9Ka50h#zsz9 zt@$EvhYExZWY~C2DSDNeX0&1shN_ufQJ2%fP8sg2$19p>tL}1`9nM}tmWT6OeUf)3 zJAyS8XRng;X+4Ulr)?`|ik?P8X91UIi-BAMZrBDYtvXoJg40)fPM6hGjm5gN9&3i| z`b43_2`55vdEO_FR`jW8qgzwU$R=yaYZe+4UnX4+D($F+8UIAhDif{J>eWK5@= z-J&jN;4-Z;IjziqzsARHPKVJHhcD|Aky_8lJG-f9tpXt- zEUd}WjukfUfT3vq8gtNPBA1whWFw!%Po>oywwMIm!bdW3q1|b0(S4KML4@OWx85-+Y*jBa>f~BNt@T{la&D32_UL%`c$as zY==|^t4X2hB&}ViwP1yaqoLFYmsEALqcl0Gh? qOq6g<)IRr&;?Y6y&>dA&((Fl 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 diff --git a/christmas_proj.nimble b/christmas_proj.nimble index 88bb56a..182ef92 100644 --- a/christmas_proj.nimble +++ b/christmas_proj.nimble @@ -15,5 +15,5 @@ requires "opengl >= 1.2.0" requires "glfw" task run, "Run project": - exec("nimble build") + exec("nimble build -d:release") exec("./christmas_proj") \ No newline at end of file diff --git a/data/progs/fibcol.lgt b/data/progs/fibcol.lgt new file mode 100644 index 0000000..11e416d --- /dev/null +++ b/data/progs/fibcol.lgt @@ -0,0 +1,21 @@ +$mem_2 = 0 +$mem_3 = 10000 + +while 1 { + $pos_x = 0 + $pos_y = 0 + while $pos_y < 256 { + $mem_1 = 20 * $pos_x + $mem_2 / 4 + $mem_1 = $mem_1 + $pos_y * $pos_x * 5 + !set_col($mem_1) + !step_linear(1) + } + $mem_2 = $mem_2 + 1 + !render() + + $mem_3 = $mem_3 - 1 + if $mem_3 <= 0 { + !halt() + } +} + diff --git a/data/progs/first.lgt b/data/progs/first.lgt new file mode 100644 index 0000000..61b8e9e --- /dev/null +++ b/data/progs/first.lgt @@ -0,0 +1,43 @@ +$pos_x = 0 +$pos_y = 10 +$mem_8 = 1 + +#move_diag { + $pos_x = $pos_x + $mem_8 + $pos_y = $pos_y + $mem_8 +} + +#swap_xy { + $mem_1 = $pos_x + $pos_x = $pos_y + $pos_y = $mem_1 +} + +$mem_3 = 100 +while $pos_x <= 255 { + $mem_3 = $mem_3 + 4 + if $mem_3 >= 256 { + $mem_3 = $mem_3 - 156 + } + + !set_col($pos_x, $pos_y, $mem_3) + !move_diag() + !swap_xy() + !render() +} + +$pos_x = 240 +$pos_y = 255 +$mem_8 = 0 - 1 + +while $pos_x >= 0 { + !set_col($pos_x, $pos_y, 255) + !move_diag() + !render() +} + +!say($pos_x) +$mem_2 = if $pos_x < 0 { + 1000 +} +!say($mem_2) diff --git a/data/progs/test.lgt b/data/progs/test.lgt index 93a5427..a719715 100644 --- a/data/progs/test.lgt +++ b/data/progs/test.lgt @@ -1,15 +1,20 @@ -$MEM_1 = 0 -$MEM_2 = 1 +$mem_1 = 0 +$mem_2 = 1 -WHILE $MEM_2 < 100000 DO - $MEM_3 = $MEM_1 + $MEM_2 - $MEM_1 = $MEM_2 - $MEM_2 = $MEM_3 - !PRINT($MEM_3, 3 + $MEM_7) -END +//Dummy function that doesn't do much +#test { + !say($mem_1 + $mem_2) +} -IF !IN_BOUNDS($POS_X + 1, $POS_Y) THEN - !SAY($MEM_8) -END +while $mem_2 < 100000 { + $mem_3 = $mem_1 + $mem_2 + $mem_1 = $mem_2 + $mem_2 = $mem_3 + !say($mem_3, $mem_2, $mem_2 == $mem_3) +} -!REDRAW() \ No newline at end of file +if !in_bounds($pos_x + 1, $pos_y) { + !test() +} + +!redraw() \ No newline at end of file diff --git a/src/board/board.nim b/src/board/board.nim index 35101fd..aecfcdf 100644 --- a/src/board/board.nim +++ b/src/board/board.nim @@ -2,7 +2,7 @@ import opengl import ../gfx/glutils type - LightBoard = ref object + LightBoard* = ref object width: int height: int data: ref array[1024 * 1024, GLuint] diff --git a/src/christmas_proj.nim b/src/christmas_proj.nim index 49b211e..229b07b 100644 --- a/src/christmas_proj.nim +++ b/src/christmas_proj.nim @@ -1,15 +1,13 @@ import os -import sequtils +import tables import opengl -import random import glfw3 as glfw import gfx/window as gfx_window import gfx/glutils as glutils -import lang/ast -import lang/lexer as lexer -import lang/parser as parser -import lang/tokens +import lang/types/types +import lang/program +import lang/executer import board/board @@ -17,75 +15,56 @@ proc key_down(window: glfw.Window, key, scancode, action, modifier: cint) {.cdec if key == glfw.KEY_ESCAPE and action == glfw.PRESS: glfw.SetWindowShouldClose(window, glfw.TRUE) -proc main2() = - let window = gfxWindow.NewWindow(800, 600, "ASDF") - window.SetKeyCallback(key_down) - - let vertex_shader = glutils.CreateShader(glutils.stVertex, "./data/shaders/basic.vert") - let fragment_shader = glutils.CreateShader(glutils.stFragment, "./data/shaders/basic.frag") - let program = glutils.LinkProgram(vertex_shader, fragment_shader) - glUseProgram(program) - - var vao: GLuint - var temp_vao: GLuint - glGenVertexArrays(1.GLsizei, vao.addr) - glGenVertexArrays(1.GLsizei, temp_vao.addr) - - var vbo: GLuint - var cbo: GLuint - var ibo: GLuint - glGenBuffers(1.GLsizei, vbo.addr) - glGenBuffers(1.GLsizei, cbo.addr) - glGenBuffers(1.GLsizei, ibo.addr) - - glBindVertexArray(vao) - glEnableVertexAttribArray(0) - glEnableVertexAttribArray(1) - - var vertex_data: array[6, GLfloat] = [ - 0'f32, 0'f32, - 0'f32, 1'f32, - 1'f32, 0'f32, - ] - glBindBuffer(GL_ARRAY_BUFFER, vbo) - glBufferData(GL_ARRAY_BUFFER, vertex_data.sizeof, vertex_data.addr, GL_STATIC_DRAW) - glVertexAttribPointer(0, 2, cGL_FLOAT, GL_FALSE, 8.GLsizei, nil) - - var color_data: array[8, GLfloat] = [ - 1'f32, 0'f32, 1'f32, 1'f32, - 0'f32, 1'f32, 0'f32, 1'f32, - ] - glBindBuffer(GL_ARRAY_BUFFER, cbo) - glBufferData(GL_ARRAY_BUFFER, color_data.sizeof, color_data.addr, GL_STATIC_DRAW) - glVertexAttribDivisor(1, 1) - glVertexAttribPointer(1, 4, cGL_FLOAT, GL_FALSE, 16.GLsizei, nil) - - var index_data: array[3, GLuint] = [ - 0.GLuint, 1.Gluint, 2.Gluint, - ] - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo) - glBufferData(GL_ELEMENT_ARRAY_BUFFER, index_data.sizeof, index_data.addr, GL_STATIC_DRAW) - - glBindVertexArray(0) - - proc main() = let window = gfxWindow.NewWindow(1200, 700, "ASDF") window.SetKeyCallback(key_down) - let source_code = readFile("data/progs/test.lgt") - let tokens = toSeq(lexer.GenerateTokens(source_code)) - for exp in parser.ParseTokens(tokens): - echo exp + let program = LoadProgram("./data/progs/fibcol.lgt") - let board = CreateBoard(256, 256) + const board_width: int = 128 + const board_height: int = 128 + let board = CreateBoard(board_width, board_height) board.InitRendering() + var funcs = newTable({ + "say": (proc(ec: ExecutionContext, args: openarray[int32]): int32 {.closure.} = + echo $args + ), + "set_col": (proc(ec: ExecutionContext, args: openarray[int32]): int32 {.closure.} = + board.SetCol(ec.worker.pos_x.int, ec.worker.pos_y.int, args[0].GLuint) + ), + "step_linear": (proc(ec: ExecutionContext, args: openarray[int32]): int32 {.closure.} = + ec.worker.pos_x += args[0] + while ec.worker.pos_x >= board_width: + ec.worker.pos_x -= board_width.LightInt + ec.worker.pos_y += 1 + while ec.worker.pos_x < 0: + ec.worker.pos_x += board_width.LightInt + ec.worker.pos_y -= 1 + ), + "halt": (proc(ec: ExecutionContext, args: openarray[int32]): int32 {.closure.} = + ec.StopExecution() + ), + "render": (proc(ec: ExecutionContext, args: openarray[int32]): int32 {.closure.} = + glClearColor(0, 0, 0, 1) + glClear(GL_COLOR_BUFFER_BIT) + + board.RebufferColors() + board.Render() + + os.sleep(1) + window.Refresh() + if window.ShouldClose(): + ec.StopExecution() + ) + }) + + let ec = MakeExecutionContext(funcs) + discard ExecuteProgram(ec, program) + while not window.ShouldClose(): glClearColor(0, 0, 0, 1) glClear(GL_COLOR_BUFFER_BIT) - - board.SetCol(random.rand(256), random.rand(256), random.rand(0xffffff).GLuint) board.RebufferColors() board.Render() diff --git a/src/gfx/window.nim b/src/gfx/window.nim index 6a80640..1b7cefa 100644 --- a/src/gfx/window.nim +++ b/src/gfx/window.nim @@ -2,7 +2,7 @@ import glfw3 as glfw import opengl type - Window* = object + Window* = ref object window: glfw.Window width, height: cint title: cstring diff --git a/src/lang/executer.nim b/src/lang/executer.nim new file mode 100644 index 0000000..4988ee2 --- /dev/null +++ b/src/lang/executer.nim @@ -0,0 +1,165 @@ +import os +import tables +import ./types/types +import ./types/ast +import ./program +import ../board/board +import ../gfx/window + +type + LightWorker = ref object + var_1*, var_2*, var_3*, var_4*: LightInt + var_5*, var_6*, var_7*, var_8*: LightInt + pos_x*, pos_y*: LightInt + + ExecFuncs = TableRef[string, proc(ec: ExecutionContext, args: openarray[LightInt]): LightInt] + + ExecutionContext* = ref object + worker*: LightWorker + builtin_functions: ExecFuncs + defined_functions: TableRef[string, seq[LightExpr]] + running: bool + +proc MakeEmptyWorker(): LightWorker = + LightWorker() + +proc MakeExecutionContext*(funcs: ExecFuncs): ExecutionContext = + let worker = MakeEmptyWorker() + let defined_functions = newTable[string, seq[LightExpr]]() + ExecutionContext( + worker: worker, + builtin_functions: funcs, + defined_functions: defined_functions, + running: false + ) + +proc ExecuteLines(ec: ExecutionContext, lines: seq[LightExpr]): LightInt + +func GetVar(worker: LightWorker, variable: LightVariable): LightInt = + case variable: + of var1: worker.var_1 + of var2: worker.var_2 + of var3: worker.var_3 + of var4: worker.var_4 + of var5: worker.var_5 + of var6: worker.var_6 + of var7: worker.var_7 + of var8: worker.var_8 + of varX: worker.pos_x + of varY: worker.pos_y + +func SetVar(worker: LightWorker, variable: LightVariable, value: LightInt): LightInt = + case variable: + of var1: worker.var_1 = value + of var2: worker.var_2 = value + of var3: worker.var_3 = value + of var4: worker.var_4 = value + of var5: worker.var_5 = value + of var6: worker.var_6 = value + of var7: worker.var_7 = value + of var8: worker.var_8 = value + of varX: worker.pos_X = value + of varY: worker.pos_Y = value + + value + +proc EvalExpr(ec: ExecutionContext, exp: LightExpr): LightInt = + case exp.kind: + of leNull: + 0 + + of leVar: + GetVar(ec.worker, exp.var_name) + + of leNumLit: + exp.value + + of leOp: + let + left = EvalExpr(ec, exp.left) + right = EvalExpr(ec, exp.right) + + case exp.operation: + of loAdd: left + right + of loSub: left - right + of loMul: left * right + of loDiv: left div right + of loMod: left mod right + of loGt: + if left > right: 1 + else: 0 + of loGte: + if left >= right: 1 + else: 0 + of loLt: + if left < right: 1 + else: 0 + of loLte: + if left <= right: 1 + else: 0 + of loEq: + if left == right: 1 + else: 0 + of loNeq: + if left != right: 1 + else: 0 + + of leAssign: + let value = EvalExpr(ec, exp.expression) + SetVar(ec.worker, exp.variable, value) + + of leIf: + let cond = EvalExpr(ec, exp.condition) + if cond != 0: + ExecuteLines(ec, exp.body) + else: + 0 + + of leWhile: + while ec.running: + let cond = EvalExpr(ec, exp.condition) + if cond == 0: + break + + discard ExecuteLines(ec, exp.body) + 0 + + of leFuncCall: + if ec.builtin_functions.hasKey(exp.func_name): + var args = newSeq[LightInt]() + for param in exp.params: + args.add(EvalExpr(ec, param)) + ec.builtin_functions[exp.func_name](ec, args) + + elif ec.defined_functions.hasKey(exp.func_name): + ExecuteLines(ec, ec.defined_functions[exp.func_name]) + + else: + raise newException(ValueError, "Cannot call undefined function") + + of leFuncDef: + if ec.defined_functions.hasKey(exp.def_func_name): + raise newException(ValueError, "Cannot redefine function") + + else: + ec.defined_functions[exp.def_func_name] = exp.func_body + 1 + else: + 0 + +proc ExecuteLines(ec: ExecutionContext, lines: seq[LightExpr]): LightInt = + if not ec.running: + return 0 + + var last: LightInt + for line in lines: + last = EvalExpr(ec, line) + if not ec.running: break + last + +proc ExecuteProgram*(ec: ExecutionContext, prog: LightProgram): LightInt = + ec.running = true + ExecuteLines(ec, prog.code) + +proc StopExecution*(ec: ExecutionContext) = + ec.running = false diff --git a/src/lang/lexer.nim b/src/lang/lexer.nim index a5acc32..6e754c8 100644 --- a/src/lang/lexer.nim +++ b/src/lang/lexer.nim @@ -2,99 +2,107 @@ import strutils import parseutils import sequtils -import ./types -import ./tokens +import ./types/types +import ./types/tokens iterator Generate_tokens*(source: string): LightToken = - for token, is_sep in strutils.tokenize(source, {' ', '\n', ';', '\t', '=', ',', '(', ')'}): - if is_sep: - if token.contains({'='}): - yield LightToken(kind: ltEq) - if token.contains({','}): - yield LightToken(kind: ltParamDelim) - if token.contains({'('}): - yield LightToken(kind: ltParamStart) - if token.contains({')'}): - yield LightToken(kind: ltParamEnd) - if token.contains({'\n', ';'}): - yield LightToken(kind: ltExprDelim) + for line in strutils.split(source, "\n"): + if line.strip.startsWith("//"): continue - if token.startsWith('$'): - let varString = token[1 .. ^1].toLowerAscii - var varName: LightVariable + for token, is_sep in strutils.tokenize(line, {' ', ';', '\t', ',', '(', ')'}): + if is_sep: + if token.contains({','}): + yield LightToken(kind: ltParamDelim) + if token.contains({'('}): + yield LightToken(kind: ltParamStart) + if token.contains({')'}): + yield LightToken(kind: ltParamEnd) + if token.contains({';'}): + yield LightToken(kind: ltExprDelim) + continue - if varString == "": - raise newException(IOError, "Expected variable name") - else: - if varString == "mem_1": varName = var1 - elif varString == "mem_2": varName = var2 - elif varString == "mem_3": varName = var3 - elif varString == "mem_4": varName = var4 - elif varString == "mem_5": varName = var5 - elif varString == "mem_6": varName = var6 - elif varString == "mem_7": varName = var7 - elif varString == "mem_8": varName = var8 - elif varString == "pos_x": varName = var9 - elif varString == "pos_y": varName = var10 + if token.startsWith('$'): + let varString = token[1 .. ^1].toLowerAscii + var varName: LightVariable + + if varString == "": + raise newException(IOError, "Expected variable name") else: - raise newException(IOError, "Invalid variable name.") + if varString == "mem_1": varName = var1 + elif varString == "mem_2": varName = var2 + elif varString == "mem_3": varName = var3 + elif varString == "mem_4": varName = var4 + elif varString == "mem_5": varName = var5 + elif varString == "mem_6": varName = var6 + elif varString == "mem_7": varName = var7 + elif varString == "mem_8": varName = var8 + elif varString == "pos_x": varName = varX + elif varString == "pos_y": varName = varY + else: + raise newException(IOError, "Invalid variable name.") - yield LightToken(kind: ltVar, var_name: varName) + yield LightToken(kind: ltVar, var_name: varName) - elif token.startsWith('!'): - let funcName = token[1..^1].toLowerAscii - yield LightToken(kind: ltFunc, func_name: funcName) + elif token.startsWith('!'): + let funcName = token[1..^1].toLowerAscii + yield LightToken(kind: ltFunc, func_name: funcName) - elif token == "=": - yield LightToken(kind: ltEq) + elif token.startsWith('#'): + let funcName = token[1..^1].toLowerAscii + yield LightToken(kind: ltFuncDef, func_name: funcName) - elif token.isDigit: - var value: int - discard parseutils.parseInt(token, value) + elif token == "=": + yield LightToken(kind: ltEq) - yield LightToken(kind: ltNum, value: value.LightInt) + elif token.isDigit: + var value: int + discard parseutils.parseInt(token, value) - elif token.toLowerAscii == "if": - yield LightToken(kind: ltIf) - elif token.toLowerAscii == "while": - yield LightToken(kind: ltWhile) - elif token.toLowerAscii == "break": - yield LightToken(kind: ltBreak) - elif token.toLowerAscii == "then" or token.toLowerAscii == "do" or token == "{": - yield LightToken(kind: ltBlockStart) - elif token.toLowerAscii == "end" or token == "}": - yield LightToken(kind: ltBlockEnd) + yield LightToken(kind: ltNum, value: value.LightInt) - elif token.toLowerAscii == "goto": - yield LightToken(kind: ltGoto) - elif token.startsWith(':'): - let labelName = token[1 .. ^1] - yield LightToken(kind: ltLabel, label_name: labelName) + elif token.toLowerAscii == "if": + yield LightToken(kind: ltIf) + elif token.toLowerAscii == "while": + yield LightToken(kind: ltWhile) + elif token.toLowerAscii == "break": + yield LightToken(kind: ltBreak) + elif token.toLowerAscii == "then" or token.toLowerAscii == "do" or token == "{": + yield LightToken(kind: ltBlockStart) + elif token.toLowerAscii == "end" or token == "}": + yield LightToken(kind: ltBlockEnd) + + elif token.toLowerAscii == "goto": + yield LightToken(kind: ltGoto) + elif token.startsWith(':'): + let labelName = token[1 .. ^1] + yield LightToken(kind: ltLabel, label_name: labelName) - else: - case token: - of "+": - yield LightToken(kind: ltOp, operation: loAdd) - of "-": - yield LightToken(kind: ltOp, operation: loSub) - of "*": - yield LightToken(kind: ltOp, operation: loMul) - of "/": - yield LightToken(kind: ltOp, operation: loDiv) - of "%": - yield LightToken(kind: ltOp, operation: loMod) - of "<": - yield LightToken(kind: ltOp, operation: loLt) - of "<=": - yield LightToken(kind: ltOp, operation: loLte) - of ">": - yield LightToken(kind: ltOp, operation: loGt) - of ">=": - yield LightToken(kind: ltOp, operation: loGte) - of "==": - yield LightToken(kind: ltOp, operation: loEq) - of "~=": - yield LightToken(kind: ltOp, operation: loNeq) else: - raise newException(IOError, "Invalid token") + case token: + of "+": + yield LightToken(kind: ltOp, operation: loAdd) + of "-": + yield LightToken(kind: ltOp, operation: loSub) + of "*": + yield LightToken(kind: ltOp, operation: loMul) + of "/": + yield LightToken(kind: ltOp, operation: loDiv) + of "%": + yield LightToken(kind: ltOp, operation: loMod) + of "<": + yield LightToken(kind: ltOp, operation: loLt) + of "<=": + yield LightToken(kind: ltOp, operation: loLte) + of ">": + yield LightToken(kind: ltOp, operation: loGt) + of ">=": + yield LightToken(kind: ltOp, operation: loGte) + of "==": + yield LightToken(kind: ltOp, operation: loEq) + of "~=": + yield LightToken(kind: ltOp, operation: loNeq) + else: + raise newException(IOError, "Invalid token") + + yield LightToken(kind: ltExprDelim) diff --git a/src/lang/parser.nim b/src/lang/parser.nim index b040077..1019884 100644 --- a/src/lang/parser.nim +++ b/src/lang/parser.nim @@ -1,7 +1,7 @@ -import ./types -import ./tokens -import ./ast +import ./types/types +import ./types/tokens +import ./types/ast import ../utils/iter @@ -128,6 +128,24 @@ func NextExpr(parser: LightParser, prev: LightExpr, stop_at: set[LightTokenType] params: params ) + elif curr.kind == ltFuncDef: + if parser.tokens.Current.kind != ltBlockStart: + raise newException(ValueError, "Expected block start after function definition") + + parser.tokens.Step() + let body = Parse_block(parser.tokens, ltExprDelim, ltBlockEnd) + + return LightExpr( + kind: leFuncDef, + def_func_name: curr.func_name, + func_body: body + ) + + else: + return LightExpr( + kind: leNull + ) + iterator Parse_tokens*(tokens: seq[LightToken]): LightExpr = var parser = CreateParser(tokens) while not parser.tokens.ReachedEnd: diff --git a/src/lang/program.nim b/src/lang/program.nim new file mode 100644 index 0000000..1dbfce0 --- /dev/null +++ b/src/lang/program.nim @@ -0,0 +1,16 @@ +import sequtils +import tables +import ./types/ast +import ./lexer +import ./parser + +type + LightProgram* = ref object + code*: seq[LightExpr] + +proc LoadProgram*(file_name: string): LightProgram = + let source_code = readFile(file_name) + let tokens = toSeq(lexer.GenerateTokens(source_code)) + let code = toSeq(parser.ParseTokens(tokens)) + + LightProgram(code: code) diff --git a/src/lang/ast.nim b/src/lang/types/ast.nim similarity index 88% rename from src/lang/ast.nim rename to src/lang/types/ast.nim index e0fee97..1cd98b6 100644 --- a/src/lang/ast.nim +++ b/src/lang/types/ast.nim @@ -14,6 +14,7 @@ type leWhile = 8, leBreak = 9, leFuncCall = 10, + leFuncDef = 11, LightExpr* = ref object case kind*: LightExprType @@ -36,6 +37,9 @@ type of leFuncCall: func_name*: string params*: seq[LightExpr] + of leFuncDef: + def_func_name*: string + func_body*: seq[LightExpr] else: discard @@ -51,4 +55,5 @@ proc `$`*(exp: LightExpr): string = of leWhile: "While[" & $exp.condition & " -> " & $exp.body & "]" of leBreak: "Break" of leFuncCall: "FuncCall[" & exp.func_name & ", " & $exp.params & "]" + of leFuncDef: "FuncDef[" & exp.def_func_name & ", " & $exp.func_body & "]" else: "" \ No newline at end of file diff --git a/src/lang/tokens.nim b/src/lang/types/tokens.nim similarity index 90% rename from src/lang/tokens.nim rename to src/lang/types/tokens.nim index 9a9cdcb..b9ceaec 100644 --- a/src/lang/tokens.nim +++ b/src/lang/types/tokens.nim @@ -12,6 +12,7 @@ type ltFunc, ltParamStart, ltParamEnd, ltParamDelim, + ltFuncDef, ltOp, ltEq LightToken* = ref object @@ -22,7 +23,7 @@ type value*: LightInt of ltLabel: label_name*: string - of ltFunc: + of ltFunc, ltFuncDef: func_name*: string of ltOp: operation*: LightOperation @@ -39,8 +40,8 @@ func `$`*(variable: LightVariable): string = of var6: "MEM_6" of var7: "MEM_7" of var8: "MEM_8" - of var9: "POS_X" - of var10: "POS_Y" + of varX: "POS_X" + of varY: "POS_Y" proc `$`*(token: LightToken): string = return @@ -61,5 +62,6 @@ proc `$`*(token: LightToken): string = of ltParamStart: "ParamStartToken" of ltParamEnd: "ParamEndToken" of ltParamDelim: "ParamDelimToken" + of ltFuncDef: "FuncDefToken[" & token.func_name & "]" of ltOp: "OpeartionToken[" & $token.operation & "]" else: "UndefinedToken" \ No newline at end of file diff --git a/src/lang/types.nim b/src/lang/types/types.nim similarity index 91% rename from src/lang/types.nim rename to src/lang/types/types.nim index 847ff5d..d17d6d8 100644 --- a/src/lang/types.nim +++ b/src/lang/types/types.nim @@ -2,7 +2,7 @@ type LightVariable* = enum var1 = 0, var2 = 1, var3 = 2, var4 = 3, var5 = 4, var6 = 5, var7 = 6, var8 = 7, - var9 = 8, var10 = 9 + varX = 8, varY = 9 LightOperation* = enum loAdd, loSub, loMul, loDiv, loMod, -- 2.25.1