Commit Graph

129 Commits (master)

Author SHA1 Message Date
Pavel R. 7adbc171f6 changed types to strict (nil disallowed) in lcode.c
3 years ago
Dibyendu Majumdar e3d8203bd9 Refactor
3 years ago
Dibyendu Majumdar 063a55604e
Merge branch 'new_type_info' into type-maps
3 years ago
Dibyendu Majumdar 8e815bd67a issue #215 adapt fix by XmiliaH from pull request
3 years ago
Dibyendu Majumdar 248c730c43 refactoring via XmiliaH
3 years ago
Dibyendu Majumdar 4a20693671 refactoring via XmiliaH
3 years ago
XmiliaH b4359b9391 Cleanup and Fixes
3 years ago
XmiliaH 435480f4db Better deduction for not
3 years ago
XmiliaH 62ab591343 Fix concat
3 years ago
XmiliaH f80e4d5442 Fix concat
3 years ago
XmiliaH 7789f4f32d Finish type maps
3 years ago
XmiliaH 58cdc8d7dc RAVI_TSTRINGs can be nil
3 years ago
XmiliaH 6af3d804a4 First part for type maps
3 years ago
XmiliaH 871b76fea2 Format changed code
3 years ago
XmiliaH 0b43c94a4d Use the right enum for opcodes
3 years ago
XmiliaH e85634270f Add back that len of table is int and fix tests.
3 years ago
XmiliaH 4cce67ec13 Improve type deduction
3 years ago
Dibyendu Majumdar 2c5b958d04 issue #211 since the up-value carries the type of the local variable, we can safely infer that the result of a get on array is a primitive type
3 years ago
Dibyendu Majumdar b0a5b01142 issue #211 The type of update index op is not known.
3 years ago
Dibyendu Majumdar 170fd797a2 It seems that we don't really need this - must be the bug was elsewhere
3 years ago
Dibyendu Majumdar 9ced7e2bc0 issue #210 bug in recognizing the type change when an expression of VINDEXED type gets resolved
3 years ago
Dibyendu Majumdar 927ddbf6a0 issue #210 LEN on any value other than array or table should be any type
3 years ago
Dibyendu Majumdar b549302d70 issue #209 BNOT on any value other than integer should result in any type
3 years ago
Dibyendu Majumdar 77cd6b9527 Update copyright notices
3 years ago
Dibyendu Majumdar 76accd1930 Update copyright notices
4 years ago
Dibyendu Majumdar 99d9fcbdd2 issue #98 make the normal parser consistent with the new typechecker
5 years ago
Dibyendu Majumdar b2120b97cc issue #98 implement type checks for binary operators
5 years ago
Dibyendu Majumdar 08157b102c issue #157 rename bytecodes
6 years ago
Dibyendu Majumdar 5e552ab4a7 issue #157 more renaming of bytecodes
6 years ago
Dibyendu Majumdar 489e118012 issue #157 more renaming of bytecodes
6 years ago
Dibyendu Majumdar 21028d833b issue #157 more renaming of op codes
6 years ago
Dibyendu Majumdar 31f4e178ee issue #157 more opcode renaming
6 years ago
Dibyendu Majumdar fc6929aa58 issue #157 more opcode renaming
6 years ago
Dibyendu Majumdar 7041827d53 issue #157 rename the array get/set op codes
6 years ago
Dibyendu Majumdar eec9a49414 issue #157: rename GETTABLE_SK and SETTABLE_SK opcodes
6 years ago
Dibyendu Majumdar d4d679bb3c issue #156
6 years ago
Dibyendu Majumdar ef66365b5d issue #148 fix bad code gen for OP_RAVI_SELF_S
6 years ago
Dibyendu Majumdar 64a6a2372b issue #146 Currently Ravi's code generator assumes that #operator returns an integer value, but if user has set a metamethod for __len the operator# might return a non-integer value. This issue came to light when testing lpeg, which redefines #operator to return userdata objects. We now try to only expect integer values when # is used in fornum loops, or applied to table or array. Additionally unless the target is an array, we also emit a TOINT opcode to validate at runtime that the value in integer type
6 years ago
Dibyendu Majumdar b2c6c8ebd4 fix a bug in issue #136 implementation and add experimental support for computed gotos in the VM
7 years ago
Dibyendu Majumdar e740cc73cc issue #136 allow nil to be assigned
7 years ago
Dibyendu Majumdar c96483431f issue #136 more type checking
7 years ago
Dibyendu Majumdar 1e23abbbff issue #136 more type checking
7 years ago
Dibyendu Majumdar d3f821c59a issue #136 wip
7 years ago
Dibyendu Majumdar daf2b8bfe9 issue #136 wip
7 years ago
Dibyendu Majumdar 5e03430d7d issue #136 additional type assertions
7 years ago
Dibyendu Majumdar 03485223ed change GETTABLE_I to work on objects that may not be tables
7 years ago
Dibyendu Majumdar 1728f0bded missed opportunity to specialize a GETTABUP operation
7 years ago
Dibyendu Majumdar 20e29c68cf issue #127 IDIV applied on doubles does not yield integer values
7 years ago
Dibyendu Majumdar 3470206d93 issue #127 IDIV operation should cause result type to be marked as integer type when type checking
7 years ago
Dibyendu Majumdar 77e2f6268d issue #119
7 years ago