Skip to content

Releases: walonCode/code-lang

v0.1.10

25 Feb 19:05

Choose a tag to compare

Changelog

  • fd6ee8f add the break and continue in the ast, parsed them and tested
  • 129a466 add the logical AND and OR token and lexed it
  • 2ac3fdf feat: Implement break and continue statements by refactoring the evaluator into a stateful struct with loop depth tracking.
  • 535808c feat: Implement lexical scoping for variable resolution and assignment using pre-computed identifier distances and updated environment operations.
  • 14036c6 feat: Implement short-circuiting logical operators (&&, ||) and update parser precedence.
  • 9a2a7fb feat: Introduce symbol table and scope analysis for static error detection and scope management.
  • 518cebb update readme
  • f2410a8 update readme

v0.1.9

25 Feb 04:02

Choose a tag to compare

Changelog

  • 8577eb5 add struct, evaluate it and tested it
  • f37b62a add the struct token and lexed it, also spilt the ast file in to small files
  • 4c376a9 update the readme, .goreleaser and the workflow

v0.1.8

24 Feb 16:36

Choose a tag to compare

Changelog

  • 33f44fa add the class token, lexed it and test
  • 342e94d add the hash, go and time
  • 5d05bc2 feat: Add hash and os standard library modules, relocating the exit builtin from general to os.
  • 626c2b4 feat: Add a new standard library module for string manipulation functions.
  • e307027 feat: Introduce a math standard library module with common mathematical functions and constants, and register it in the evaluator.
  • 34e433e feat: Introduce a new time standard library module with a Time object and related functions, and allow digits in identifiers.
  • 01c6f43 feat: add and register the math standard library module
  • 9849a33 update the .goreleaser file

v0.1.7

24 Feb 11:22

Choose a tag to compare

Changelog

  • ccba5be chore: Update Goreleaser configuration to simplify build main path, ldflags, and archive format specification.

v0.1.6

24 Feb 11:09

Choose a tag to compare

Changelog

  • 4523a63 chore: Update GoReleaser ldflags to use full package path for version/commit injection and add dist/ to .gitignore
  • b3461bb feat: Document networking and JSON features, update module/member access descriptions, and add corresponding code examples to the README.
  • 6bf4b81 feat: add fs module with readFile and writeFile functions.

v0.1.5

23 Feb 18:42

Choose a tag to compare

Changelog

  • abd1bcf add the net package
  • 2ed5d02 add the server struct update the module
  • 85b94f4 feat: Add JSON serialization/deserialization and HTTP client functionality as standard library modules.
  • 264b49c feat: Add net standard library module and preload http, json, and net modules.
  • eaa3767 feat: Embed build version and commit information, and add a --version flag to display it.
  • 089576f feat: Introduce HTTP client functionality and preload net and json standard library modules.
  • 84a470f feat: Introduce net standard library module with server creation capabilities and a new SERVER_OBJ type.
  • c993042 update the release.yml

v0.1.4

22 Feb 22:52

Choose a tag to compare

Changelog

  • ea5b70b add dot assigned to the language
  • 7fa64e5 add import to the langage
  • 03ea0b9 add the dot accesser to the lexer and token
  • 9be1044 add the dot accessor to the evaluator
  • 33fedda add the dot accessor to the parser and ast also write test for it
  • b398b0a add the import token and lexed it
  • 207bac1 feat: Add built-in functions for type conversion (int, float), user input (input), program exit (exit), and console clearing (clear).
  • 6331082 feat: implement comprehensive assignment evaluation supporting identifiers, member expressions, and index expressions with various operators.
  • 8e39b5b fix the import bug
  • 2e9a02c made the standard libray to be imported
  • e99d1e3 parse import statement, add test and made it ast struct
  • 7924e4b update Readme and .gitignore

v0.1.3

21 Feb 18:04

Choose a tag to compare

Changelog

  • d998c46 add +=, -=, /=, *= to the token and lexer
  • 44da35e add printf and clean the implementation of print
  • 824ec4e add single line and multiline comment
  • a583f90 add the history support in the repl
  • f3be5e9 add the new token to the evaluator
  • 73be001 add the new token to the parser
  • ab9f3d9 add the operation for float and int and also fix the zero division issue
  • c2e1130 add the single and multi-line comment to the token and parser
  • 947e252 add the test for them
  • 1abe304 add the typeof and improve the print
  • f2581a6 fix the multi-line comment bug

v0.1.2

20 Feb 23:49

Choose a tag to compare

Changelog

  • b59578c add elseif to the ast and parser
  • b9d7d98 add for loop to the ast and parser
  • 5888900 add the elseif for while break and continue keyword in the lexer and token
  • 1f215a8 add the elseif to the evaluator
  • 2a58733 add the for loop to the evaluator
  • e6fe6ec add the while loop to the evaluator
  • 0e1eca8 add while loop to the ast and parser and tested it
  • fb449e0 update the readme

v0.1.1

20 Feb 01:05

Choose a tag to compare

Changelog

  • 4d2c3c7 add line and column to the lexer
  • eb98f7b add string indexing
  • f4d5b92 add the line and column for better error handling
  • c29b93a add the line and column to the ast and parser to make better error message
  • 4335c25 update the .goreleaser.yml