Releases: dzieje-khorinis/DaedalusCompiler
Releases · dzieje-khorinis/DaedalusCompiler
v0.9.2
v0.9.1
Adjusted version
v0.9.0
Changelog
Features
- Fixed - without --verbose flag, compiler didn't show in which file syntax error occured
- Updated DeclarationUsagesChecked (it's now fully functional)
- Added .ZEN parser (and --zen-paths parameter) used by DeclarationUsagesChecked
- Added --output-ou parameter - it's now possible to generate ou files in custom path
- Updated Application's Help Page (shown when compiler run without arguments, or with --help flag)
v0.8.0
Changelog
Features
- Added possibility to use custom externals file for compilation
- Added extern keyword for declarations of external functions
- Added possibility of assignment when declaring a variable
- Added SingleExpressionWarning (usage of single-expression statement hack)
- Added NamesNotMatchingCaseWiseWarning (when declared & used identifier doesn't match case-wise)
- Added UnusedSymbolWarning (basic support, for full support we would need to parse .ZEN files)
- Added ConstValueChangedWarning (when trying to change value of a const in runtime)
- Added UsageOfNonInitializedVariableWarning
- Added CannotInitializeConstWithValueOfDifferentTypeError
- Added CannotInitializeArrayElementWithValueOfDifferentTypeError
- Added ArgumentsCountDoesNotMatchError
- Added SymbolIsNotAFunctionError
- Added UndeclaredIdentifierError (full support)
- Added WrongClassSizeError (some builtin classes require to have exact size)
- Added UnknownTypeNameError
- Added IterationStatementNotInLoopError
- Added NotConstReferenceError
- Added ArraySizeNotConstIntegerError
- Added ArrayIndexNotConstIntegerError
- Added ReferencedSymbolIsNotArrayError
- Added AttributeOfNonInstanceError
- Added InfiniteInheritanceReferenceLoopError
- Added InfiniteConstReferenceLoopError
- Added InvalidBinaryOperationError
- Added ArithmeticOperationOverflowError
- Added DivideByZeroError
- Added InvalidArgumentTypeToUnaryExpressionError
- Added BinaryOperationsNotAllowedInsideFloatExpression
- Added FloatDoesntSupportCompoundAssignments
- Added UnsupportedOperationError
- Added InvalidUnaryOperationError
- Added AccessToAttributeOfArrayElementNotSupportedError
- Added InconsistentArraySizeError
- Added ArraySizeEqualsZeroError
- Added IntegerLiteralTooLargeError
- Added UnsupportedArrayTypeError
- Added UnsupportedFunctionTypeError
- Added UnsupportedTypeError
- Added ClassDoesNotHaveAttributeError
- Added VarAssignmentNotAllowedHereError
v0.7.0
Changelog
Features
- Added while loop (break and continue keywords supported)
- Compilation is stopped now if there are syntax errors
- Added IterationStatementNotInLoopError (break, continue)
- Added UdeclaredIdentifierError support for const assignment
- Added TooBigArrayIndexError
- Added ArrayIndexOutOfRangeError
- Added TooBigArraySizeError
- Added NotValidClassOrPrototypeError
- Added RedefinitionError
- Added UnableToEvaluateConstError
- Added KeywordUsedAsNameError
- Changed '//supresss WARNING_CODE' comment format to '//! suppress WARNING_CODE'
v0.6.1
Changelog
Features
- Added full support of Ikarus & Lego (newest versions)
- Added new warning when the only code in the line is single expression
- Added strict mode that turns warnings into errors
- Added //suppress: WARNING_CODE comments to suppress warnings
- Added new error detection, when there is too big integer value
- Fixed few minor bugs
v0.6.0
Changelog
Features
- Basic Ikarus and Lego support
- Added new tests
v0.5.1
Changelog
Features
- Added alias in dockerfile
v0.5.0
Changelog
Features
- Added possibility compile daedalus code into DAT file
- Added possibility generate OU files with dialogs
- Added catching of most of semantic errors
- Added support for Windows, MacOS, Linux
- Added possibility to auto build release with circleCI
- Added unit tests for most of use cases
- Added e2e tests of compiler