Skip to content

Releases: WingedSeal/jmc

v1.1.0-alpha.2

19 Jan 03:16
Compare
Choose a tag to compare
v1.1.0-alpha.2 Pre-release
Pre-release

Changelog v1.1.0-alpha.2

Fixed

  • Fixed whitespaces after say command being insignificant.
  • Fixed Variable Operation with variable being broken

v1.1.0-alpha.1

18 Jan 13:25
Compare
Choose a tag to compare
v1.1.0-alpha.1 Pre-release
Pre-release

Changelog v1.1.0-alpha.1

Changed

  • Allow whitespace(s) between argument of command instead of space.

Dev section

Add " ".join(split(command, ' ')) to Command.command

v1.1.0-alpha

18 Jan 11:39
Compare
Choose a tag to compare
v1.1.0-alpha Pre-release
Pre-release

Changelog v1.1.0-alpha

Add

  • Add logic gate processing for condition (!, &&, ||, ())
  • Allowed nesting class and function (You still can't define function inside function)

Changed

  • @import now import at the line it's called instead of the top of the file
  • @import will only works in the highest level (Outside function, class, etc.)
  • Change configuration file name to jmc_config.json

Fixed

  • Fixed stuff inside strings/brackets triggering keywords
  • Nested layers of flow controls now work properly
  • Fixed whitespaces inside string being turned to spacebar

Dev section

Refactor entire codebase

  • Use recursion for parsing
  • Use config.py instead of directly reading from config file in logging
  • Put class, condition, for, function, if_else, while inside flow_control
  • Change PackGlobal to DataPack
  • Instead of giving a singleton object to every function, every function is now a method of DataPack instead (Completely another way around)
  • Delete unnecessary import in __init__.py
  • Use class instead of method for condition parsing
    • Use recursion to allow parsing condition with parenthesis
    • Condition now have power over keyword if (It can now change execute if to execute unless)
  • Replace most of ? with \s*

v1.0.2

17 Jan 09:54
Compare
Choose a tag to compare

Changelog v1.0.2

Changed

  • More stable arguments parsing for built-in functions
  • # now requires a space after it to count as comment

Fixed

  • Fixed default description typo.

Dev section

  • Add parse_split_comma, Improve match_bracket
  • Fixed typo, parse_split_comma -> parse_split
  • ((# ).*)|((\/\/).*)

v.1.0.1

16 Jan 15:06
Compare
Choose a tag to compare

Changelog v1.0.1

Fixed

  • Fixed flow controls calling incorrect function

v1.0.0

16 Jan 04:54
86b59a8
Compare
Choose a tag to compare

** Changelog: **

No bugs found so far (i.e. nothing)

v1.0.0-beta.1

15 Jan 10:25
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

Changelog v1.0.0-beta.1

Fixed

  • Fixed 0-9 not getting regonized as variable
  • Fixed variables in If/Else in For Loop being global instead of local

Add

  • Allow flow controls inside flow controls inside flow controls and so on...
  • Added version in logger debug_mode

Dev section

  1. Fix for loop

    • Change Re.var to r'($[a-zA-Z0-9._-]+)'
    • Call capture_for_loop before capture_if_else
    • Add logger in log.py
    • logger now debug version
    • Allow flow controls inside flow controls inside flow controls and so on...
      with multi function class and file "recursion". (I'm so big brain lol)
      • Flow controls are now caled from Function instead of compile
      • All flow controls' imports are in the __init__ method to avoid circular import
      • If there's a flow control recursion it'll keep doing a recursion until the flow controll classes are no longer called which will end the recursion
  2. Fix <var>-=<int>

    • Change Re.var to r'($[a-zA-Z0-9._]+)'
  3. Fix For loop inside For loop not working

v1.0.0-beta

15 Jan 08:32
Compare
Choose a tag to compare
v1.0.0-beta Pre-release
Pre-release

Changelog v1.0.0-beta

Added

  • Added Compile loop feature. If keep_compiling in config is set to true, compiler will compile again everytime user click to continue (No need to restart program)
  • Added for loop feature
  • Added icon for JMC-Compiler.exe

Fixed

  • Fixed . and _ not getting regonized as variable

Changed

  • New changelog format
  • Use let instead of int for variable declaring

Dev section

  1. Add For Loop

    • Add _for.py, For, capture_for_loop
    • Remove useless debug statement in capture_while_loop
    • Change let to int in Command.custom_syntax.var_declare
    • Change Re.var to r'($[a-zA-Z._]+)'
  2. Fix for loop not working

    • Add capture_for_loop in compile.py
    • Change for.py to _for.py
    • Add _for.py in __init__.py
    • Pass arguments[0] to regex in For Loop
    • In For, update $<var> to '$__private__.<var> before calling condition
  3. Add {arguments[2]}; in For class

  4. Fix For Loop not working

  5. Update features.md

    • Add For Loop
    • Change format
    • Add spoilers for future features

v1.0.0-alpha.3

14 Jan 14:51
Compare
Choose a tag to compare
v1.0.0-alpha.3 Pre-release
Pre-release

Changelog:

* Fix while loop calling the wrong function
* Fix incomplete logging
* Fix jmc trying to import jmc.config before generating it

v1.0.0-alpha.2

14 Jan 14:19
c41872a
Compare
Choose a tag to compare
v1.0.0-alpha.2 Pre-release
Pre-release

Changelog:

* Fix custom condition <var>==<var> not working
* Fix increment syntax
* Fix debug_mode not working
* Fix custom operation syntax having significant whitespace

+ Add while loop feature