Releases: lessmoon/xscript
Releases · lessmoon/xscript
V2.0 Anonymous Inner Struct
- add
PassThisReferenceannotation for extension struct helper - add support for anonymous inner struct
- re-implement the switch statement
- add class
LinkedSeqto replace seq aiming to fix the problem of deep recursion - add new libs(
Stream,StringBufferand others) - add support for pre-declaration of struct
- remove some deprecated libs
- bugs fixes
V1.9 Init list of array,compiler optimizing,multi-thread and struct extension helper
- add support for native annotation based definition for extension
Struct(Init,StructMethod) - add new demos(containers and etc)
- add support for super methods calling
- add stop stmt judge(to cut off more unnecessary codes that will never reach)
- add support for init list for array
- bugs fixed
- new libs (add string to paintpad)
8.multi thread support
V1.8 Struct initial function,extension function renaming and struct extension
- Changed the way loading extension:use keyword
native' instead ofloadfunc',and add struct extension interface - add new test cases (including mouse events and keyboards events)
- rewrite the tool.GenTable (replaced the tool gentable.exe)
- add struct initial function support(initial function
declaration,definition and invoking) - changed the syntax of array dynamic allocating
- add new libs
- fixed some bugs
V1.6 Null pointer,stack trace and new memory model
- changed the memory model(basic type has an initial value,and array and
struct have an initial value for null) - keyword null support(used for array and struct)
- to allocate the memory of a struct use new
4 .remove the old array definition usage style(type[size]) - add support for runtime check for illegal action(null pointer,calling
stack too deep or new's size negative ) - add pretty print for the runtime error(stacktrace support)
V1.5 Add support for inheriting,overloading and overriding
xscript Version 1.5
- add support for inheriting
- add support for overloading operand and conversion
- add support for defining virtual functions and overriding virtual functions
- change the memory model of struct to linear memory(now use array instead of hashmap)
- bugs fixed(for-loop,switch)
- change the grammar of loading extension functions
- add command arguments(
_args_) - fixed the hack way to implement struct definition(now use identifier instead of adding it to lexer's symbols table)
- add test cases
V1.4 Add supports for new types and split expr and stmt
xscript Version 1.4
- rename Type.Float to Type.Real,Lexer.Real to Lexer.Float
- add supports for new types(
bigintandbigreal) - rewrite make and run scripts
- add sin and sleep functions in extension
- add optimizer for intitialed declaration statement
- fixed a bug in CharRel(it didn't support `!=' operand)
- fixed a bug in Lexer(it can't get the operand `/=')
- add new suffix for integer and real constant(iIrR)
- add override checks for most class
- rewrite type-conversion judgement(see Type Type.max(Type t1,Type t2))
- add some test cases for bigint and bigreal
Add support for switch statement
xscript Version 1.3
- Add support for switch statement.Switch statement includes int,string and char.
- Add new version document for
xscriptlang reference
New features add
xscript Version 1.2
- Bugs fixed
- Add function(include member function of struct) pre-declaration
- Add function completion checking(if not used,it won't throw an error)
- Add new test cases
- Add optimizing for statement
- Rewrite the main class(added some switches)
Finished the basic compiler and runtime environment
xscript Version 1.0
- Finished the basic compiler & runtime environment
- Able to optimize the expression(if it is constant)
- Able to extend using native java class(extension)
- Able to define function(recursively invoking is supported)
- Support for build-in variables(line,version,file)
- Support for dynamic memory allocation
- Add a simple GUI interface support using extension
- Support for basic statement(loop,jump,branch and so on)
- Support for expression(logical,comparison,math and so on)
- Read this document for more information of this lang