Commit Graph
64 Commits
Author SHA1 Message Date
100vlxandGitHub 005b78f0ab Get source from *vm.Program (#491) 2023-12-06 11:02:19 +01:00
Anton Medvedev 551d2a7e0f Use expr-lang/expr 2023-12-03 21:53:01 +01:00
Anton Medvedev 8048a93b2d Add ast comments
Rename program.Opcodes() to program.DisassembleWriter()
2023-11-27 19:15:20 +01:00
Anton Medvedev 2cf93593f4 Hide fields in vm.Program 2023-11-27 13:52:56 +01:00
Anton Medvedev 6d8d2390cf Remove countBy 2023-08-30 14:55:05 +02:00
Anton Medvedev 5023b3005d Add reduce() 2023-08-30 13:33:16 +02:00
Anton Medvedev 7f85c0551f Add countBy() 2023-08-30 12:07:16 +02:00
Anton Medvedev 32f5fde2eb Replace interface{} with any 2023-08-30 11:25:15 +02:00
Anton Medvedev 3f57b885d4 Add groupBy 2023-08-30 11:14:54 +02:00
Anton Medvedev 166d8b8ce9 Add filter()[-1] optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 8c52bd6d8b Add filter()[0] optimization 2023-08-24 11:15:43 +02:00
Anton Medvedev 2c139ca36a Add find() and findIndex() 2023-08-24 11:15:43 +02:00
Anton Medvedev ed5f9bfbcb Add variables 2023-08-22 22:30:07 +02:00
Anton Medvedev 4ae978d384 Allow to disable builtins 2023-08-19 22:24:42 +02:00
Anton Medvedev ffc47e10cc Add func names in disassemble 2023-08-15 23:05:53 +02:00
Anton Medvedev 7e1b727f95 Integrate repl with debugger 2023-08-15 16:40:36 +02:00
Anton Medvedev 719f30d3ad Add builtin functions 2023-08-14 15:37:06 +02:00
Anton Medvedev 67bd8e364d Add string() builtin 2023-08-14 13:06:29 +02:00
Anton Medvedev 8177d8bd9f Add OpCallBuiltin opcode to avoid an extra allocation 2023-08-14 11:50:42 +02:00
Anton Medvedev 8d959ea2fe Refactor builtin.Function and move builtin funcs to builtin package 2023-08-14 11:50:42 +02:00
Anton Medvedev 756bf2f9b1 Add OpInvalid 2023-07-19 17:19:59 +04:00
Anton Medvedev fda73cd719 Fix OpLoadEnv disassemble 2023-07-19 17:09:45 +04:00
Anton Medvedev 72d233630c Beautify program disassemble 2023-03-21 11:43:04 +01:00
Anton Medvedev 95f8b7ff17 Add nil coalescing operator 2023-02-03 15:53:43 +01:00
Anton Medvedev 3e919ad53f Unflatten builtins opcodes 2023-01-30 22:24:35 +01:00
Anton Medvedev 12a40c72cb Flatten builtin opcodes in vm 2023-01-30 22:24:35 +01:00
Anton Medvedev b737180582 Improve builtin performance 2023-01-29 20:34:15 +01:00
Anton Medvedev 4b7c89eff1 Add expr.Function feature 2023-01-29 20:34:15 +01:00
Anton Medvedev 247fc09c06 Rename opcodes 2022-11-12 14:40:05 +01:00
Anton Medvedev 6829eb018b Rename opcodes 2022-11-12 14:38: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 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 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 aa5c5f09e1 Split arguments 2022-10-25 23:13:20 +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 dd65a0fc2d Add compiler member fetch optimizations 2022-10-20 22:54:36 +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 370551eb7e Remove obsolete opcode 2022-10-16 22:20:55 +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 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 44eb8c179b Improve location storage in program 2020-03-04 16:12:02 +03:00
Anton Medvedev bb54a08b53 Sort imports 2020-02-25 09:33:17 +03:00
Anton Medvedev de5d4adc5d Lexer first commit 2020-02-25 09:33:17 +03:00