86c477343d
Updates to error handling in the command line parsing and usage
...
printing.
2019-09-20 14:40:15 -07:00
8ef787572a
Fail-safe fix for windows if the windows color dll doesn't load
...
correctly.
2019-05-02 15:42:23 -07:00
057f5b74eb
Moving to better, more centralized versioning system. Now the Nomsu
...
version is just defined as a list at the top of nomsu.moon, and uses
X.Y.Z form instead of X.Y.Z.W. Added a ([...], from 2) method and a
([...], up to 5) method, and fixed a few upgrade bugs.
2019-02-06 15:34:00 -08:00
72d699fe86
Bunch of changes:
...
- Added shebangs to generated code output
- SyntaxTree:map() -> SyntaxTree:with(), and corresponding changes to
metaprogramming API
- Added (return Lua 1) shorthand for (return (Lua 1))
- (1 and 2 and 3) compile rule mapping to -> (1 and (*extra arguments*))
- Don't scan for errors, just report them when compiling
- Syntax changes:
- Added prefix actions (e.g. #$foo)
- Operator chars now include utf8 chars
- Ditch "escaped nomsu" type (use (\ 1) compile action instead)
2019-02-05 15:47:01 -08:00
bc41cc3a24
Switched to have colors/utf8 be optional, fixed an issue with currently
...
running files leaking when errors occurred (causing spurious circular
import errors), and improved tutorial.
2019-01-29 16:17:33 -08:00
a7339001d2
Adding support for windows
2019-01-27 02:07:18 -08:00
a1b559a3a2
Added metatables for bool, number, function, coroutine. Added
...
run-time check to make sure precompiled code used the same version of
Lua. Methods can now be used in (* compiles to *), etc.
2019-01-25 15:50:51 -08:00
f746ba34d7
Moved all the text method stuff into text.moon instead of splitting
...
across string2/containers. Modified the type stuff to output better type
names and use (a Dict) and (a List) instead of (Dict) and (List). (Text)
now also has a proper constructor. (assume) now also handles a bunch of
different assumptions with smart error messages.
2019-01-22 16:16:53 -08:00
64ef8c1ac8
Removed unnecessary import.
2019-01-18 20:40:53 -08:00
bf37295fae
Updating to v6.15, which includes "external (...)" instead of separate
...
'externally' versions of stuff, and some auto-formatting.
2019-01-15 15:54:28 -08:00
706811fed4
Added warning for nomsu -c foo.lua
2019-01-14 18:01:06 -08:00
fb19d1af11
Fix for nomsu -v foo.lua, and made default nomsupath /opt/nomsu instead
...
of /opt
2019-01-14 18:00:04 -08:00
c1c32688a4
Overhaul in progress, mostly working. Moved all the nomsu packages into
...
lib/, including core/*. Changes to how nomsu environments and importing
work.
2019-01-14 15:43:24 -08:00
0f0fb2256a
Major overhaul of how modules and environments work, along with some
...
steamlining and tweaks to the makefile. Version bump: 6.14.13.8
2019-01-10 16:35:08 -08:00
0760d4fb64
Fix for bug in nomsupath checking of input files.
2018-12-31 02:29:55 -08:00
6edf6a2755
Overhaul of command line argument parsing. Now supports "-abc" as 3
...
flags, and stores them as .a, .b, .c instead of ."-a", etc. (same for
--args)
2018-12-31 01:38:23 -08:00
94740a9b41
Improved command line interface and robustness of tools.
2018-12-18 19:24:37 -08:00
cbbe6b1c14
Updated and fixed the command line API. Introduced the "-t tool" flag
...
for more concisely running tools, removed the "-I file" and replaced it
with "-m files..."
2018-11-26 16:17:07 -08:00
2bbc035f5d
Simplifying the filesystem code (no longer entangled with nomsupath) and
...
using that to simplify the tools. Now the tools directly take lists of
file paths rather than things that might go through nomsupath or
directories or get processed by filetype. Use your shell for globbing stuff like
`nomsu tools/test.nom core/*.nom`
2018-11-20 14:54:40 -08:00
acd1191fb0
Tweaks and API cleanup.
2018-11-19 17:21:17 -08:00
7f47d42040
In-progress (but working) overhaul of some elements including: function
...
calls, lib/thing.nom API, multi-assignments, varargs, etc.
2018-11-17 14:39:08 -08:00
171e9d674e
Re-implemented nomsu -> lua comment translation and added file chunk
...
comments.
2018-11-11 18:28:34 -08:00
b918668f18
Fixed -O optimization flag.
2018-11-11 18:03:25 -08:00
69aaea030e
No longer passing tree
to every compile action. Now, you can just
...
return a LuaCode object, and it will automatically get a source from
`tree` if it didn't already have a source. Plus some fixes/cleanup.
2018-11-09 16:41:19 -08:00
652c29bdef
Major overhaul, splitting nomsu_compiler into nomsu_environment,
...
nomsu_compiler, and nomsu_decompiler. Also added comprehensions.
2018-11-08 15:24:15 -08:00
c8ccbe5f42
Removed utils.lua, simplified some metaprogramming stuff, added native support
...
for calling functions with (%a %b %c) instead of (call %a with [%b,
%c]), renamed _List -> List, _Dict -> Dict, improved example code.
2018-11-06 15:15:14 -08:00
83219f8522
Bumped version number, fixed REPL, and simplified/fixed (use %).
2018-10-31 03:52:00 -07:00
Bruce Hill
79d4bd5125
Got rid of repr() use and replaced with :as_lua() or :as_nomsu() in as
...
many places as possible.
2018-09-18 19:49:29 -07:00
Bruce Hill
96e5e567cb
Working module system.
2018-09-16 16:57:24 -07:00
Bruce Hill
2282085e13
Initial working version.
2018-09-15 20:20:46 -07:00
Bruce Hill
e22c35681f
Auto-upgraded everything.
2018-09-14 19:17:16 -07:00
Bruce Hill
ea310306d7
Initial working version.
2018-09-12 15:32:04 -07:00
Bruce Hill
603c5b1245
Minor fixes/tidying.
2018-09-08 01:06:05 -07:00
Bruce Hill
a35d010dfe
Removed the mandatory "_" prefix for Nomsu variables, renamed "list" and
...
"dict" to "List" and "Dict", or in Nomsu's environment, "_List" and
"_Dict", removed uuid.lua and replaced it with core/id.nom for handling
IDs.
2018-09-06 12:48:16 -07:00
Bruce Hill
54906c0553
Fix for REPL not getting launched when nomsu -I lib
is run.
2018-07-30 14:25:35 -07:00
Bruce Hill
d7e297844c
Fixed stdin handling.
2018-07-24 17:36:50 -07:00
Bruce Hill
b1c0446a3c
Updating file stuff for better compatibility with Lua 5.2 and fixing
...
some bugs. Also updated README to provide more compatibility info and
list Lua5.2+ as a requirement.
2018-07-24 16:43:56 -07:00
Bruce Hill
efdfdcd695
Switched to optimization level 1 by default (i.e. use precompiled nomsu
...
files).
2018-07-24 15:25:31 -07:00
Bruce Hill
b6c99c56a1
Updated package.nomsupath behavior to first search the installed
...
locations, *then* search the current directory. This makes the system `nomsu` run
properly, even if the local directory has a broken file that has the
same name as a nomsu file.
2018-07-24 15:09:55 -07:00
Bruce Hill
991d9994e9
Recompiled files.
2018-07-23 15:25:53 -07:00
Bruce Hill
6e5d551071
Run 'use "core"' by default before running anything else, unless --no-core command line flag is used.
2018-07-23 14:54:05 -07:00
Bruce Hill
ae4670bd8e
Improvements working towards better inline tests. Improved handling of
...
file spoofing and adding -e command line flag for executing a string.
2018-07-21 14:44:26 -07:00
Bruce Hill
6afa71d678
Removing minor change.
2018-07-17 16:15:50 -07:00
Bruce Hill
cbd1437752
Optimization/simplification pass.
2018-07-17 16:13:55 -07:00
Bruce Hill
0442c8dd21
Overhaul of comment handling, plus a few fixes (e.g. a fix for indented
...
text that begins with a nomsu comment)
2018-07-17 14:12:51 -07:00
Bruce Hill
be06fc096a
Major changes to how versioning and parsing work. This should be a
...
better path going forward to handling upgrades. Old syntax files will
stick around for compatibility purposes. Old syntax can be parsed into
valid syntax trees via the old syntax (.peg) files, and then old syntax
trees should be valid and can be upgraded via the normal code path. This
change has lots of improvements to Nomsu codegen too.
2018-07-15 19:43:28 -07:00
Bruce Hill
af62e3e8bf
All tests passing.
2018-07-12 21:24:13 -07:00
Bruce Hill
3fd5687370
Fixed up line numbers for generated code.
2018-07-10 17:10:59 -07:00
Bruce Hill
77a551099a
Updated doc for debugger.
2018-07-10 15:06:08 -07:00
Bruce Hill
fa72d7eeb1
Fixing up error reporting and ripping out LDT-specific code (now a
...
debugger can
be provided by a command line flag)
2018-07-10 15:00:35 -07:00