Skip to content

Releases: lessmoon/xscript

V2.0 Anonymous Inner Struct

20 Mar 16:28

Choose a tag to compare

  1. add PassThisReference annotation for extension struct helper
  2. add support for anonymous inner struct
  3. re-implement the switch statement
  4. add class LinkedSeq to replace seq aiming to fix the problem of deep recursion
  5. add new libs(Stream,StringBuffer and others)
  6. add support for pre-declaration of struct
  7. remove some deprecated libs
  8. bugs fixes

V1.9 Init list of array,compiler optimizing,multi-thread and struct extension helper

21 Mar 03:47

Choose a tag to compare

  1. add support for native annotation based definition for extension
    Struct(Init,StructMethod)
  2. add new demos(containers and etc)
  3. add support for super methods calling
  4. add stop stmt judge(to cut off more unnecessary codes that will never reach)
  5. add support for init list for array
  6. bugs fixed
  7. new libs (add string to paintpad)
    8.multi thread support

V1.8 Struct initial function,extension function renaming and struct extension

21 Mar 03:41

Choose a tag to compare

  1. Changed the way loading extension:use keyword native' instead of loadfunc',and add struct extension interface
  2. add new test cases (including mouse events and keyboards events)
  3. rewrite the tool.GenTable (replaced the tool gentable.exe)
  4. add struct initial function support(initial function
    declaration,definition and invoking)
  5. changed the syntax of array dynamic allocating
  6. add new libs
  7. fixed some bugs

V1.6 Null pointer,stack trace and new memory model

21 Mar 03:37

Choose a tag to compare

  1. changed the memory model(basic type has an initial value,and array and
    struct have an initial value for null)
  2. keyword null support(used for array and struct)
  3. to allocate the memory of a struct use new
    4 .remove the old array definition usage style(type[size])
  4. add support for runtime check for illegal action(null pointer,calling
    stack too deep or new's size negative )
  5. add pretty print for the runtime error(stacktrace support)

V1.5 Add support for inheriting,overloading and overriding

30 Apr 12:49

Choose a tag to compare

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

18 Apr 15:23

Choose a tag to compare

xscript Version 1.4

  • rename Type.Float to Type.Real,Lexer.Real to Lexer.Float
  • add supports for new types(bigint and bigreal)
  • 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

12 Apr 09:14

Choose a tag to compare

xscript Version 1.3

  • Add support for switch statement.Switch statement includes int,string and char.
  • Add new version document for xscript lang reference

New features add

12 Apr 09:21

Choose a tag to compare

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

12 Apr 09:31

Choose a tag to compare

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