I've made a new lexer, since I had a hard time making a parser. Here it it:
import std/strutils
import std/os
let file = readFile(paramStr(1))
type
tokenName = enum
default, unknown, ident, str, integer, double, keyword, operator,
seperator
` nim import std/strutils import std/sequtils type tkname = enum def, id, str,
num, kw, uk, op token = object label: tkName value: string method reset(tk: var
token) {.base.} = tk.label = def tk.value = "" method toStr(tk: token): string
{.base.} = var res: string for ch in tk.value: res.add(ch)