Releases: JDDev0/lang
Releases · JDDev0/lang
v1.0.0-beta-02
Lang updates
- Add output of function names for partially called combinator functions to the stack trace output
- Add line numbers to the stack trace output
- Rename
func.moduleExportCollectionVariable()tofunc.moduleExportCompositeVariable() - Rename
func.getModuleVariableCollection()tofunc.getModuleVariableComposite() - Official spelling of this programming language is now
Lang - Add LangTest functions:
func.testAssertTypeEquals()andfunc.testAssertTypeNotEquals() - Rename
func.formatTranslationTemplatePluralization()tofunc.formatTemplatePluralization() - Allow for-each iteration of struct definition objects and instance objects
- Add the
&Pairpredefined struct definition type and functions for it - Rename all LangTest functions from
func.langTest...()tofunc.test...() - Change behavior of
func.makeFinal()andfunc.makeStatic(): Pointer to variable which is to be modified must be provided - Add the
&Complexpredefined struct definition type and functions for it - Add the
&StackTraceElementpredefined struct definition type and functions for it - Define
func.isInstanceOf()and the INSTANCE_OF operator (~~) for struct definition types - Add the member access operator (
::) - Add the
STRUCTdata type and struct functions - Removal of
func.hexToDez() - Removal of
func.getErrorString() - Removal of
func.dtoi()andfunc.dtol() - Removal of
func.getLangRequest() - Removal of
func.condition() - Change behavior of
func.freeVar(): Pointer to variable which is to be deleted must be provided (FUNCTION_POINTERandARRAYvariables can no longer be deleted directly) - Removal of
func.clearVar(),func.clearAllVars(), andfunc.clearAllArrays() func.arrayDelete()was renamed tofunc.arrayReset()- Removal of
func.arrayClear() - Removal of the implicit array variable creation version of
func.arrayMake() - Add
l/Lnumber postfix forLONGvalues - Removal of the
USE_OF_COPY_AFTER_FPwarning - Removal of
func.copyAfterFP() - Change
func.exec(): Execute in callee scope - Improve assignment parsing: If lvalue contains opening
(,[, or{but no matching closing bracket, the expression is no longer an assignment (func.println(Hello = 42)is now working as expected) - Fix parsing of variables in translationKey, token, and function argument list parsing
- Change parsing of
con.repeat()andcon.foreach(): Parse operands as operation expressions - Improve parsing of operation expressions: Keep execution mode inside function calls and array creations (Add parser-only Comma operator)
- Change parsing of
con.if(),con.elif(),con.while()andcon.until(): Parse operand as operation expression instead of condition expression - Change default version of the INC (
▲) operator to (+|) and change default version of the DEC (▼) operator to (-|) - Add internal
functionNameattribute to Function Pointers for better stack trace outputs - Add the
BYTE_BUFFERdata type and byte buffer functions - Fix loading of modules with relative paths
- Removal of pointer redirection
- Add Lang error message for the Java
UnsupportedClassVersionErrorfor native Lang modules
Lang shell updates
- Add saving to .lang file dialog (save: CTRL + S, save as: CTRL + SHIFT + S)
- Change shortcut for inserting special chars to CTRL + I
- Add file chooser for inserting file paths (CTRL + SHIFT + F)
- Add improved auto-complets for
linker.unloadModule()
Lang module updates
- Add optional fields to LMC files:
descriptionandversion
Lang native module updates
- Rename
CONSTRAINT_COLLECTION(Marked as deprecated and will be removed before 1.0.0 will be released) toCONSTRAINT_COMPOSITEin theDataObjectclass - Add the
LangCompositeTypesclass - The
lang.platformpackage was moved outside themodulepackage - Add
throwError()helper methods - Add the
withFunctionName()method in theFunctionPointerObjectclass - Add
functionNameattribute to theFunctionPointerObjectclass - Fix the unload method of Lang native modules was not executed on the same instance the load method was called on
- Add
createDataObject()methods - Add the
callFunctionPointer(String, List<DataObject>, final int)method - Add the
callFunctionPointer(DataObject, List<DataObject>, final int)method - Add the
getPredefinedFunctionAsDataObject()method
WARNING: The Lang programming language specification for v1.0.0 is not finalized. Some breaking changes can still be introduced.
v1.0.0-beta-01
- First v1.0.0 pre-release
WARNING: The Lang programming language specification for v1.0.0 is not finalized. Some breaking changes (like removal of Pointer-redirection or func.copyAfterFP()) can still be introduced.