Commit Graph
63 Commits
Author SHA1 Message Date
Anton Medvedev 54c29bfda2 Simplify "not in" operators 2022-11-06 13:04:35 +01:00
Anton MedvedevandGitHub 205e24128e Add better error message for OpFetchField on missing field (#276) 2022-11-05 22:00:11 +01:00
Anton Medvedev 371e24c30d Add ^ as exponent operator 2022-11-05 20:21:48 +01:00
Anton MedvedevandGitHub 1c69d7a8ef Add OpCallTyped (#269) 2022-11-05 13:44:15 +01:00
Anton MedvedevandGitHub e0b6b22aeb Save AST in compiled program (#268) 2022-11-03 07:53:17 +01:00
Anton Medvedev f015529ff2 Fix deref if types not available 2022-11-02 20:34:28 +01:00
Anton Medvedev b8346f98f1 Optimize method calls and builtins opcodes 2022-10-27 21:23:04 +02:00
Anton Medvedev fa60189e66 Cleanup 2022-10-26 18:48:27 +02:00
Anton Medvedev 0362840f27 Fix compile tests 2022-10-25 23:47:11 +02:00
Anton Medvedev 8e94d01066 Fix jump offsets 2022-10-25 23:15:05 +02:00
Anton Medvedev aa5c5f09e1 Split arguments 2022-10-25 23:13:20 +02:00
Anton Medvedev fb3a5e74a0 Cleanup compiler 2022-10-25 01:43:47 +02:00
Anton Medvedev cfc9843ccb Simplify vm and opcodes 2022-10-24 23:26:22 +02:00
Anton Medvedev 0b523f347e Sort imports 2022-10-22 13:39:04 +02:00
Anton Medvedev c19d6d15fc Refactor operator patcher 2022-10-22 13:30:57 +02:00
Anton Medvedev b77102221c Add tests 2022-10-21 21:48:18 +02:00
Anton Medvedev dd65a0fc2d Add compiler member fetch optimizations 2022-10-20 22:54:36 +02:00
Anton Medvedev 4104ff8967 Add runtime.Field 2022-10-19 23:37:56 +02:00
Anton Medvedev 2a34731b5a Add FieldByIndex optimization 2022-10-19 00:55:01 +02:00
Anton Medvedev b0705d7de2 Add OpDeref opcode 2022-10-18 00:08:53 +02:00
Anton Medvedev ab621bec0e Optional chaining 2022-10-15 15:59:39 +02:00
Anton Medvedev 2a88e4a52a Refactor type checker 2022-10-13 10:01:35 +02:00
Anton Medvedev da68511d23 Add vm/runtime package 2022-10-12 15:22:14 +02:00
Anton Medvedev 6a7630dba1 Remove ast nodes 2022-10-10 20:26:59 +02:00
Anton Medvedev b24419bf76 Remove wrong nil safe implementation 2022-10-09 12:53:30 +02:00
Zach BadgettandGitHub 3eb822d35a Add nil safe operator (#173) 2021-06-07 22:53:12 +03:00
Anton Medvedev 5e0ef67844 Use ast.Patch func 2020-03-16 16:29:25 +03:00
Anton Medvedev e5049dfda3 Make conf top-level package 2020-03-16 16:29:25 +03:00
Anton MedvedevandGitHub acba548cab Add ConstExpr 2020-03-10 08:36:12 +03:00
Anton Medvedev 44eb8c179b Improve location storage in program 2020-03-04 16:12:02 +03:00
Anton Medvedev c84dc87836 Improve runtime errors 2020-03-04 16:12:02 +03:00
Anton Medvedev 9d53cd2118 Add count builtin 2020-02-25 17:39:06 +03:00
Anton Medvedev bb54a08b53 Sort imports 2020-02-25 09:33:17 +03:00
Anton Medvedev 0809f2c91b Refactor to use new parser 2020-02-25 09:33:17 +03:00
Anton Medvedev de5d4adc5d Lexer first commit 2020-02-25 09:33:17 +03:00
Anton Medvedev c1bb0dd875 Fix bug with compiling integer values to interface{} types. 2019-12-11 18:11:14 +07:00
Anton Medvedev 9d0fed6ca7 Fix type in bench 2019-10-16 11:07:24 +03:00
Anton Medvedev 13c0a78fa4 Add fast call opcode for special case functions 2019-10-15 14:43:03 +03:00
Anton Medvedev e2f2207d81 goimports 2019-07-02 14:34:48 +03:00
Anton Medvedev 83979d9691 Add in array optimization 2019-06-26 10:35:59 +03:00
Anton Medvedev 82236d001f Improve constant folding algorithm 2019-06-26 10:17:39 +03:00
Anton Medvedev c9cc2b9ca4 Copy type and location on patch 2019-06-25 18:25:24 +03:00
Anton Medvedev 02ca6fbf39 Add more optimizations 2019-06-25 16:25:14 +03:00
Anton Medvedev 4547b362d9 Add constant folding optimization 2019-06-25 15:42:57 +03:00
Anton Medvedev b79ca26ff0 Add slice operator 2019-06-25 14:49:03 +03:00
Anton Medvedev 08ac84ad03 Add cast feature 2019-06-22 15:15:58 +03:00
Anton Medvedev 50f83299ac Move back to github host 2019-06-22 14:25:58 +03:00
Anton Medvedev aaab4a59b1 Add new internal package conf 2019-06-22 14:22:19 +03:00
Anton Medvedev 43a6054d04 Add new opcode OpRot 2019-06-21 14:18:54 +03:00
Anton Medvedev 1cb2656067 Use gopkg.in for v2 imports 2019-06-21 14:18:54 +03:00