1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

651 Commits

Author SHA1 Message Date
Alexander Medvednikov
08bbc251ff vfmt: fix multiline comments 2020-04-05 19:35:10 +02:00
Alexander Medvednikov
8260236331 vfmt: run on fmt.v 2020-04-05 18:15:50 +02:00
Alexander Medvednikov
e464c4acc5 vfmt: more fixes + run on cgen.v 2020-04-05 18:03:36 +02:00
Alexander Medvednikov
df45932c03 vfmt: fix same line stmt comments 2020-04-05 16:38:33 +02:00
Alexey
781c20a6ae
cgen: bring back Windows fixes 2020-04-05 16:08:16 +02:00
Alexey
9c1eaaeb49
cgen: declare empty structs correctly 2020-04-05 12:31:25 +02:00
Delyan Angelov
5e76d53fcd compiler: support default values in optional blocks 2020-04-05 11:59:15 +03:00
Alexander Medvednikov
97db4c0e9a vfmt: comments and other fixes 2020-04-05 02:08:13 +02:00
Delyan Angelov
45401954fa fix vlib/os/os_test.v 2020-04-04 23:06:47 +03:00
Alexey
abd0686043
cgen: fix struct initialization 2020-04-04 17:59:49 +02:00
Alexander Medvednikov
e600feda98 cgen: __argc is already used on windows 2020-04-04 15:59:46 +02:00
Alexander Medvednikov
f748390172 parser: do no allow var names with __; cgen: use __argc 2020-04-04 14:55:40 +02:00
Alexander Medvednikov
95a1bd8470 cgen: handle C typedefs 2020-04-04 14:32:42 +02:00
krischerven
4c6db7a64e
cgen: fix mutable arrays 2020-04-04 14:08:38 +02:00
Alexey
d56276017c
cgen: fix variadics called with 0 vargs 2020-04-04 12:54:45 +02:00
Alexey
c6fabea49d
cgen: generate code for go statement for Windows 2020-04-04 12:09:05 +02:00
joe-conigliaro
c9e290b36f
table: simplify/generalise type fns & remove calls 2020-04-04 16:37:11 +11:00
joe-conigliaro
bf59828897
ast: const impl & global scope & objects 2020-04-04 14:14:40 +11:00
Alexander Medvednikov
1d2de44e19 cgen: fix print(ptr); checker: uninitialized reference error/warning 2020-04-03 20:17:53 +02:00
Alexander Medvednikov
436ef12730 cgen: str(): handle empty structs 2020-04-03 18:49:15 +02:00
Delyan Angelov
b411d29577 v2: fix support for 'go fn()' in modules. sync.pool is again multithreaded. 2020-04-03 19:44:49 +03:00
Alexander Medvednikov
c32ed8af51 cgen: struct str() generation; go() fixes 2020-04-03 18:05:53 +02:00
Delyan Angelov
31c4b1cda6 v2: compile vfmt again; consistent colored error messages 2020-04-03 18:42:22 +03:00
Alexander Medvednikov
52f096f5d9 cgen: go xxx() 2020-04-03 15:18:20 +02:00
Alexey
6a5cc0fa19
tests: update assert output 2020-04-03 13:39:11 +02:00
Alexey
6c4de001b8
cgen: add builtin.init call inside of _vinit 2020-04-03 13:27:19 +02:00
Alexander Medvednikov
a25f47124d cgen: make array_set/map_set work with pointers 2020-04-03 10:41:01 +02:00
Delyan Angelov
6b9bf8cbf7 v2: fixes for most of vlib/builtin/map_test.v . 2020-04-03 00:42:08 +03:00
Alexander Medvednikov
804d303487 cgen: add () for | and ^ 2020-04-02 18:26:56 +02:00
Alexander Medvednikov
5b53b3d7e3 cgen/os: minor fixes 2020-04-02 14:00:28 +02:00
Alexander Medvednikov
6e380b8897 cgen: brin back hashes() 2020-04-02 13:49:59 +02:00
Alexander Medvednikov
5b835d294c more windows fixes + bring back windows ci 2020-04-02 13:44:46 +02:00
Delyan Angelov
084f853a2a
v2: enhance version with current git commit hash. Cleanup redundant code. 2020-04-02 13:31:02 +02:00
Alexander Medvednikov
1fe2933dd9 cgen: windows fixes 2020-04-02 13:09:39 +02:00
Delyan Angelov
12b8dc2613
v2: fix version 2020-04-02 10:48:29 +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
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
Alexander Medvednikov
24fc4a4c04 use autofree only with -autofree for now 2020-04-01 23:28:56 +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
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
Alexander Medvednikov
b1b811b5ed v2: static (for translated code only) 2020-04-01 13:38:05 +02:00
Delyan Angelov
5b990078f9
more precise support for internal module tests 2020-03-31 23:42:30 +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
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
joe-conigliaro
21e4f2422d
cgen: clarify field name 2020-03-31 19:11:47 +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
yuyi
c9eed0b89b
cgen: optimize a replace call 2020-03-29 10:09:27 +02: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
98a0beab03 cgen: generate str() methods; merge c tests 2020-03-27 20:33:30 +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
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
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
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
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
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
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
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
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
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
Alexander Medvednikov
1ad417734e memory: remove if false 2020-03-22 08:59:44 +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
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
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
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
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
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
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
a456c21249 gen: cgen sum cast in struct init 2020-03-19 19:40:21 +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
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
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
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
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
Alexander Medvednikov
e8c9f609a4 cgen: enum fixes; sum type definition; const bug fix 2020-03-14 05:20:15 +01: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
Joe Conigliaro
a1314bd199 checker/gen/table: impl fn types & sum/other fixes & tidy 2020-03-12 02:10:46 +11:00
Joe Conigliaro
7513dab185 table/checker: proper parent field/method lookup & cleanup 2020-03-11 20:48:45 +11: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
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
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
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
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
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
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
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
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
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
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
Alexander Medvednikov
04d5dd8997 cgen: sort structs 2020-03-05 23:27:24 +01: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
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
e71948461e v2: update MatchExpr 2020-03-04 21:59:45 +11:00
Alexander Medvednikov
2a99422386 cgen: more nodes; exit if there are checker errors 2020-03-03 18:37:38 +01: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
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
Alexander Medvednikov
7a499b3cd3 checker: fix first() and last(); call_args; method cgen 2020-03-01 13:07:51 +01:00
Alexander Medvednikov
6855c746bb vfmt: EnumDecl 2020-02-28 17:21:24 +01:00
Joe Conigliaro
c4b9ef388f v2: handle var decl & assign stmt together 1st step combining 2020-02-28 23:29:04 +11:00
Alexander Medvednikov
09b7a7c872 v2: checker: handle clone() 2020-02-27 17:21:13 +01:00
Alexander Medvednikov
28ee0f4ebe checker: check enums 2020-02-25 15:02:34 +01:00
Alexander Medvednikov
f6c2b3a54b v2: enum fixes 2020-02-25 13:30:43 +01:00
Alexander Medvednikov
7e930c2a75 cgen: enum 2020-02-25 11:52:41 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
SleepyRoy
7d2eb4f604
scanner: make 0o prefix the only way to define octals 2020-02-23 23:43:04 +01:00
Alexander Medvednikov
c099cd8bf6 pratt: fix precedence 2020-02-20 12:59:05 +01:00
Alexander Medvednikov
ec3d67c19f checker: print multiple errors; none 2020-02-19 19:54:42 +01:00
Alexander Medvednikov
4e9bfa95ec v2: the new parser can now parse the entire V compiler 2020-02-18 17:45:59 +01:00
joe-conigliaro
ecb0af36b3
v2: cleanup old & unused code, add new simple tmp vars in cgen 2020-02-18 03:17:21 +01:00
Alexander Medvednikov
59beec8fae new vfmt using the new parser 2020-02-17 22:50:11 +01:00
Alexander Medvednikov
1dd6491a2f v2: more parser fixes 2020-02-17 14:15:49 +01:00
joe-conigliaro
dc90f4f4a6
v2: remove unresolved types; handle types in checker; add ast.scope 2020-02-15 13:37:48 +01:00
Alexey
8d76f7d195
v2: remove redundant EOL normalization in cgen test 2020-02-12 23:19:17 +01:00
joe-conigliaro
d25a0e30dc
v2: make index_expr return array array element type 2020-02-11 12:59:40 +01:00
Alexander Medvednikov
26cfaa150e v2: match expr; enum val; string formatting 2020-02-10 20:33:46 +01:00
Alexander Medvednikov
d5f90ef64b v2: handle unresolved consts 2020-02-10 18:43:25 +01:00
joe-conigliaro
e274c5c485 v2: type sys - store type idx/ptr in int & add helpers 2020-02-10 08:32:08 +01:00
joe-conigliaro
9e9bdc32ea
v2: lots of small fixes parent method/field resolution 2020-02-08 09:50:12 +01:00
Alexander Medvednikov
9034b1fd08 v2: match cgen; use as for casting 2020-02-07 14:50:52 +01:00
Alexander Medvednikov
bb60b3081f v2: parse builtin successfully 2020-02-07 07:34:18 +01:00
joe-conigliaro
67a13fc916
v2: start impl multi assign 2020-02-06 17:38:02 +01:00
joe-conigliaro
d9e92a08cb
v2: use pointer to table.type, fix unresolved array/map sub-types 2020-02-06 13:57:35 +01:00
joe-conigliaro
85e4e4cb40
v2: resolve unresolved call expression types & add test 2020-02-04 12:03:12 +01:00
Alexander Medvednikov
432ee93916 v2: break, continue, for in fixes, fixed size array, | 2020-02-04 08:29:50 +01:00
joe-conigliaro
21b6dace8f
v2: remove duplication & slight cleanup. share prefs with v1 2020-02-03 12:09:17 +01:00
Alexander Medvednikov
01f45f063e cgen: remove the checker 2020-02-03 11:36:03 +01:00
Alexander Medvednikov
40fd918b58 v2: cgen: remove type resolving for VarDecl 2020-02-03 11:32:00 +01:00
Alexander Medvednikov
e5f5117a7e fix prod build 2020-02-03 11:17:12 +01:00
Alexander Medvednikov
60a4f668b7 v2: fix FnDecl ref bug 2020-02-03 11:13:36 +01:00
Alexander Medvednikov
2af3c0ede4 hmm 2020-02-03 10:58:15 +01:00
Alexander Medvednikov
34e9eb32bb sum types: allow modification in match 2020-02-03 09:11:10 +01:00
Alexander Medvednikov
d918903252 v2: move index expr type check 2020-02-03 07:45:09 +01:00
joe-conigliaro
2d5c70832c
v2: initial module support 2020-02-03 07:31:54 +01:00
Alexander Medvednikov
d87cb3f672 v2: consts, $if, attributes, globals, if/for type check, prefs 2020-02-03 07:03:32 +01:00
joe-conigliaro
7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Alexander Medvednikov
71653273f6 v2: range, *, function object 2020-02-02 14:32:12 +01:00
Alexander Medvednikov
9f4661391d v2: simplify the type system; an initial version of the V interpreter 2020-02-02 07:56:18 +01:00
Shun Sakai
c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
Alexander Medvednikov
0502a54a36 new gg/freetype modules with sokol/fontstash backends 2020-01-22 20:54:36 +01:00
joe-conigliaro
3a8b437b8d v2: move array_init to checker 2020-01-19 13:52:34 +01:00
joe-conigliaro
09d1eb7c55 v2: type checker + lots of other changes 2020-01-18 23:26:14 +01:00
Delyan Angelov
7bf49aba54 vv: make warns/errors usable in emacs/vim 2020-01-09 14:08:33 +01:00
Alexander Medvednikov
9861b24bc3 struct field check + enable v2 again 2020-01-07 16:09:20 +01:00
joe-conigliaro
2ab7b40f2f v: clean up enum vals; make array_init return array 2020-01-07 15:46:57 +01:00
Alexander Medvednikov
706c6066d5 index expression 2020-01-07 12:18:13 +01:00
joe-conigliaro
b7509577b5 v: cleanup & fixes. update variadic & multiple return 2020-01-07 12:10:07 +01:00
Alexander Medvednikov
8c5923297e do not run cgen_test.v on windows 2020-01-07 01:57:38 +01:00
Alexander Medvednikov
48ea1153a5 for ;; syntax 2020-01-07 00:14:19 +01:00
Alexander Medvednikov
1e28c1d4fd clean up the parser a bit; run vfmt; add x64 to ci 2020-01-06 23:15:37 +01:00
Alexander Medvednikov
b815878d60
simplify and improve pratt 2020-01-06 16:13:12 +01:00
Delyan Angelov
c24a1b3786 compiler: fix unused import warnings 2020-01-05 16:29:33 +01:00
joe-conigliaro
2061394ad7 v: initial impl of new type sys w/ pointer & placeholder support (#3323) 2020-01-04 17:57:25 +01:00
Alexander Medvednikov
3344111a03 minor fixes and cleaning up 2020-01-04 00:06:06 +01:00
Alexander Medvednikov
520ec0f53a fix cgen_test 2020-01-03 11:41:39 +01:00
joe-conigliaro
343ded18fd parser: dot fix 2020-01-03 11:36:17 +01:00
Alexander Medvednikov
492dfebd15 SelectorExpr; receivers; struct field check; if expression 2020-01-02 20:09:23 +01:00
Alexander Medvednikov
460b35137a handle unknown fns; fn.v; type fixes 2020-01-02 08:30:15 +01:00
Alexander Medvednikov
e7e07be38c handle unknown functions; fix var types 2020-01-01 23:15:20 +01:00
Alexander Medvednikov
b1d6021875 x64 fixes 2020-01-01 22:34:46 +01:00
Alexander Medvednikov
47908c22df cgen_test: skip empty lines; os: make vc_gen compile 2020-01-01 12:50:25 +01:00
Alexander Medvednikov
79b4a757c4 fix cgen_test.v 2020-01-01 10:32:22 +01:00
Alexander Medvednikov
96d02849aa parser: parse_file(path) 2020-01-01 10:15:05 +01:00
Alexander Medvednikov
4d31d5882d x64, v2 backends 2019-12-31 19:42:16 +01:00
Alexander Medvednikov
da5fb5dcbd Revert "x64, v2 backends"
This reverts commit 81ae54d9bd.
2019-12-31 13:23:12 +01:00
Alexander Medvednikov
81ae54d9bd x64, v2 backends 2019-12-31 13:21:22 +01:00
joe-conigliaro
80da2341aa v: fix unary +,- & rename token.TokenKind to token.Kind 2019-12-31 10:53:30 +01:00
Alexander Medvednikov
093a025ebf parse_files(); ast.File 2019-12-30 16:55:59 +01:00
joe-conigliaro
d07953b0f0 v: fix postfix unary ++ -- operators & some cleanup 2019-12-30 15:06:56 +01:00
Alexander Medvednikov
2d597d7804 array initialization 2019-12-30 10:37:09 +01:00
Alexander Medvednikov
1d9916f93e fix fn main generation 2019-12-30 09:29:07 +01:00