This repository has been archived by the owner on Aug 9, 2024. It is now read-only.
(#39) New Lexer, Parser and Interpreter
- Completely remade Parser
- Using a Factory pattern get a Parser per token type. This is using the LL parser pattern.
- Creates a Scope, which consits of a List of Nodes.
- Completely remade Interpreter
- Using a Factory pattern get a Interpreter for each node.
- Returns a BaseValue foreach node.
- Partially Rewrote Lexer, to simplify.
- Created a Object serializer, which takes a Scope and serializes it to binary.
(#49) Semicolons
- Added Semicolon token to parser.
(#51) Error Handling and Validation
- Created Custom exceptions for Type Conversion and Parsing Exceptions
- Added validation for type conversions
- Replaced null return with errors
- Created base class constructors
(#53) Fixing Float and Chaarcter issues
- Moved Logger and Factory to BaseInterpeter
- Moved Logger and Value to BaseVaule
- Added more possible nodes to variables
- Started on Validation methods per entity. #60
- Fixed Float and Character lexing errors
(#62) Command Rework
- Refined and Refactored commands
- Added a dependency injection container, from Application to the Parser and Lexer
- Moved constant variable parameters to
variables.json
and added newEnvironmentVariables
class to get these variables - Created repl command
shell
- Fixed lexer for multiple inputs
- Move common interfaces to
Common.Interfaces
(#66) Implicit usings
- Removed unnecessary usings.
- Added implicit using in
Usings.g.cs
(#68) Lexer Rewrite
- Completely rewrote lexer to remove the static methods and fields.
- Renamed Lexer, Parser and Interpreter to PirateLexer, PirateParser and PirateInterpreter
(#69) FileHandlers
- Added a two filehandlers for writing and reading
(#70) Unit Tests
- Created Unit Tests for Lexer, Parser, Interpreter projects