mirror of
https://github.com/Reuh/candran.git
synced 2025-10-27 17:59:30 +00:00
Candran 0.3.0
* Added @ self alias * Added short anonymous functions declaration * Made assignment operators works in every direction, except up, down, behind and below, because this would be hard to visualize. * Moved files around. * Error rewriting. * Discover the amazing can commandline tool, which includes a fantastic° REPL and program running abilities. * Added functions which plagiarize Lua. * Added 0.1.0 to the version number. * If you still love pineapple flavored bread, don't hesitate to show your feelings. Also, the tests are out of date. Sad. °: not really.
This commit is contained in:
parent
2a1e293aa5
commit
4af2b41a0d
17 changed files with 2413 additions and 1865 deletions
44
canc.lua
44
canc.lua
|
|
@ -1,44 +0,0 @@
|
|||
#!/bin/lua
|
||||
local candran = require("candran")
|
||||
local cmdline = require("cmdline")
|
||||
|
||||
if #arg < 1 then
|
||||
print("Candran compiler version "..candran.VERSION.." by Reuh")
|
||||
print("Usage: "..arg[0].." [target=<target>] [dest=<destination directory>] [-print] [preprocessor arguments] filename...")
|
||||
return
|
||||
end
|
||||
|
||||
local args = cmdline(arg)
|
||||
|
||||
for _, file in ipairs(args) do
|
||||
local dest = file:gsub("%.can$", "")..".lua"
|
||||
if args.dest then
|
||||
dest = args.dest .. "/" .. dest
|
||||
end
|
||||
|
||||
if not args.print then
|
||||
print("Compiling "..file.." in "..dest)
|
||||
end
|
||||
|
||||
local inputFile, err = io.open(file, "r")
|
||||
if not inputFile then error("Error while opening input file: "..err) end
|
||||
local input = inputFile:read("*a")
|
||||
inputFile:close()
|
||||
|
||||
local out = candran.make(input, args)
|
||||
|
||||
if args.print then
|
||||
print(out)
|
||||
else
|
||||
local outFile = io.open(dest, "w")
|
||||
if not outFile then
|
||||
os.execute("mkdir -p "..dest:gsub("[^/]+%.lua$", ""))
|
||||
outFile, err = io.open(dest, "w")
|
||||
if not outFile then
|
||||
error("Error while writing output file: "..err)
|
||||
end
|
||||
end
|
||||
outFile:write(out)
|
||||
outFile:close()
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue