- instead of registering tags as strings, they will be registered as functions.
- add ability to mark tags as static, which means if all args are literal or static (or there are no args), then the function will be run on compiletime rather than runtime
- remove number flattening in parser (e.g. 1/4 => 0.25)
- remove globals field and FakeGlobal system
- make a lot of error messages better
- add basic event support, currently only callbacks work, no FontStrings yet.
- allow tag.events to be a function
- allow events to specify the argument to look at, and that argument can even be dynamic instead of a literal.
- note: this is not to be used yet, it is not finished, it is mostly so I can have a proper code history as well as allowing others to view what I have thus far.
- Differences from 2.0: Different syntax, uses a proper LALR parser instead of regexes. Vigorous testing, no longer unit-specific, that will be part of its own namespace.
Feel free to check out test.lua, it's pretty much a full testsuite for LibDogTag-3.0 thus far, and it will stay that way.