aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2018-02-02Restructured the nomsu files to group all the essentials into core/ andBruce Hill
all the optionals into lib/. lib/core.nom and tests/all.nom are no longer needed now.
2018-01-31Added colons for aesthetics.Bruce Hill
2018-01-30Removed "core_defs"Bruce Hill
2018-01-30Overhaul of indentations. Now strictly requiring exactly 4 spacesBruce Hill
everywhere, and supporting indented string interpolations.
2018-01-30Fix for bad indentation.Bruce Hill
2018-01-29Added numeric-for list comprehensionBruce Hill
2018-01-26Added a ton of tests for virtually all the functionality. Helped me findBruce Hill
and fix a lot of latent problems.
2018-01-26Removed nomsu:write() and nomsu:writeln() and replaced with just plainBruce Hill
ol' print()
2018-01-25Added some training wheels for functions.Bruce Hill
2018-01-25Fixed up how_do_i with updated syntax.Bruce Hill
2018-01-25Overhaul of compiling API (eliminated some of the expr/statementsBruce Hill
helpers and forced the use of {expr=..., locals=...}-type syntax. This helped fix up all of the cases like loops where locals were being mishandled and led to some cleaner code.
2018-01-24Updated and improve syntax for some stuff. Also added string indexingBruce Hill
like in python, including slices.
2018-01-24Fixed id for nil/NaN and cleaned up collection metatable stuff.Bruce Hill
2018-01-24Updated training wheels with new syntax and print().Bruce Hill
2018-01-24Fix for some old syntax.Bruce Hill
2018-01-24Cleaned up code duplication in 'compile % to %' and 'compile % to codeBruce Hill
%' and improved generated lua output for the common case (a text value).
2018-01-23Added "export" for explicitly non-local variables.Bruce Hill
2018-01-23Prevented redeclaration of function arguments as locals.Bruce Hill
2018-01-23Added implicit local declarations and new syntax of %var <- %value.Bruce Hill
2018-01-19Updated and fixed up how_do_iBruce Hill
2018-01-19Updated class.nom for new syntax.Bruce Hill
2018-01-19Refactored syntax a bit so that ":" isn't necessary for a block, and canBruce Hill
be used for inline expressions instead. Also, dict literals now use ":" instead of "=".
2018-01-18Cleaned up code output to be just a series of declarations, instead of aBruce Hill
table literal and a loop.
2018-01-18Initial commit of object oriented classes.Bruce Hill
2018-01-17Completely fixed/reworked tree_to_nomsu, and it's okay right now.Bruce Hill
2018-01-16Removed unnecessary semicolons that broke luajit.Bruce Hill
2018-01-12Better usage of ACTION_METADATA and deprecating nomsu.defs.Bruce Hill
2018-01-12Optimized loops to use local vars in loop definitions when possible.Bruce Hill
2018-01-12Added indent actionBruce Hill
2018-01-12Renamed replaced_vars() to be more descriptive.Bruce Hill
2018-01-12Switched to use load() with environment table instead of passing inBruce Hill
nomsu to everything. This has some nice code cleanliness benefits.
2018-01-11Reshuffled all the library code into files that make more sense andBruce Hill
cleaned up some of the library code.
2018-01-11Added "local %" macro as a stopgap for locals.Bruce Hill
2018-01-11Moved text utilities into their own file.Bruce Hill
2018-01-11Fixed ipairs->pairs to make dict iteration work.Bruce Hill
2018-01-11Removed some dead code and streamlined the API a bit. Also addedBruce Hill
training wheels for ease of transitions.
2018-01-11Renamed "require %" to "use %"Bruce Hill
2018-01-11Added "%'s id" to use UUIDs and changed "% = %" to "set % = %" and someBruce Hill
other misc.
2018-01-11Renamed "% mod %" to "wrap % around %"Bruce Hill
2018-01-11Purged references to "macro" and replaced with "compile action" orBruce Hill
"compile-time action".
2018-01-11Renamed def->define_action and defmacro->define_macroBruce Hill
2018-01-11Renamed rule % = % to action % %Bruce Hill
2018-01-11Renamed String -> TextBruce Hill
2018-01-11Overhaul of error reporting and removing nomsu:call(stub, line_no, ...) in ↵Bruce Hill
favor of nomsu.defs[stub].fn(...)
2018-01-10Pretty much mostly working.Bruce Hill
2018-01-09Cleaned up metaprogramming to go "compile to" -> "rule =" -> "parse as".Bruce Hill
This speeds things up a bit, and is more intuitive.
2018-01-08Modernized the codebase a bit to include "immediately:" for immediatelyBruce Hill
running code before further parsing takes place. That means that in the default case, whole files can be run at once, which makes all but the weirdest edge cases make a lot more sense and operate smoothly.
2018-01-07Reworking some stuff so that functions only allow expressions to beBruce Hill
return values with either an explicit "return" statement or if they're the only line in the function, and the line is an expression.
2018-01-07Some overhaul of binary operators so that arbitrary math patterns workBruce Hill
fine.
2018-01-07Added substring operator %x|start - stop|Bruce Hill