Tags: ValeryAntopol/mpl-c
Tags
Incremental update (Matway#1) * Fix language name in compiler messages * Add PRE recursion depth limit * Remove redundant comment * Make global static data store in IR global constant, make debug info for large objects more compact * Remove redundant blank lines, remove redundant comment * Make compiler error message about local capture in real function more informative * Enforce variable dynamization whenever a reference to it copied to dynamic storage * Enlarge limit of characters in type names in debug info, fix order of writes to type names in debug info * Add calling convention option to function signatures * Fix error messages in exportFunction and exportVariable * Remove redundant blank lines and comments, align code in astNodeToCodeNodeImpl * Make compiler produce correct IR for calls of variadic functions with no arguments * Make user-defined calling convention passed directly into IR, implement importVariable and exportVariable for references * Fix compilation fail when code assigned to reference to variadic function * Fix compilation fail when used-defined names "closure" and "self" shadow compiler-defined names * Try to create aliases for functions called by different names * Enforce the use of PRE captures in matching * Add hash sum to debug type names, enlarge debug type name size limit, align type name getters * Remove duplicated line, add forgotten condition to assert in processImpl * Remove compilation error whenever dynamic codeRef created inside dynamic loop * Make compiler dereference outputs of functions in correct order * Remove compilation error whenever virtual variable wrapped into a built-in list * Make compiler error message about local capture in real function more informative * Enforce recompilation of function that assigns codeRef with virtual capture containing code with 0 previously set to that codeRef whenever virtual capture value changed between calls * Make compiler distinguish real functions with a difference in the referenceness of the arguments * Try to implement recursive lambda assignment * Make compiler use empty string as default convention * Implement independent compilation of real functions * Enforce suppression of errors from PRE whenever recursion depth limit was previously exceeded * Refactor code using exportFunction * Make built-in functions new and delete check for stack underflow * Fix formatting * Refactor code * Unify syntax for all callables * Remove func * Remove built-in functions new and delete * Fix compilation fail when code assigned to virtual codeRef * Add exported function to visible names if its body has errors * Move helper functions from codeNode.mpl and group them in variable.mpl * Use ascii table from standard library instead of custom * Remove redundant space * Ensure that arguments in declareBuiltin are known at compile time * Make result of built-in function addressToReference Dirty instead of Dynamic * Extend information about CodeNode * Add matching info about pointees of pointers dereferenced in PRE, pass captures through failed nodes * Add more information to schemas printed in error messages * Check if export function is variadic before arguments processing * Change order of operations in processExportFunctionImpl * Fix error messages in built-in functions importVariable, exportVariable, importFunction, exportFunction * Fix codestyle * Fix that built-in function textSplit would not return value if input is an empty string * Fix that parser would recognize 0x as valid token * Use getter instead of internal field to get size of Array in parser * Make possible to cast a number to a schema of a number * Prohibit creating virtual codeRefs * Make global variables dynamic by default * Fix that invalid IR would be generated for realizing virtual string * Simplify cast in irWriter * Make functions with enforced signature implicitly touch last input whenever it was not explicitly touched * Fix crash whenever a schema is dynamised * Make shadows inherit staticity from origin * Make fields inherit staticity from parent * Make variable tree dirty whenever a reference became global * Use specific type string in debug info * Fix typos in error messages * Extend function name in debug info * Make parser correctly recognize names consisting of dots * Use proper source in reallyCreateShadows * Use [useModule] instead of [includeModule] in builtin.mpl * Improve reporting about signature mismatch * Add forgotten information to shadows in [makeShadowsImpl] * Add unwrapped call limit * Make compiler distinguish real and virtual use of variable * Make compiler do not create IR for variables assigned to schemas * Clear results after failing of PRE * Remove redundant blank line * Fix that overload resolving breaks whenever a reference to a value from an overloaded name is captured into another name * Remove redundant makeStringView * Fix that addNamesFromModule would incorrectly check if module already included * Rewrite processing of command line arguments * Remove trailing spaces * Keep usedOrIncludedModulesTable untouched in unregCodeNodeNames * Use appropriate way to copy variable from built-in list * Remove dead code