Commit Graph

996 Commits (de182d58092e865fff8b69292820cc20c5e1fcc4)

Author SHA1 Message Date
Delyan Angelov 12b8dc2613
v2: fix version 2020-04-02 10:48:29 +02:00
Alexander Medvednikov d57b1ca962 fix valgrind test 2020-04-02 10:44:35 +02:00
Alexander Medvednikov 461a5b2c18 cgen: fix raw strings 2020-04-02 10:15:35 +02:00
Alexander Medvednikov 683aa75b8d cgen: fix filter() 2020-04-02 09:32:10 +02:00
yuyi 24499aa6de
scanner: minor refactoring 2020-04-02 09:27:00 +02:00
krischerven dac304195e
cgen: print: support all the same functionality as println 2020-04-02 09:19:57 +02:00
Major Taylor 3eff266eb9
cgen: vcleanup call fix (#4186) 2020-04-02 09:18:45 +02:00
krischerven 561b7a0ea5
enum: make .str() print the name instead of the value 2020-04-02 03:27:06 +02:00
Alexander Medvednikov 88d15c6611 gl, glfw, freetype fixes 2020-04-02 01:45:22 +02:00
Alexander Medvednikov 1cfe44d9c6 fix windows build 2020-04-02 01:15:00 +02:00
SleepyRoy 74bdc57fad
tests: fix num_lit_call_method_test 2020-04-02 00:18:29 +02:00
Alexander Medvednikov fb4b93dfc0 ci fixes 2020-04-02 00:10:11 +02:00
Alexander Medvednikov 91ffeeb73b parser: fix `(x mut &X)` 2020-04-01 23:56:55 +02:00
Alexander Medvednikov 24fc4a4c04 use autofree only with -autofree for now 2020-04-01 23:28:56 +02:00
Alexander Medvednikov 39434155f8 short struct init syntax 2020-04-01 23:23:20 +02:00
Alexander Medvednikov d9af06f2ad remove remaining files in vlib/compiler 2020-04-01 22:19:09 +02:00
Alexander Medvednikov 8dfb14b1c4 remove 15k lines of code of the old backend; make V2 the default backend 2020-04-01 21:25:31 +02:00
Alexander Medvednikov 30f306dc1a another vfmt2 fix 2020-04-01 18:25:05 +02:00
Alexander Medvednikov f657c4b514 another vfmt2 fix 2020-04-01 18:16:56 +02:00
Alexander Medvednikov 3ef6436bef fix fmt2 test 2020-04-01 17:52:50 +02:00
Alexander Medvednikov e3713de41d fix compilation 2020-04-01 17:17:35 +02:00
Alexander Medvednikov 0de853a2ab v2: lots of minor test fixes 2020-04-01 17:14:21 +02:00
joe-conigliaro 6764c7dd5c
parser/cgen: typeof test fixes - match & fixed array order 2020-04-02 02:13:21 +11:00
yuyi bd8d51fc95
token: small optimizations 2020-04-01 16:50:56 +02:00
Alexander Medvednikov 5a0bfa03b3 fix tests 2020-04-01 15:39:54 +02:00
Alexander Medvednikov 3dae1cc131 move sdl module to github.com/vlang/sdl 2020-04-01 15:27:28 +02:00
Alexander Medvednikov 7fd81d3abb parser: fix ^=; disable generics and interface map tests for now 2020-04-01 15:15:21 +02:00
Alexander Medvednikov b1b811b5ed v2: static (for translated code only) 2020-04-01 13:38:05 +02:00
Alexander Medvednikov 48832200bb parser: allow types that start with &&; cgen: allow ++/-- exprs for now 2020-04-01 13:18:58 +02:00
yuyi 56a9196be8
token: fix nr_tokens 2020-04-01 12:12:25 +02:00
yuyi b28e372106
scanner: small optimization 2020-04-01 12:11:52 +02:00
Major Taylor 9bb1b5d1bb
v2: enum fields separated by commas 2020-04-01 12:11:00 +02:00
Delyan Angelov 5b990078f9
more precise support for internal module tests 2020-03-31 23:42:30 +02:00
Alexander Medvednikov 2ac074655f fix interface test 2020-03-31 21:05:48 +02:00
Alexander Medvednikov 050ec5d9e3 parser: do not allow string{} outside of builtin 2020-03-31 21:03:21 +02:00
Alexander Medvednikov a3bd19ce73 cgen: generate enums earlier 2020-03-31 20:26:15 +02:00
Alexander Medvednikov 2b563bc69f v2: initial interface support; fix enum_hex_test.v 2020-03-31 19:59:41 +02:00
Delyan Angelov 50143ad9bf
v2: be silent by default 2020-03-31 19:58:44 +02:00
Alexander Medvednikov 2fe0e80569 cgen: enum default values 2020-03-31 19:43:11 +02:00
Alexander Medvednikov 43f72246aa checker: fix index type check 2020-03-31 17:51:16 +02:00
Alexander Medvednikov f98cc9c017 cgen: fix ARR_LEN 2020-03-31 17:16:12 +02:00
Alexander Medvednikov 9d630dff30 allow slicing of fixed size arrays 2020-03-31 16:48:00 +02:00
joe-conigliaro d048bf66b0
cgen: optimize/generalize typ method 2020-04-01 00:18:25 +11:00
Alexander Medvednikov 956bf23390 memory fixes: 21% of V compiler leaks fixed 2020-03-31 14:33:16 +02:00
SleepyRoy 9b9c1cc834
scanner: fix number literal calling method 2020-03-31 12:47:32 +02:00
Delyan Angelov b62035e3d0
solaris & termux: fix both, using the more portable termios.h 2020-03-31 12:46:46 +02:00
joe-conigliaro 21e4f2422d
cgen: clarify field name 2020-03-31 19:11:47 +11:00
joe-conigliaro f8169fee48
table: add i8 to number_type_idxs 2020-03-31 16:17:26 +11:00
joe-conigliaro 3b621c0ce6
checker: make var_scope mutable 2020-03-31 15:41:14 +11:00
joe-conigliaro 602bc06bee
ast: use multi return optional for find_scope_and_var 2020-03-31 15:39:14 +11:00
joe-conigliaro 71ca553190
cgen: multi return/assign optionals 2020-03-31 15:34:59 +11:00
Delyan Angelov 07de351546
v2: support -stats for _test.v files 2020-03-30 17:21:32 +02:00
joe-conigliaro 3440d7edd8
ast: first step merging CallExpr & MethodCallExpr 2020-03-30 21:39:20 +11:00
hazohelet ec025f2020
compiler: use type `unresolved` for unresolved consts 2020-03-29 19:26:55 +02:00
yuyi c9eed0b89b
cgen: optimize a replace call 2020-03-29 10:09:27 +02:00
Alexey a333ac1888
all: remove redundant parentheses in `if` statements 2020-03-29 10:08:42 +02:00
Delyan Angelov e09447d011
v and v2: support @VEXE 2020-03-28 21:51:45 +01:00
Delyan Angelov a9724fd38d
v2: typeof() 2020-03-28 17:37:22 +01:00
joe-conigliaro 837bffd03a
parser: parse type - fix multiple & 2020-03-29 01:15:10 +11:00
Alexander Medvednikov 831be43740 checker: check ! operator 2020-03-28 14:38:16 +01:00
joe-conigliaro 718819eb7a
map/scope/checker: update just var type & ret zero in map.get3 2020-03-29 00:00:28 +11:00
Alexander Medvednikov f627710870 fix repl tests 2020-03-27 20:49:20 +01:00
Alexander Medvednikov 98a0beab03 cgen: generate str() methods; merge c tests 2020-03-27 20:33:30 +01:00
Alexander Medvednikov eed7c91e87 move compiler tests from compiler/ to v/ 2020-03-27 18:01:46 +01:00
Alexander Medvednikov f6db36d7f0 fix parser_test and vfmt.v 2020-03-27 15:24:08 +01:00
Alexander Medvednikov 7369cb7b86 fmt: fix tests 2020-03-27 15:19:13 +01:00
Alexander Medvednikov 473d9fef55 checker: do not allow extra () in if conditions 2020-03-27 14:57:19 +01:00
Alexander Medvednikov 1a751208ca cgen: skip $if os {} block 2020-03-27 14:44:30 +01:00
Alexander Medvednikov 7fdce50718 cgen: write defer statements at the end of the function 2020-03-27 11:21:00 +01:00
Joe Conigliaro fd8bb2c95c tests: small array/struct test notes & tmp fix 2020-03-27 20:47:24 +11:00
Alexander Medvednikov db59c621e8 v2: minor fixes 2020-03-27 08:47:02 +01:00
Joe Conigliaro 883a105aca cgen: fix tests 2020-03-27 17:28:04 +11:00
Joe Conigliaro 7ce7151ad2 cgen: v2 compiles itself - defer stmt / if * in opt parens. 2020-03-27 17:21:22 +11:00
Alexander Medvednikov 9185de3fb7 cgen: fix tests 2020-03-26 22:28:24 +01:00
Alexander Medvednikov f0334b2e12 cgen: fix `arr[i] *= x` and `2d_arr << arr` 2020-03-26 22:09:25 +01:00
Delyan Angelov f489c89987
v2: more informative assert output; string interpolation formatting 2020-03-26 19:17:14 +01:00
Alexander Medvednikov eb57f192d4 cgen: fix test 2020-03-26 17:21:52 +01:00
Alexander Medvednikov 75c2ef7947 cgen: fix octal and hex int literals 2020-03-26 17:14:24 +01:00
Alexander Medvednikov ed3e0c43bc cgen: for c in string; short struct init syntax fixes; 2020-03-26 17:03:14 +01:00
Alexander Medvednikov c71d36356b v2: optionals fixes 2020-03-26 14:58:11 +01:00
Alexander Medvednikov b288bf2e7c cgen: or{} for methods 2020-03-26 14:42:14 +01:00
Joe Conigliaro 1d0f3abadf cgen/checker: variadic method call fix 2020-03-26 22:40:14 +11:00
Joe Conigliaro b1d15afe61 checker: array slice type 2020-03-26 22:04:24 +11:00
Alexander Medvednikov fc86269bc9 checker: array str fixes 2020-03-26 11:32:32 +01:00
Joe Conigliaro f452518a63 cgen: fix typo & use expected type 2020-03-26 21:11:56 +11:00
Joe Conigliaro 9c6ac7cb71 cgen: fix variadics called with 0 vargs 2020-03-26 21:09:59 +11:00
Alexander Medvednikov f2c9592b86 cgen: fix () in & exprs 2020-03-26 10:44:59 +01:00
Alexander Medvednikov 1f3428f282 cgen: basic assert 2020-03-26 10:27:46 +01:00
Delyan Angelov fb4f7b6827
v2: enable compilation of short programs with no 'import os' 2020-03-26 09:20:55 +01:00
Alexander Medvednikov aa34d3a4c4 cgen: remove a space 2020-03-25 23:57:46 +01:00
Alexander Medvednikov 25ee30d8cb cgen: fix optional functions with unused return values 2020-03-25 23:57:22 +01:00
Alexander Medvednikov 89a05a474f valgrind tests: skip C warnings for now 2020-03-25 21:46:46 +01:00
Alexander Medvednikov 3b4e0147cd cgen: fix tests 2020-03-25 17:26:03 +01:00
Alexander Medvednikov 7070b1cda9 cgen: GotoStmt, err variable 2020-03-25 17:24:55 +01:00
Alexander Medvednikov 26fab9b274 cgen: fix mutable array args 2020-03-25 17:04:16 +01:00
Alexander Medvednikov 41a089e513 cgen: or block 2020-03-25 16:00:22 +01:00
Alexander Medvednikov 456750ac19 v2: array_test fixes 2020-03-25 14:24:48 +01:00
Alexander Medvednikov 60fbceea43 memory: free_scope_vars() 2020-03-25 12:26:59 +03:00
Joe Conigliaro bb76e5da91 parser: array map fixe 2020-03-25 20:09:50 +11:00
Joe Conigliaro 8ba46965b6 checker: array map fixes 2020-03-25 20:07:53 +11:00
Alexander Medvednikov b495e78f0e v2: add _vinit to tests' fn main 2020-03-25 00:17:39 +01:00
Alexander Medvednikov a3046b68da cgen: fix tests 2020-03-24 23:41:34 +01:00
Alexander Medvednikov 7f345e310b cgen: fix const name 2020-03-24 22:41:01 +01:00
Alexander Medvednikov cc9537dd8a cgen: fix tests 2020-03-24 22:35:05 +01:00
Alexander Medvednikov 437bba5566 cgen: generate fn main for tests; fix consts bug 2020-03-24 22:24:03 +01:00
Delyan Angelov 2a7bc63919
vmft2: support for multiline comments, CompIf, AssertStmt, octal literals 2020-03-24 22:18:58 +01:00
Alexander Medvednikov 5d976d841b v2: raw strings 2020-03-24 17:07:27 +01:00
Joe Conigliaro 4d3362358f parser: array init &element fix 2020-03-25 02:24:23 +11:00
Alexander Medvednikov 32c8eb6490 os: vfmt os_test.v 2020-03-24 16:18:37 +01:00
Alexander Medvednikov e012966291 parser/ast: Block 2020-03-24 15:44:17 +01:00
Joe Conigliaro 7aff0cb84f cgen: remove special case for malloc 2020-03-25 00:46:00 +11:00
Joe Conigliaro d98bb44490 cgen: remove 0 typ checks & unused var 2020-03-24 22:55:41 +11:00
Joe Conigliaro 9a8bd3f7fa checker: variadic method fix 2020-03-24 22:39:11 +11:00
Alexander Medvednikov f101e9b9e2 v2: string fixes, is_dir fix 2020-03-24 11:14:11 +01:00
Joe Conigliaro 3d2fafa580 cgen: variadic for in loop 2020-03-24 19:42:16 +11:00
joe-conigliaro 309a905409 cgen: remove unused var 2020-03-24 17:27:20 +11:00
joe-conigliaro e5a111396c cgen: add for map 2020-03-24 17:25:10 +11:00
Joe Conigliaro 0433e24b7f cgen: array init fix 2020-03-24 13:31:16 +11:00
Delyan Angelov efe21fed66
v2: fix hello world compilation with tcc 2020-03-23 21:26:48 +01:00
Alexander Medvednikov 1cb45e9916 compiler_test: do not run on windows for now 2020-03-23 20:36:34 +01:00
Alexander Medvednikov ae2d001261 tests: fix the new v2 output tests 2020-03-23 20:30:20 +01:00
Alexander Medvednikov 2e29e09b1b cgen: fix map_get: use zero value if the key was not found 2020-03-23 20:02:09 +01:00
Joe Conigliaro 80676cf44f cgen: fix struct init 0 fields & tests 2020-03-23 21:57:54 +11:00
Joe Conigliaro e13bbd8c40 cgen: map init struct fields & fn type arg fix 2020-03-23 21:17:14 +11:00
Alexander Medvednikov c808430643 cgen: optimize type_default() 2020-03-23 09:17:32 +01:00
Alexander Medvednikov 4867803f6b cgen: zero struct fields during initialization 2020-03-23 08:59:34 +01:00
joe-conigliaro a5bd98610f cgen: call arg ref fix 2020-03-23 17:23:10 +11:00
Joe Conigliaro 89af7e7a5b cgen: replace reserved C keywords in identifiers 2020-03-23 13:36:50 +11:00
Alexander Medvednikov b69ebd73b2 cgen: minor fixes. v2 can now compile itself! 2020-03-22 16:55:42 +01:00
Joe Conigliaro 99de98ffc7 cgen: fix test 2020-03-23 02:30:45 +11:00
Joe Conigliaro 076bc2b773 cgen/checker: fixes & fixes & tmp fixes :D 2020-03-23 02:22:49 +11:00
Alexander Medvednikov c0df54b7d3 checker: check $if else 2020-03-22 14:56:13 +01:00
Alexander Medvednikov ce73ced932 cgen: #else 2020-03-22 14:54:31 +01:00
Alexander Medvednikov 2738a0c776 cgen: backtrace and sigaction fixes 2020-03-22 14:47:45 +01:00
Joe Conigliaro 0609756d36 cgen: fix sum type casts & else if formatting 2020-03-23 00:28:11 +11:00
Alexander Medvednikov c2ce06eba7 cgen: generate #ifdefs 2020-03-22 13:55:39 +01:00
Alexander Medvednikov 8d8907b61e memory: handle string assignments 2020-03-22 13:40:53 +01:00
Joe Conigliaro 043ea80fa9 checker: comptime if expr/stmts & type check fixes 2020-03-22 23:36:27 +11:00
Alexander Medvednikov cf8776ac71 valgrind: update the test 2020-03-22 13:33:40 +01:00
Delyan Angelov 3f328a0242
test: fix 'v test vlib/v/tests' 2020-03-22 13:26:16 +01:00
Alexander Medvednikov 4cbba8c45d memory: handle arrays 2020-03-22 13:19:45 +01:00
Alexander Medvednikov 3a938972df memory: autofree fix 2020-03-22 12:06:33 +01:00
Alexander Medvednikov 7b689d8c52 ast: CompIf position 2020-03-22 11:53:08 +01:00
Alexander Medvednikov ab3f6d9202 cgen: generate indents for more readable C code 2020-03-22 10:12:45 +01:00
Delyan Angelov 53a9329ab6
valgrind: nicer output 2020-03-22 09:44:15 +01:00
Alexander Medvednikov 1ad417734e memory: remove if false 2020-03-22 08:59:44 +01:00
Alexander Medvednikov a02395fe2d valgrind: run the tests 2020-03-21 20:31:30 +01:00
Alexander Medvednikov 85e411bd7c fix valgrind test 2020-03-21 20:10:30 +01:00
Alexander Medvednikov 3e80e22f5d fix prod build 2020-03-21 20:02:37 +01:00
Alexander Medvednikov e5f6a0949f cgen: autofree: first step 2020-03-21 19:52:19 +01:00
Joe Conigliaro efbf114a2f checker: ref & deref in prefix expr 2020-03-22 02:41:01 +11:00
Joe Conigliaro fc43294efc checker: deref fix 2020-03-22 01:27:10 +11:00
Joe Conigliaro 9d80d261b9 gen: rename _init() to _vinit() in cheaders.v 2020-03-22 00:22:43 +11:00
Joe Conigliaro f7042e9038 cgen: sum type cast & map str() receiver 2020-03-21 23:57:11 +11:00
Alexander Medvednikov 0f1371e1c9 cgen: fix tests 2020-03-21 13:56:21 +01:00
Alexander Medvednikov f962d92623 cgen: use _vinit instead of _init to avoid conflicts on Linux 2020-03-21 13:28:41 +01:00
Joe Conigliaro eb8d64999f checker: temp map str() method fix 2020-03-21 22:31:25 +11:00
Alexander Medvednikov 7b1b647832 parser: disable parser_test.v for now 2020-03-21 11:55:49 +01:00
Alexander Medvednikov 7ad1441c81 cgen: fix the tests 2020-03-21 11:47:23 +01:00
Alexander Medvednikov b2d1f55702 cgen_test fixes 2020-03-21 11:17:17 +01:00
Alexander Medvednikov c12985d1d7 cgen: for in; init fixes 2020-03-21 10:22:19 +01:00
Alexander Medvednikov e57804e6c2 cgen: generate init() 2020-03-21 09:29:16 +01:00
Alexander Medvednikov c93f515a54 cgen: add _STR definition 2020-03-21 07:10:53 +01:00
Alexander Medvednikov 5f61fbcbe3 fix prod build 2020-03-21 07:04:53 +01:00
Alexander Medvednikov 5072320803 cgen/ast/checker: string interpolation 2020-03-21 07:01:11 +01:00
Alexander Medvednikov ec003ff897 cgen: temporary lld fix 2020-03-20 20:46:42 +01:00
Alexander Medvednikov 8077a7534e cgen: 7 errors left 2020-03-20 20:22:37 +01:00
Alexey 9c668072b9
fmt: fix ForInStmt 2020-03-20 20:19:43 +01:00
Alexander Medvednikov 6b571155f4 cgen: fix print(struct); use automatic referencing 2020-03-20 17:11:58 +01:00
Alexander Medvednikov 078f498b17 cgen: fix `vals[i].field = x` 2020-03-20 17:03:41 +01:00
yuyi 2f27758a4b
os: realpath => real_path 2020-03-20 16:41:18 +01:00
Joe Conigliaro 15d4b5fcdb checker/fmt/cgen: fun vfmt on changes from previous commit 2020-03-21 00:46:00 +11:00
Joe Conigliaro a331abf675 ast/cgen/parser: combine IfExpr branches into single node 2020-03-21 00:39:56 +11:00
Alexander Medvednikov c993489fe9 cgen: optional expr fix 2020-03-20 13:03:42 +01:00
joe-conigliaro ed50fef1c0 cgen: dont add overidden fields in assoc 2020-03-20 15:05:50 +11:00
joe-conigliaro 1fb2c3f5b4 cgen: multi return optional fix 2020-03-20 14:59:06 +11:00
joe-conigliaro 525639b42f cgen: fix tests after array.first fix 2020-03-20 14:24:18 +11:00
Alexander Medvednikov f37b9d99fe cgen: last/first fix 2020-03-19 19:36:15 +01:00
Alexander Medvednikov b7a036945d cgen: in [] optimization 2020-03-19 16:12:49 +01:00
yuyi 010f3efcf0
os: filename => file_name 2020-03-19 15:49:07 +01:00
Alexander Medvednikov 216c7a16d8 cgen: filter + expected_type fix 2020-03-19 15:18:29 +01:00
Joe Conigliaro 0f08a92302 cgen: fix return formatting 2020-03-19 22:27:47 +11:00
Alexander Medvednikov b290efa394 ast: TypeOf 2020-03-19 12:15:42 +01:00
Joe Conigliaro 79077b0025 gen: fix multi return optional 2020-03-19 22:13:17 +11:00
Joe Conigliaro 97fbbac973 checker: enum value, use base type no extra info 2020-03-19 21:52:47 +11:00
Alexander Medvednikov 74616d2900 cgen: fix optional functions that return other optional functions 2020-03-19 11:44:27 +01:00
Alexander Medvednikov b2f05e56b8 cgen: fix tests 2020-03-19 11:23:05 +01:00
Joe Conigliaro e457bedaa7 gen: remove enum value typedefs :D 2020-03-19 21:21:08 +11:00
Joe Conigliaro 408553e967 gen: add typedefs for optional enums & array clone receiver type fix 2020-03-19 21:04:51 +11:00
Alexander Medvednikov b5cb1b1fe2 cgen: map_get/map_set 2020-03-19 10:07:31 +01:00
Joe Conigliaro 6c56528cd7 checker: update assoc type 2020-03-19 19:52:33 +11:00
Joe Conigliaro a456c21249 gen: cgen sum cast in struct init 2020-03-19 19:40:21 +11:00
Joe Conigliaro 6e5b58413a checker: check assoc field exprs 2020-03-19 18:57:33 +11:00
Alexander Medvednikov 013fd5abfe cgen: fix array.last() 2020-03-19 08:49:47 +01:00
Joe Conigliaro 3e70e5f2f1 gen: add `in` for map and string to cgen 2020-03-19 18:32:42 +11:00
Alexander Medvednikov 28309da1f1 cgen: assoc 2020-03-19 08:14:09 +01:00
Alexander Medvednikov 3dc3b11435 parser: $if blocks for headers 2020-03-19 07:59:01 +01:00
Alexander Medvednikov c3d7c57096 cgen: more minor fixes 2020-03-18 19:56:59 +01:00
Alexander Medvednikov fe6707b26d cgen: minor fixes 2020-03-18 16:47:37 +01:00
Alexander Medvednikov c514f0b672 cgen: automatic dereference and match fix 2020-03-18 16:07:54 +01:00
fantassin d81d804cb6
cgen: add c headers for Solaris / Illumos 2020-03-18 15:48:42 +01:00
lydiandy 04184f1715
ast: make ReturnStmt field public 2020-03-18 15:39:26 +01:00
Joe Conigliaro c4f6125a31 gen/checker: add errors for as cast & for in var 2020-03-19 00:50:21 +11:00
Joe Conigliaro 96af21ff68 gen: impl as cast 2020-03-18 23:55:46 +11:00
Joe Conigliaro 5fb90e12b1 checker: ForInStmt only call table.value_type once 2020-03-18 23:29:28 +11:00
Joe Conigliaro 4262ff76c3 checker/parser: check & gen stmts for ForIn & fix key, val vars 2020-03-18 23:18:18 +11:00
Alexander Medvednikov 91378583cc cgen: another expected_type fix 2020-03-18 12:34:27 +01:00
Alexander Medvednikov af289da844 ast: MatchExpr: expr_type => cond_type 2020-03-18 12:23:32 +01:00
Alexander Medvednikov 256a93e6e6 checker: expected_type fixes 2020-03-18 12:18:48 +01:00
Joe Conigliaro 5fc057d8ac cgen: fix error in expr_with_cast 2020-03-18 20:42:56 +11:00
Joe Conigliaro 54c38e3e3a parser: remove option from err var type 2020-03-18 20:00:33 +11:00
Joe Conigliaro 126ef0f5c2 checker/gen: add unchecked exprs & small fixes 2020-03-18 19:56:19 +11:00
Alexander Medvednikov a011b8951a cgen: if/match expressions and other fixes 2020-03-18 08:41:49 +01:00
Joe Conigliaro 3fecf154aa gen: move helper fns to ast 2020-03-18 11:19:23 +11:00
Joe Conigliaro 6ca47aeb4b gen: blank identifier fixes 2020-03-18 10:41:04 +11:00
Joe Conigliaro 330745da30 gen: restructure if guard to support else 2020-03-18 04:01:36 +11:00
Joe Conigliaro 91e47caf38 gen: add if guard to cgen 2020-03-18 02:40:41 +11:00
Joe Conigliaro f965a7d0e6 gen: fix sum type casting & map init 2020-03-18 01:13:55 +11:00
Delyan Angelov f73b38a0d8
vfmt2: fix literal integer number formatting 2020-03-17 02:49:15 +01:00
Alexander Medvednikov 900ada1112 cgen: match: do not use a temp var; minor fixes 2020-03-16 10:53:36 +01:00
Joe Conigliaro cf094c6265 cgen: gen fn type declerations 2020-03-16 20:12:03 +11:00
Alexander Medvednikov 0f160707a4 cgen: GoStmt; experimental parallel parser 2020-03-16 08:33:42 +01:00
joe-conigliaro c947e6ebe6 cgen: cast to sum type 2020-03-16 17:42:45 +11:00
Alexander Medvednikov 66adf7a6b9 cgen: minor sum type fix 2020-03-16 05:02:41 +01:00
Alexander Medvednikov ac0b235d3a cgen: sum type: `it` variable 2020-03-16 03:56:38 +01:00
Alexander Medvednikov 37504c487a cgen: sum types: match 2020-03-16 03:19:26 +01:00
Alexander Medvednikov 8a8f50a6a0 cgen: unwrapped optionals 2020-03-15 08:18:45 +01:00
Alexander Medvednikov 8e2537a366 cgen: array init fix; 2020-03-15 07:42:49 +01:00
Joe Conigliaro 3e05939b65 cgen: enum fixes 2020-03-15 12:51:31 +11:00
Joe Conigliaro cfeafb9ab4 cgen: fix null termination bug gen tests to fail 2020-03-15 11:39:29 +11:00
Alexander Medvednikov 28fc9d332c cgen: fix enum vals, includes, in strings 2020-03-15 01:36:20 +01:00
Alexander Medvednikov 843bb6dac1 cgen: lots of fixes 2020-03-15 00:46:08 +01:00
Joe Conigliaro 50ed4004f4 ast/table: use common struct fn decl arguments 2020-03-15 09:21:36 +11:00
Joe Conigliaro 217bbdfd66 cgen: small varg fixes 2020-03-14 23:42:27 +11:00
Joe Conigliaro 9dc79bae5f cgen: fix varg call and struct gen 2020-03-14 23:15:07 +11:00
Joe Conigliaro cc338df77f parser/checker/gen: update call args to use ast.CallArg 2020-03-14 21:11:43 +11:00
Joe Conigliaro 6752fed9f2 parser: fix generated name for unnamed fn args 2020-03-14 20:24:45 +11:00
Alexander Medvednikov e8c9f609a4 cgen: enum fixes; sum type definition; const bug fix 2020-03-14 05:20:15 +01:00
Delyan Angelov 19f9c18305
os: make executable() more robust 2020-03-13 22:19:02 +01:00
Joe Conigliaro 920ab79665 checker: check range exprs 2020-03-13 23:08:03 +11:00
Alexander Medvednikov 973b5c226a cgen: optionals fixes 2020-03-13 12:22:36 +01:00
Alexander Medvednikov b173cea177 cgen: optionals 2020-03-13 05:57:55 +01:00
Alexander Medvednikov 4b4c47461b cgen: error fixes; table: simplify; compiler tests 2020-03-13 01:43:30 +01:00
Alexander Medvednikov b43ac2783d map: make compilable with the new compiler 2020-03-12 20:26:29 +01:00
Joe Conigliaro 597811093c parser/cgen: fix order of escape replacements 2020-03-13 00:21:43 +11:00
Joe Conigliaro 99398ba652 cgen: escape quotes & nl in string literals 2020-03-12 21:13:46 +11:00
Joe Conigliaro bb5034f3fe cgen: fix fixed array init assignment 2020-03-12 20:07:42 +11:00
Alexander Medvednikov d2cf6894fe cgen: fixed array fix 2020-03-12 09:29:52 +01:00
Alexander Medvednikov 92d6eec09a cgen: fix remaining errors. hello world now compiles 2020-03-12 09:11:41 +01:00
joe-conigliaro 853bb4c41e cgen: alias & map types & add map_string/map_int aliases 2020-03-12 17:56:44 +11:00
joe-conigliaro dfaba54376 cgen: gen fn types in fn arguments 2020-03-12 14:34:00 +11:00
Alexander Medvednikov bcdb897f07 cgen: fix tests 2020-03-11 23:43:01 +01:00
Alexander Medvednikov a182b5c531 cgen: more errors fixed 2020-03-11 23:22:40 +01:00
Alexander Medvednikov e0c85f87ae cgen: args fixes 2020-03-11 21:11:27 +01:00
Alexander Medvednikov aada19f574 cgen: fix [] => string casts and for in 2020-03-11 19:00:55 +01:00
Alexander Medvednikov 4470252913 parser: fix import's position 2020-03-11 18:52:55 +01:00
Joe Conigliaro 01004bc5d8 checker: remove test println from previous commit 2020-03-12 02:29:02 +11:00
Joe Conigliaro a1314bd199 checker/gen/table: impl fn types & sum/other fixes & tidy 2020-03-12 02:10:46 +11:00
Joe Conigliaro 7309be55a0 table: fix error in field/method lookup from previous commit 2020-03-11 20:53:14 +11:00
Joe Conigliaro 7513dab185 table/checker: proper parent field/method lookup & cleanup 2020-03-11 20:48:45 +11:00
Alexander Medvednikov 0ad9eb5e16 scanner: remove the "too long name" error; checker: check string() cast arg 2020-03-11 06:46:14 +01:00
Alexander Medvednikov cd0b81fc5f cgen: fix a bug with [].repeat 2020-03-11 06:30:20 +01:00
Alexander Medvednikov a2ff24c912 cgen: reference receiver test 2020-03-11 05:56:15 +01:00
Alexander Medvednikov 75db3e4416 cgen: fix ptr indexing 2020-03-11 05:25:15 +01:00
yuyi 9e14850bbf
vdoc: show map type correctly 2020-03-11 05:18:20 +01:00
Alexander Medvednikov b9955aee84 cgen: fix tests 2020-03-11 04:10:42 +01:00
Alexander Medvednikov 7342dfdc6e cgen: fix array_get() 2020-03-11 03:52:01 +01:00
Alexander Medvednikov 22e558aecb cgen: fix C style loops without an init; fix integer consts 2020-03-11 02:44:30 +01:00
Alexander Medvednikov 0d45d21069 cgen: fix string <> methods and multiple returns 2020-03-11 02:28:19 +01:00
Joe Conigliaro 083964522b cgen/fmt: fix assign_stmt fix & cgen test & hash tests & fmt 2020-03-11 11:31:24 +11:00
Alexander Medvednikov de55a26cfe cgen: lots of fixes 2020-03-10 23:21:29 +01:00
Alexander Medvednikov 1143320b8b vdoc: print structs and enums 2020-03-10 19:49:04 +01:00
Joe Conigliaro bc184a9f02 checker: properly update var info in AssignStmt 2020-03-11 01:16:30 +11:00
yuyi 57b1b12ab6
os: tmpdir => temp_dir 2020-03-10 15:02:09 +01:00
Joe Conigliaro ddd5a9443d v: fix AssignStmt 2020-03-11 00:45:21 +11:00
Alexander Medvednikov 2f0bb11a96 parser: handle operator methods and fix them in vdoc 2020-03-10 14:40:35 +01:00
Joe Conigliaro c9d30f78b7 v: no optional for scope.innermost & more blank_ident 2020-03-10 23:35:25 +11:00
Joe Conigliaro ee72474971 v: add multi assign cgen test 2020-03-10 22:26:13 +11:00
Joe Conigliaro f7a93a69f6 v: fix/gen multi return/assign + merge VarDecl & AssignStmt 2020-03-10 22:01:37 +11:00
yuyi 876b73f92c
os: join => join_path 2020-03-09 02:23:34 +01:00
Alexander Medvednikov e3687dc257 checker: check C args 2020-03-08 22:11:56 +01:00
Alexander Medvednikov 754a6cc93e cgen: fix -> 2020-03-08 19:38:27 +01:00
Delyan Angelov f6480be3aa
add C.environ to cheaders.v 2020-03-08 17:38:53 +01:00
Alexey 83b6292105
fmt: split tests 2020-03-08 15:57:16 +01:00
Delyan Angelov 5f08253f36
vfmt: add support for _keep.vv files, that v fmt should keep without changes 2020-03-08 15:46:04 +01:00
Delyan Angelov 2bed0d1bb5
fmt: extract array_slices_input.vv from simple_input.vv 2020-03-08 15:42:38 +01:00
Alexander Medvednikov d9854f2abd cgen: fix mutable receivers 2020-03-07 22:37:03 +01:00
yuyi 783dee1f48
os: merge with filepath 2020-03-07 22:26:26 +01:00
Delyan Angelov 5e541e1f11
vfmt: alias type and sum type + sum type fix 2020-03-07 17:37:55 +01:00
Alexander Medvednikov fbf80dc315 cgen: array_set() 2020-03-07 16:39:15 +01:00
Alexander Medvednikov 63032c4bb7 cgen: minor fixes 2020-03-07 16:23:10 +01:00
Alexander Medvednikov 24bcc7a93b cgen: array and fixed array fixes 2020-03-07 14:31:40 +01:00
Joe Conigliaro 09d9dd2607 v: add map init 2020-03-07 18:13:00 +11:00
Alexey e26907f079
fmt: fix errors in test files 2020-03-07 06:04:33 +01:00
Alexander Medvednikov 150994a933 cgen: fix tests 2020-03-07 06:02:32 +01:00
Alexander Medvednikov 260f708bb2 cgen: array << val 2020-03-07 05:19:15 +01:00
Alexander Medvednikov c14c81ace6 cgen: fix -> 2020-03-07 04:45:35 +01:00
Alexander Medvednikov 58fb055763 cgen: fix string args in C calls; lower case consts in atof; fix struct types 2020-03-07 01:05:19 +01:00
Alexander Medvednikov 968e310793 cgen: fix match 2020-03-07 00:47:49 +01:00
Alexander Medvednikov 9846fecd84 eval: fix test 2020-03-07 00:42:52 +01:00
Alexander Medvednikov f699dcac94 checker: check println arg 2020-03-07 00:38:35 +01:00
Alexander Medvednikov 180b9b971a cgen: string_add() 2020-03-07 00:34:14 +01:00
Alexander Medvednikov 3c7b0d6d05 cgen: fix [] 2020-03-07 00:19:27 +01:00
Alexander Medvednikov 124f754443 cgen: typ() 2020-03-06 22:36:51 +01:00
Alexander Medvednikov 1a8b7d0447 cgen: fix slices 2020-03-06 22:24:42 +01:00
Alexey 81ce524705
ast: add Expr to AsCast 2020-03-06 22:12:15 +01:00
Alexander Medvednikov 8a711a8376 cgen: fix tests 2020-03-06 20:25:38 +01:00
Alexander Medvednikov a277f7d6ab cgen: string[i]; pointers 2020-03-06 20:23:01 +01:00
lutherwenxu aab31f4b35
cmd/v: rewrite flags 2020-03-06 18:53:29 +01:00
Alexander Medvednikov 5c8617ec68 ast: set IndexType.container_type; array_get() 2020-03-06 17:06:03 +01:00
Joe Conigliaro ea2a79ec20 v: cgen fix struct ordering 2020-03-07 02:57:27 +11:00
Alexander Medvednikov be2480c320 cgen: fix several errors 2020-03-06 16:31:44 +01:00
yuyi ed9075b937
v doc: don't show 'pub' at the beginning 2020-03-06 16:28:20 +01:00
Joe Conigliaro db22bc579a v: update resovled call expr name 2020-03-07 01:02:40 +11:00
Joe Conigliaro 89cbe76193 v: run cast expr through checker 2020-03-07 00:36:32 +11:00
Alexander Medvednikov 6b6031a3d9 cgen: fix struct init; match SumType1, SumType2 2020-03-06 14:14:33 +01:00
Joe Conigliaro 3de3b38dc1 v: udpate elem_type in ArrayInit node & tests 2020-03-07 00:06:52 +11:00
Alexander Medvednikov fb785b8adf cgen: optimize const definitions 2020-03-06 14:03:35 +01:00
Alexander Medvednikov 91269961d0 cgen: array types 2020-03-06 13:44:13 +01:00
Joe Conigliaro 7f6b98669e v2: fix tests - gen output 2020-03-06 22:06:41 +11:00
Joe Conigliaro 24dbfbcccf v2: fix struct sorting & cgen tests 2020-03-06 22:01:56 +11:00
Joe Conigliaro 49f3ce0571 v2: add method call receiver to cgen & check method args 2020-03-06 20:52:03 +11:00
Joe Conigliaro 7008b1a92c v2: update ident name for resolved const/fn objects 2020-03-06 10:10:01 +11:00
Alexander Medvednikov 04d5dd8997 cgen: sort structs 2020-03-05 23:27:24 +01:00
Alexander Medvednikov 9c1e50b1aa
vdoc: don't show deprecated functions 2020-03-05 16:13:14 +01:00
Alexander Medvednikov 6659f1751e
ast: make IdentInfo public 2020-03-05 14:16:08 +01:00
Joe Conigliaro 8ad8d03bc8 v2: remove test code from last commit in parser 2020-03-06 00:00:34 +11:00
Joe Conigliaro 272eaaa704 v2: remove type fields from parser & some cleanup 2020-03-05 23:57:05 +11:00
Alexander Medvednikov 38a54b08e3
doc: don't modify path to vlib 2020-03-05 13:48:06 +01:00
Joe Conigliaro 9921897aa6 v2: add some comments in parser & checker 2020-03-05 22:44:33 +11:00
Joe Conigliaro 6de44db4eb v2: update checker. missing from previous commits 2020-03-05 22:30:16 +11:00
Joe Conigliaro ee6a8a41f5 v2: remove expr type from fn.v 2020-03-05 22:13:45 +11:00
Joe Conigliaro 4d55a4c097 v2: remove expr types & some dead code from parser 2020-03-05 22:08:43 +11:00
Alexander Medvednikov bcaf72eccb cgen: update the test 2020-03-05 01:36:44 +01:00
Alexander Medvednikov 484320ed08 cgen: receiver arg 2020-03-05 01:20:36 +01:00
Alexander Medvednikov 4161cfcdb8 cgen: lots of fixes 2020-03-05 00:43:09 +01:00
Alexander Medvednikov 136aa763a3 cgen: multi return structs + other fixes 2020-03-04 20:17:29 +01:00
Alexander Medvednikov cd8a5d1f2e fix parser_test.v and string_test.v 2020-03-04 17:39:27 +01:00
Alexander Medvednikov 237ce6ff84 cgen_test: skip definitions 2020-03-04 17:35:13 +01:00
Alexander Medvednikov f27f832ede cgen: definitions + other fixes; calloc fix 2020-03-04 17:08:28 +01:00
Alexander Medvednikov 37453945d0 cgen: remaining nodes; match type fix; v2.c is now generated 2020-03-04 15:48:43 +01:00
Joe Conigliaro 8458ea40f0 v2: add UnsafeStmt to checker & byte/byteptr to check 2020-03-05 00:20:37 +11:00
Joe Conigliaro 7daf8f8fd0 v2: simplify MatchExpr in vfmt 2020-03-04 22:39:18 +11:00
Joe Conigliaro 5872961124 v2: update MatchExpr in vfmt 2020-03-04 22:14:37 +11:00
Joe Conigliaro e71948461e v2: update MatchExpr 2020-03-04 21:59:45 +11:00
Joe Conigliaro ed763df42e v2: tidy checker remove old comments & code 2020-03-04 21:08:46 +11:00
Joe Conigliaro d501ea0afb v2: fix array init 2020-03-04 12:50:32 +11:00
Joe Conigliaro bac6fc6ee2 v2: remove test println from checker 2020-03-04 09:49:14 +11:00
Joe Conigliaro ea26b5f30c v2: fix fn call name lookup 2020-03-04 09:46:59 +11:00
Alexander Medvednikov 823b8ad244 table: Type str() 2020-03-03 18:38:41 +01:00
Alexander Medvednikov 2a99422386 cgen: more nodes; exit if there are checker errors 2020-03-03 18:37:38 +01:00
Alexander Medvednikov 0c67b3cff4 checker: fix match return type 2020-03-03 17:29:16 +01:00
Joe Conigliaro c633dd09c6 v2: dont use type type in `<<` infix in parser 2020-03-04 02:08:40 +11:00
Joe Conigliaro 063ca3b644 v2: make array append `<<` right associative 2020-03-04 02:05:16 +11:00
Joe Conigliaro 147ecc5e17 v2: time - prefix C struct & ast.TypeName to ast.Type 2020-03-04 01:06:21 +11:00
Joe Conigliaro af3159791f v2: reset expr_mod after struct_init type is parsed 2020-03-04 00:24:15 +11:00
yuyi ea10f44fe6
os api: flush_stdout => flush 2020-03-03 00:00:30 +01:00
Joe Conigliaro 895a1711cb v2: fix type aliases & add check 2020-03-03 09:19:04 +11:00
Alexander Medvednikov 22ffe336cb checker: AsCast, CharLiteral, fix integer index check 2020-03-02 19:00:33 +01:00
Alexander Medvednikov 156e36c082 cgen: handle unhandled nodes 2020-03-02 18:43:41 +01:00
Alexander Medvednikov 07a2233220 fix prod build 2020-03-02 18:28:11 +01:00
Alexander Medvednikov baaa55f196 cgen: fix methods; println 2020-03-02 18:27:00 +01:00
Alexey 78c885d657
fmt: add support for goto 2020-03-02 17:41:32 +01:00
Alexey 8fafaf38a3
fmt: add function with variadic arg to test file 2020-03-02 17:10:06 +01:00
Alexey cca5c5537f
fmt: extract common code to methods 2020-03-02 17:09:45 +01:00
Joe Conigliaro 8497d637d9 v2: allow pointers to be initialized with 0 2020-03-02 23:52:41 +11:00
Joe Conigliaro 5b08f307c8 v2: fix map initialization 2020-03-02 22:34:02 +11:00
Joe Conigliaro 16528b12fa v2: allow enum value to be used as int 2020-03-02 21:32:28 +11:00
Joe Conigliaro f57a651e3b v2: match expr fixes & tmp typeof skip 2020-03-02 20:53:38 +11:00
joe-conigliaro a8f07157dd v2: implement sym types & handle in table.check 2020-03-02 16:40:18 +11:00
joe-conigliaro b65fad9ca8 v2: fix if guard var type & handle blank ident in assign 2020-03-02 16:05:40 +11:00
joe-conigliaro a118c72423 v2: checker - save type in MapInit node 2020-03-02 14:24:45 +11:00
joe-conigliaro b333d02e3b v2: allow none & error for functions that return optional - checker 2020-03-02 13:58:36 +11:00
Alexander Medvednikov d05bdad638 pratt: handle &= 2020-03-01 23:26:23 +01:00
Alexander Medvednikov f921ea2fb7 cgen: test module fns and consts 2020-03-01 22:06:36 +01:00
Alexander Medvednikov 38de6c98fc cgen: test local modules 2020-03-01 21:56:07 +01:00
Joe Conigliaro a707ffc04a v2: name_expr mod & type & var fixes 2020-03-02 02:14:52 +11:00
Joe Conigliaro 1ab830da4b v2: fix var mistaken for enum in parser 2020-03-02 01:19:10 +11:00
Alexander Medvednikov 82b0024758 fix v2 parser int.v error 2020-03-01 14:57:54 +01:00
Alexander Medvednikov d7a8b1b4f2 checker: set fn arg expected_type 2020-03-01 14:10:10 +01:00
Alexander Medvednikov 7a499b3cd3 checker: fix first() and last(); call_args; method cgen 2020-03-01 13:07:51 +01:00
Joe Conigliaro 9978fb3e2c v2: fix map_init return type in checker 2020-03-01 21:45:44 +11:00
Joe Conigliaro 00dcaf0e04 v2: ArrayInit + all errs & unhandled + arrange nodes + type fix 2020-03-01 15:14:36 +11:00
Alexey c1e095e587
fmt: process `MatchExpr` 2020-02-29 20:43:15 +01:00
Alexander Medvednikov 4e88c2286e checker: IfGuard, map fixes 2020-02-29 20:11:04 +01:00
Alexander Medvednikov ee05b51f47 checker: fix match expected_type 2020-02-29 18:34:25 +01:00
Alexander Medvednikov a15dcbfb2d checker: set expected_type in several places 2020-02-29 18:25:38 +01:00
Alexander Medvednikov 27ce38937c checker: fix Assoc 2020-02-29 18:07:29 +01:00
Alexander Medvednikov 85f67a3f73 fix prod build 2020-02-29 17:53:04 +01:00
Alexander Medvednikov d5faf36aa9 fmt: comments 2020-02-29 17:51:38 +01:00
Alexey 5a5f4ce99a
fmt: simplify `IndexExpr` processing 2020-02-29 17:45:08 +01:00
lydiandy a485533dc9
make sure scanner and parser both check BOM 2020-02-29 15:05:25 +01:00
yuyi 6c85e285e7
vdoc: show variadic args correctly 2020-02-29 15:04:07 +01:00
Alexey ee0a0afb25
v2: process `or` block for `CallExpr` 2020-02-29 15:03:32 +01:00
Alexey efff66ada7
fmt: add `pub` modifier for public enums 2020-02-29 14:38:23 +01:00
Joe Conigliaro f67fca826e v2: fix C function & type prefixing 2020-02-29 21:47:47 +11:00
Joe Conigliaro 48f912c2e9 v2: handle variadic in selector_expr 2020-02-29 19:04:47 +11:00
Joe Conigliaro 71b5b0d955 v2: fix C fn calls, save C fns with prefix besides odd cases 2020-02-29 17:24:28 +11:00
Joe Conigliaro 236b7b15bb v2: handle optional in return stmt in checker 2020-02-29 16:32:00 +11:00
Joe Conigliaro 8e013d2174 v2: skip minus in string expr for now 2020-02-29 15:56:16 +11:00