Commit Graph

3490 Commits (9cbd9db4e7291da985fb1d68022db0e0d29abe0a)

Author SHA1 Message Date
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
yuyi aa0643f785
glfw: fix mut scale bug 2020-03-25 13:44:21 +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 0e240458d3 os: fix os_test 2020-03-24 17:16:00 +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 9c536f2233 compiler: hide the u64 warning for now 2020-03-23 21:00:20 +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
SleepyRoy 67ba56c65c
expression: set integer literals as int by default 2020-03-23 20:05:37 +01:00
Major Taylor 5c9cbae10d
term: fix divide by 0 error on empty delimiter 2020-03-23 20:05:08 +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
yuyi 2efc37947d
time: calc_unix => unix_time 2020-03-22 19:43:59 +01:00
Chris e78b97652b
glfw: fix "scale is declared as mutable" 2020-03-22 18:39:17 +01: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
Naheel c50c6812ce
os: fix cp() spaces in files names 2020-03-22 08:43:24 +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
penguindark 421f5b6fdf
builtin: int to str without offset buffer 2020-03-21 16:00:58 +01: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
ka-weihe bf97afb9ed
map: small cleanup 2020-03-21 13:55:07 +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
radare cc75fe4fe5
builtin: Fix undefined behaviour when allocating empty structs (#4088) 2020-03-21 12:24:34 +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
Delyan Angelov ba088056ed
solaris: make 'v test-compiler' pass (stage 2) 2020-03-21 09:48:02 +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
radare c21e976cad
builtin: do not use unsafe sprintf/vsprintf functions 2020-03-21 06:37:58 +01:00
Alexander Medvednikov b4561fa814 Revert "term: make compilable with v2 on windows" 2020-03-20 21:15:45 +01:00
Alexander Medvednikov 0f1f724a91 term: make compilable with v2 on windows 2020-03-20 21:12:37 +01:00
Alexander Medvednikov ec003ff897 cgen: temporary lld fix 2020-03-20 20:46:42 +01:00
Alexander Medvednikov 4b36098e07 cgen: 1 error left 2020-03-20 20:35:00 +01:00
Alexander Medvednikov 8077a7534e cgen: 7 errors left 2020-03-20 20:22:37 +01:00
yuyi e6a679b019
flag: octal format 2020-03-20 20:21:16 +01:00
Delyan Angelov f89f83deb6
solaris: _solaris.v and #flag solaris (stage 1) 2020-03-20 20:20:01 +01:00
Alexey 9c668072b9
fmt: fix ForInStmt 2020-03-20 20:19:43 +01:00
Alexander Medvednikov 5a7f683f61 cgen: minor fixes 2020-03-20 17:20:53 +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
Alexander Medvednikov 4fac09bcb4 array: simplify reverse() memcpy call 2020-03-20 16:51:36 +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
Delyan Angelov 0fbb056ac7
hotreload: fix compilation of .so file on macos 2020-03-19 14:50:37 +01:00
Alexander Medvednikov dd96421a9f compiler: remove old vh generator 2020-03-19 13:24:57 +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 be01a32f0b math: use automatic dereferencing 2020-03-19 10:24:51 +01: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
SleepyRoy f798a0937a
expression: set floats as f64 by default 2020-03-19 07:24:49 +01:00
fantassin 5824d28a03
term: Solaris headers 2020-03-19 07:07:43 +01:00
Delyan Angelov cc847f83a8
compiler: when compiling a single .v file, check that it is not a folder 2020-03-19 07:07:02 +01:00
yuyi 9ef8499183
flag: unify apis 2020-03-19 07:06:37 +01:00
Alexander Medvednikov 66639924a4 map: make compilable with V2 2020-03-19 07:05:20 +01:00
ka-weihe bd0548548a
map: new memory layout and map.get2() 2020-03-19 06:52:34 +01:00
Alexander Medvednikov c3d7c57096 cgen: more minor fixes 2020-03-18 19:56:59 +01:00
Alexander Medvednikov ca0bae0fcd array: fix reverse() 2020-03-18 18:54:11 +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
radare f5e44fbef2
compiler: better NetBSD and OpenBSD support in vfmt and $if 2020-03-17 12:43:59 +01:00
Major Taylor e2eb0f17d7
string: separate strip_margin tests into different functions 2020-03-17 02:49:51 +01:00
Delyan Angelov f73b38a0d8
vfmt2: fix literal integer number formatting 2020-03-17 02:49:15 +01:00
yuyi 456c0250b0
string: fix strip_margin 2020-03-16 15:46:09 +01:00
Alexander Medvednikov d39dd53998 string: bring back test_strip_margins 2020-03-16 15:45:54 +01:00
yuyi 5ae04dca84
glfw: remove global scale variable 2020-03-16 15:44:26 +01:00
Ian M. Jones 93920a4bb0
vweb: set request data with body text to allow use in actions 2020-03-16 14:30:55 +01:00
Joe Conigliaro d456cc479c builtin: revert map to version before 35dd785 until bug is fixed 2020-03-16 23:01:31 +11:00
radare 5581b2bd3c
builtin: fix backtrace for OpenBSD and NetBSD 2020-03-16 12:10:58 +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 98fc9ab65b string: disable strip_margins test for now 2020-03-15 23:21:32 +01:00
Alexander Medvednikov 8a8f50a6a0 cgen: unwrapped optionals 2020-03-15 08:18:45 +01:00
Major Taylor 8d19ba9195
string: strip_margin: fix the error message for multiple args 2020-03-15 07:49:37 +01:00
Alexander Medvednikov 8e2537a366 cgen: array init fix; 2020-03-15 07:42:49 +01:00
Major Taylor 2d5c7c8e93
string: add `strip_margin` 2020-03-15 05:46:12 +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
yuyi a121dfd23a
glfw: high dpi on windows 2020-03-15 01:16:55 +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
yuyi 8bfa7f0d82
compiler: fix interface bug 2020-03-14 14:19:56 +01: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
yuyi 424bd1c465
scanner: minor optimization 2020-03-13 22:22:59 +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
Delyan Angelov 9bcb7d115f
panic: restore printing of detailed stack backtraces on linux 2020-03-13 04:32:44 +01:00
Ian M. Jones 0e68ca120e
vweb.assets: fix am is declared as mutable, but it was never changed message 2020-03-13 04:32:24 +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
ka-weihe 35dd7855a0
map: new memory layout and optimizations 2020-03-12 19:36:05 +01:00
Marko Zitkovic 26b9987880
compiler: fix panic when dealing with variadic functions 2020-03-12 18:21:02 +01:00
vitalyster 0df6eaa927
"#flag mingw ..." support 2020-03-12 18:20:19 +01:00
Joe Conigliaro 07921194f2 parser: revert changes to format_str 2020-03-13 00:32:26 +11:00
Joe Conigliaro 597811093c parser/cgen: fix order of escape replacements 2020-03-13 00:21:43 +11:00
Joe Conigliaro b750f1d1bb compiler: prerequisite changes for upcoming map update 2020-03-12 22:19:13 +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
Delyan Angelov de7fed45dc
builtin: implement []int.str() 2020-03-11 18:48:59 +01:00
Delyan Angelov dff17ee0d7
compiler: pass -shared to build a .so file from a module 2020-03-11 17:31:20 +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 1cea85df0c compiler: save mutability of unnamed fn args 2020-03-12 01:44:41 +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
penguindark 630913d872
builtin: new str(), hex() functions without C.printf 2020-03-11 00:38:11 +01: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
Alexander Medvednikov 568d859fc0 bignum: move to math.big 2020-03-10 19:31:01 +01:00
Wing-Kam f1274e34c2
cli: add pre_execute & post_execute 2020-03-10 16:11:17 +01:00
yuyi 8ff86dbee6
os: is_abs => is_abs_path 2020-03-10 16:09:37 +01:00
Alexander Medvednikov 324a48bc64 sha512: make it work with the new parser 2020-03-10 15:47:21 +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
Charles WANG 7e1870be3e
pg: create readme.md 2020-03-10 15:00:22 +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
Delyan Angelov 7036ca55e6
os: implement os.environ() (part 2/2) (#3971) 2020-03-10 14:25:16 +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
yuyi a569959fb8
os api: cachedir => cache_dir 2020-03-08 15:57:47 +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
yuyi 23b11c84b1
os api: basedir => base_dir 2020-03-08 15:43:56 +01:00
Delyan Angelov 2bed0d1bb5
fmt: extract array_slices_input.vv from simple_input.vv 2020-03-08 15:42:38 +01:00
Ian M. Jones c731615dbb
vweb: cater for trailing slashes being used in handle_static call 2020-03-08 15:41:59 +01:00
Delyan Angelov 8df265a581
sync: protect against sporadic failing tests in macos 2020-03-08 15:40:50 +01:00
hazohelet ee6f2f84bb
compiler: fix redefinition error message for consts 2020-03-08 15:40:07 +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
Ian M. Jones 750f37fde7
vweb: fix serving static files 2020-03-07 14:16:03 +01:00
Delyan Angelov d2ab9d3e77
compiler: fix generation of default .str() methods in interpolation 2020-03-07 14:13:53 +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
Nguyen Viet Hung f5a8d883d2
gx: add hex to rgb color 2020-03-07 04:30: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
Alexey 06df6d25a2
sdl: update readme 2020-03-06 20:43:33 +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
Ian M. Jones 522de0871a
pg: fix zero being used for port when not specified in pg.Config 2020-03-06 18:40:24 +01:00
Alexey 5142747ceb
examples: move SDL examples from vlib to examples dir 2020-03-06 18:39:40 +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
Alexander Medvednikov 7a92a47eb3
flag: fix array boundary check 2020-03-06 02:02:32 +01:00
Alexander Medvednikov efb45579aa
pg: add port to config 2020-03-06 02:01:53 +01: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 a8e45251c4
sync.pool: simplify usages of pool.work_on_items 2020-03-05 18:37:57 +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 b32a94627c cc: -ferror-limit 2020-03-05 00:45:43 +01:00
Alexander Medvednikov 4161cfcdb8 cgen: lots of fixes 2020-03-05 00:43:09 +01:00
Alexander Medvednikov b7e2af8151
os: better deprecated message 2020-03-04 20:29:17 +01:00
Alexander Medvednikov b0ece3a9d8
sync: implement pool.work_on_items to process a list of items in parallel 2020-03-04 20:28:42 +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 c203a744fe glm: fix calloc 2020-03-04 17:22:20 +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
yuyi 448ed41562
os api: rmdir_recursive => rmdir_all 2020-03-03 15:02:50 +01:00
yuyi 3f67ba08b1
glfw, freetype: remove the display of general information 2020-03-03 14:41:26 +01:00
Hugo Locurcio 69f256b900
use LF line endings in examples/quick_sort.v 2020-03-03 14:41:05 +01:00
Joe Conigliaro af3159791f v2: reset expr_mod after struct_init type is parsed 2020-03-04 00:24:15 +11:00
Delyan Angelov 90996269fd
compiler: more precise default error context for C errors 2020-03-03 12:01:23 +01: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
yuyi 8ac0739858
os api: cp_r => cp_all 2020-03-02 19:30:04 +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
Alexey 78c885d657
fmt: add support for goto 2020-03-02 17:41:32 +01:00
Delyan Angelov c6107276df
compiler: stabilize the interface code generation a little 2020-03-02 17:10:26 +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
Delyan Angelov 1066ec5cd9
compiler: import modules relative to v.mod 2020-03-01 15:49:39 +01:00
Delyan Angelov 615a4b3452
builtin: add V64_PRINTFORMAT (part 2) 2020-03-01 15:48:54 +01:00
Delyan Angelov 2700fd712b
builtin: add V64_PRINTFORMAT (part 1) 2020-03-01 15:30:33 +01: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
Nicolas Sauzede becd87141c
fix linux warnings in generated C code 2020-03-01 13:26:09 +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 cbffbf3438
array: reverse empty arrays correctly 2020-02-29 20:44:02 +01: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
yuyi a678be7195
fix interface on all platforms 2020-02-29 15:27:28 +01:00
Alexey 99cbc58db8
array: update `array.repeat` 2020-02-29 15:25:49 +01:00
Alexey 632a538eb3
string: update `string.repeat` behavior
Panic if a repeat count is negative.
Return an empty string if a repeat count is zero.
2020-02-29 15:25:31 +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
Major Taylor d4b0de2dce
log: extended logging level names when printed 2020-02-29 14:31:59 +01:00
Delyan Angelov f9d5c0110f
compiler: @VMODULE 2020-02-29 14:23:45 +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
Joe Conigliaro eb80accfee v2: add ParExpr to checker 2020-02-29 15:36:39 +11:00
Alexander Medvednikov 6855c746bb vfmt: EnumDecl 2020-02-28 17:21:24 +01:00
Major Taylor ee9cfe22ec
scanner: fix a typo in right_shift 2020-02-28 17:16:24 +01:00
Alexander Medvednikov ccf4f61521 ast: ParExpr, OrExpr, IfGuardExpr; ForInStmt fix; remove all cap vars 2020-02-28 15:36:41 +01:00
Alexander Medvednikov 6a198df3af v2: ParExpr; mut var decl 2020-02-28 14:41:19 +01:00
Alexander Medvednikov 7f5a15372f os: fix get_raw_line() + minor v2 fixes 2020-02-28 14:05:20 +01:00
Joe Conigliaro c4b9ef388f v2: handle var decl & assign stmt together 1st step combining 2020-02-28 23:29:04 +11:00
Nicolas Sauzede f5fdbfd004
os: fix getline warning for linux 2020-02-28 02:43:42 +01:00
penguindark b8f6284daf
ftoa: tables with hex constants 2020-02-28 02:43:15 +01:00
Alexander Medvednikov 87205367d1 v2: minor fixes 2020-02-27 21:51:40 +01:00
Alexander Medvednikov 3204f036da ast: move all str() methods to ast/str.v 2020-02-27 21:29:38 +01:00
Alexander Medvednikov d619944cf5 vfmt: []xxx; mut args 2020-02-27 21:00:33 +01:00
Alexander Medvednikov 4f0d505c65 v2: `if x := `; fix `for key, val in`; CastExpr 2020-02-27 18:02:40 +01:00
Alexander Medvednikov 3bde876097 v2: checker: fix --/++ 2020-02-27 17:31:10 +01:00
Alexander Medvednikov 09b7a7c872 v2: checker: handle clone() 2020-02-27 17:21:13 +01:00
Alexander Medvednikov b1357d9641 v2: checker: fix filter() 2020-02-27 16:51:47 +01:00
yuyi b580a497fe
compiler: fix an interface bug 2020-02-27 16:31:05 +01:00
Joe Conigliaro aba0bb5e01 v2: fix condition in AssignStmt 2020-02-27 21:15:30 +11:00
Joe Conigliaro 237d83b2ee v2: more work on AssignStmt & multi ret & initial blank ident 2020-02-27 21:12:30 +11:00
joe-conigliaro cfbd8ab7e7 v2: parser - use defer to make sure scope is closed for filter 2020-02-27 17:00:24 +11:00
Alexander Medvednikov 06fc8a830b v2: fix a bug with `mod.const` 2020-02-27 03:30:17 +01:00
Alexander Medvednikov a5db9c3519 os: bring back write_bytes_at() 2020-02-27 00:41:05 +01:00
Alexander Medvednikov bb6098e2d3 v2: fix `type f fn...` 2020-02-27 00:18:14 +01:00
Alexander Medvednikov c51f464446 v2: fix `mod.Enum.val` and `x = .val` 2020-02-27 00:12:40 +01:00
Alexey 59d6a675dd
vdoc: trim result value 2020-02-26 23:18:31 +01:00
Major Taylor c72e505fe4
pg: use unsafe 2020-02-26 23:17:56 +01:00
Alexey 394d64bfd0
vdoc: remove duplicated code 2020-02-26 22:44:28 +01:00
Alexey ca9fa6407f
v2: distinguish public and private constants 2020-02-26 22:43:37 +01:00
yuyi 46ec400cb3
vdoc: sort function names 2020-02-26 20:46:09 +01:00
Alexey 70f085be18
v2: process unsafe statements 2020-02-26 20:45:03 +01:00
Alexey b1ea908b3b
fmt: process `defer` statement 2020-02-26 20:44:42 +01:00
Delyan Angelov 9d61f4fad1
benchmark: make measuring small snippets of code less verbose/easier to use 2020-02-26 16:29:46 +01:00
Alexander Medvednikov 857cbfb0d2 v2: short struct init syntax; .xxx enum checks; unions; assert 2020-02-26 15:51:05 +01:00
Nicolas Sauzede 30f905999a
math: add powf and other float32 functions 2020-02-26 13:31:54 +01:00
Delyan Angelov 7a72167eb7
strings: optimization of repeat + repeat_string() 2020-02-26 13:22:12 +01:00
penguindark 39429f7ac9
atof: lots of fixes
* removed sprintf for f64 and f32 use

* removed all pointers from the code, used unions instead

* solved module name problem

* fixed tests on vlib/math

* fix for alpine-linux math test

* small fix on byte allocation for ftoa
2020-02-26 12:14:06 +01:00
joe-conigliaro c4e83faa57 compiler: allow a type to be used as a variant of multiple sum types 2020-02-26 15:15:38 +11:00
SleepyRoy bc3d1eaf6e
scanner: simplify and unify style 2020-02-25 22:58:51 +01:00
Alexander Medvednikov 0f8b2399ee fmt: fix new EnumVal 2020-02-25 19:59:47 +01:00
Alexander Medvednikov 28ee0f4ebe checker: check enums 2020-02-25 15:02:34 +01:00
SleepyRoy 05ed6c57b6
scanner: add check for wrong decimal numbers 2020-02-25 14:33:29 +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
lydiandy d4ffed89c0
add typeof test for fn (#3832) 2020-02-25 11:14:59 +01:00
penguindark 200f25a38f
ftoa in V (#3831) 2020-02-25 11:12:37 +01:00
SleepyRoy b17e49ad25
scanner: add check for bin/oct/hex with wrong digits 2020-02-25 11:11:12 +01:00
SleepyRoy f859c7f93e
scanner: fix special case - `e` or `E` at the end 2020-02-25 11:10:05 +01:00
Delyan Angelov b17ade1257
compiler: implement typeof(x) 2020-02-24 21:45:47 +01:00
SleepyRoy 794ee6fc9d
scanner: fix bin/oct/hex without number parts 2020-02-24 18:02:36 +01:00
lydiandy 3c0b73c2d6
sokol: fixes 2020-02-24 18:02:22 +01:00
SleepyRoy 96da5b33c0
scanner: fix special case - 0 at the end 2020-02-24 18:01:51 +01:00
spaceface777 ef8c1203b4
cleanup: replace C for loops with range 2020-02-24 17:55:16 +01:00
Alexey 5918946feb
fmt: process attributes 2020-02-24 17:18:14 +01:00
vitalyster a3a7e0531a
darwin: fix MacPorts build 2020-02-24 16:54:04 +01:00
Alexey 87ad5a96b9
v2: stringify multi-return types 2020-02-24 16:38:31 +01:00
Alexey 2bbb8526a3
fmt: process RangeExpr properly 2020-02-24 16:37:20 +01:00
SleepyRoy 7d2eb4f604
scanner: make `0o` prefix the only way to define octals 2020-02-23 23:43:04 +01:00
yuyi 9d2a60bb11
os: optimize os_windows.v 2020-02-23 20:46:13 +01:00
yuyi adb1d3f8c9
scanner: enable 0oxx to handle octals 2020-02-23 12:33:07 +01:00
Alexey 26fa833984
fmt: process assignment statement correctly 2020-02-23 11:22:07 +01:00
Alexander Medvednikov 2eb4f663d6 fix fmt test 2020-02-22 17:14:38 +01:00
Alexander Medvednikov dd29bfe4d2 fix fmt test 2020-02-22 17:07:03 +01:00
Alexander Medvednikov d510cd1e0d fmt: else, for in 2020-02-22 16:59:50 +01:00
Alexander Medvednikov 5fef8390a1 fmt: assoc 2020-02-22 14:39:25 +01:00
Alexander Medvednikov cd41967aa1 fmt: struct pub/mut fields, map init 2020-02-22 14:13:22 +01:00
joe-conigliaro b250ded3fa v2: fix typo & remove unneeded field 2020-02-22 23:08:14 +11:00
joe-conigliaro 30c8a5a010 v2: temp const fix 2020-02-22 23:04:56 +11:00
Alexander Medvednikov 6f577321f1 checker: fix build 2020-02-22 12:58:16 +01:00
Alexander Medvednikov e459e6d24a checker: remove unnecessary exits 2020-02-22 12:57:18 +01:00
yuyi 1a1aa267b7
vlib: remove malloc unsafe warning 2020-02-22 12:41:24 +01:00
Alexander Medvednikov 3c3ca1e61f fmt: fix test 2020-02-21 22:56:50 +01:00
joe-conigliaro 15c288b444 v2: small type cleanup 2020-02-22 08:50:21 +11:00
yuyi b325320f29
os: minor fixes 2020-02-21 20:14:01 +01:00
Alexander Medvednikov 7acf8efde3 fmt: fix import alias 2020-02-21 20:12:55 +01:00
Alexander Medvednikov 9be87d03f5 type_to_str: fix imported types 2020-02-21 19:56:37 +01:00
Alexander Medvednikov e0c6766a79 make "unreachable code" a warning in non-prod builds 2020-02-21 18:55:18 +01:00
Alexander Medvednikov 1d90c1cbbf nice 2020-02-21 18:15:41 +01:00
Alexander Medvednikov 4c95e59d5c fmt, doc: &; update 0.2 roadmap 2020-02-21 18:13:34 +01:00
Alexander Medvednikov 9e6773cba8 fmt: optionals; none 2020-02-21 17:52:20 +01:00
Alexander Medvednikov d075be73e8 fmt: single line if 2020-02-21 16:48:45 +01:00
yuyi 15a2927f09
optimize table.all_test_function_names 2020-02-21 16:29:41 +01:00
Alexander Medvednikov e9931e6f84 fmt: wrap_long_line() 2020-02-21 16:14:15 +01:00
Alexander Medvednikov 728aeb8092 fmt: wrap long lines 2020-02-21 15:32:48 +01:00
Alexander Medvednikov b309e7d0e5 type_to_str() 2020-02-21 14:47:42 +01:00
Alexander Medvednikov 6dac2edeef checker: is_number() 2020-02-21 13:44:03 +01:00
yuyi 527377dc86
fix os_test.v 2020-02-21 12:24:13 +01:00
Delyan Angelov d90a291c5e
ui: cleanup warnings from glm module 2020-02-21 12:20:59 +01:00
ka-weihe 6b706a0c99
Add FastestHash to cheaders.v 2020-02-21 12:20:03 +01:00
joe-conigliaro 8bb8b7d76e v2: add ability to store extra information with Type such as optional 2020-02-21 21:44:06 +11:00
Alexey 8677a5981c
os: use unified way to deprecate functions 2020-02-20 23:00:02 +01:00
Delyan Angelov 88b402fcf8
bugfix: v should not panic when encountering a file that consists only of comments 2020-02-20 22:59:47 +01:00
Alexander Medvednikov e56bf42270 v2: xor, for x = ... 2020-02-20 21:28:08 +01:00
Alexey c85ccad0a6
string: update check if a char is a space 2020-02-20 20:14:54 +01:00
Alexey e4de1e1e89
string: add more test cases 2020-02-20 20:14:21 +01:00
Alexander Medvednikov 7705281459 map: use hashmap instead of b-tree 2020-02-20 20:05:06 +01:00
Alexander Medvednikov ab8d883fee fix wyhash.h 2020-02-20 18:45:44 +01:00
Alexander Medvednikov 5d5373764e embed wyhash.h 2020-02-20 18:38:05 +01:00
Alexander Medvednikov f413b2fa49 Revert "map: use hashmap instead of b-tree"
This reverts commit 34d926350b.
2020-02-20 17:58:17 +01:00
ka-weihe 34d926350b
map: use hashmap instead of b-tree 2020-02-20 17:28:20 +01:00
Alexander Medvednikov e35f8e9e23 checker: return errors 2020-02-20 17:05:16 +01:00
Alexander Medvednikov 296e736f5b checker: minor fixes 2020-02-20 16:16:44 +01:00
joe-conigliaro 72bbec89a9 v2: fix error in checker, continue instead of break 2020-02-21 00:20:08 +11:00
joe-conigliaro 6f7c103e50 v2: checker use kind instead of idx 2020-02-20 23:27:23 +11:00
joe-conigliaro e7e2c68d09 v2: allow type with str method to be used as fn string argument 2020-02-20 23:18:55 +11:00
Alexander Medvednikov c099cd8bf6 pratt: fix precedence 2020-02-20 12:59:05 +01:00
Alexander Medvednikov 0074976636 checker: exit if there are errors 2020-02-20 12:05:53 +01:00
yuyi 8be07194c7
string: fix capitalize 2020-02-20 11:33:38 +01:00
yuyi d51019dd77
unify vexe_path 2020-02-20 11:33:01 +01:00
joe-conigliaro fcd97f513a v2: module/type/fn name fixes, compile fixes 2020-02-20 21:13:18 +11:00
joe-conigliaro aab1045045 v2: reorder types idxs, > string defined with v struct. rm unresovled 2020-02-20 11:39:59 +11:00
penguindark d2cb5ad725
math.bits: make certain functions public + small fixes 2020-02-20 01:31:42 +01:00
Alexander Medvednikov 92e3e48bce v2: checker: [] and in 2020-02-19 21:13:42 +01:00
Alexander Medvednikov e30bd04579 fix fmt test 2020-02-19 19:57:21 +01:00
Alexander Medvednikov ec3d67c19f checker: print multiple errors; none 2020-02-19 19:54:42 +01:00
SleepyRoy d91945cc99
parser: some pure logic code simplifications 2020-02-19 19:43:57 +01:00
Alexander Medvednikov 31b74f02b6 doc: handle submodules 2020-02-19 16:21:46 +01:00
Alexander Medvednikov 092c09d81f vdoc using the new parser 2020-02-19 16:13:34 +01:00
yuyi 391da0ba07
string: optimize starts_with and ends_with 2020-02-19 15:18:09 +01:00
joe-conigliaro e4179c0008 v2: more array init & index expr fixes 2020-02-20 00:34:44 +11:00
joe-conigliaro 478c48cd6f Merge branch 'master' of https://github.com/vlang/v 2020-02-19 21:45:45 +11:00
joe-conigliaro 69634c60b3 v2: start to fix index expr for map/array/fixed array 2020-02-19 21:45:06 +11:00
joe-conigliaro 42399d24d9 v2: fix index expr for fixed array & map 2020-02-19 21:39:30 +11:00
Alexander Medvednikov 082acfad49 v2: fix more ast positions 2020-02-19 11:31:33 +01:00
Alexander Medvednikov bc11419ff9 v2: fix for position and check 2020-02-19 11:06:36 +01:00
joe-conigliaro 042bce4b6c v2: dont preifx C fns with module & add todo 2020-02-19 18:08:08 +11:00
joe-conigliaro 83bfd0805e v2: prefix functions with module, except in main & builtin 2020-02-19 17:16:38 +11:00
joe-conigliaro 9b271d1728 v2: remove left over testing printlns 2020-02-19 16:06:16 +11:00
joe-conigliaro f91bded9b3 v2: add missing table/modules.v 2020-02-19 13:11:55 +11:00
joe-conigliaro b62a90a212 v2: module/import fixes, use parent_idx instead of parent ptr to remove need to preallocate types array 2020-02-19 13:09:35 +11:00
Alexey 200d3e6446
vfmt: process imports and module name 2020-02-18 22:35:14 +01:00
SleepyRoy aaf3ced750
parser: add type check for +=, -=, *=, /= 2020-02-18 22:14:52 +01:00
Alexander Medvednikov 19520ccf4e v2: for in checker 2020-02-18 21:59:42 +01:00
Alexey 39c4842bf9
vfmt2: skip arg type if possible 2020-02-18 21:02:43 +01:00
Alexander Medvednikov c314ab7b60 fix cmdline_test.v 2020-02-18 20:31:15 +01:00
Alexander Medvednikov 31c1483b9d vfmt2: fn args, comments 2020-02-18 20:20:15 +01:00
Alexander Medvednikov 480af3f381 v2: checker fixes 2020-02-18 20:06:01 +01:00
Delyan Angelov 290feaac51
vfmt2: allow running the new vfmt with 'v fmt -2' 2020-02-18 20:00:06 +01:00
Delyan Angelov b991ca4ebc
vfmt2: more convenient way to test multiple files for correct formatting 2020-02-18 17:54:14 +01:00
Alexander Medvednikov 4e9bfa95ec v2: the new parser can now parse the entire V compiler 2020-02-18 17:45:59 +01:00
Alexander Medvednikov 4de8d3ae8c parser: short struct syntax for all structs 2020-02-18 16:25:09 +01:00
joe-conigliaro 67756c53dc
v2: more cleanup (#3765) 2020-02-18 18:58:20 +11:00
yuyi 392eb1fb55
fix vlib/compiler/aparser.v (#3764) 2020-02-18 18:45:04 +11:00
Alexander Medvednikov ed01ab763c v2/vfmt2: more fixes 2020-02-18 03:28:41 +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
vitalyster 2e1dbd9f5a
windows: use %USERPROFILE% for os.home_dir() 2020-02-18 02:12:10 +01:00
Alexander Medvednikov 2ea2fed8a5 vfmt: minor clean up 2020-02-17 22:52:48 +01:00
Alexander Medvednikov 59beec8fae new vfmt using the new parser 2020-02-17 22:50:11 +01:00
prime31 a2838ae6f3
array: add `array.trim()` 2020-02-17 20:31:40 +01:00
yuyi 6849a4e770
filepath: path separator (#3756) 2020-02-17 20:31:23 +01:00
Daniel Däschle 6079025985
gg: add option to decorate window 2020-02-17 20:29:09 +01:00
Alexander Medvednikov 53f8ae6517 fix prod build 2020-02-17 14:30:01 +01:00
Alexander Medvednikov 1dd6491a2f v2: more parser fixes 2020-02-17 14:15:49 +01:00
joe-conigliaro d7f74ecf52
v2: move more type handling to checker + some clean up 2020-02-17 12:25:18 +01:00
penguindark 80861f2219
scanner: exponent without sign 2020-02-17 02:35:01 +01:00
joe-conigliaro 1007dd8f23
v2: update parse type not to prefix builtin types with module 2020-02-16 16:16:19 +01:00
Delyan Angelov 195f3f465b
option to disable bounds checking; examples/path_tracing.v: optimizations 2020-02-16 16:13:45 +01:00
yuyi e272a10bda
vfmt fixes 2020-02-16 12:42:28 +01:00
Alexander Medvednikov 9eeb3dfe7e v2: temporary string cast fix 2020-02-16 12:38:15 +01:00
Alexander Medvednikov 6d8ad58515 v2: mod.Type 2020-02-16 12:31:44 +01:00
joe-conigliaro dc90f4f4a6
v2: remove unresolved types; handle types in checker; add ast.scope 2020-02-15 13:37:48 +01:00
Alexander Medvednikov 8dd905a14d v2: more parser fixes 2020-02-13 14:08:19 +01:00
Alexey 8d76f7d195
v2: remove redundant EOL normalization in cgen test 2020-02-12 23:19:17 +01:00
Alexander Medvednikov 9d46fb9f90 v2: [] expr for known arrays; p.expected_type 2020-02-12 17:39:51 +01:00
Delyan Angelov 0ad5d53423
net.http: more robust handling of relative /path URL redirects 2020-02-12 14:52:39 +01:00
penguindark 67e7ad13de
math.bits: added missing functions and test 2020-02-12 11:32:03 +01:00
Alexander Medvednikov d9cf98f772 v2: imports 2020-02-12 01:16:38 +01:00
Alexander Medvednikov 0ec5680156 array: bring back reduce test 2020-02-11 13:22:22 +01:00
Alexander Medvednikov 17212f816c v2: high order functions 2020-02-11 13:21:41 +01:00
Alexander Medvednikov 2838d12227 v2: fn_args() 2020-02-11 13:03:14 +01:00
joe-conigliaro d25a0e30dc
v2: make index_expr return array array element type 2020-02-11 12:59:40 +01:00
Alexander Medvednikov 9610821884 v2: defer; match a,b; if x := 2020-02-11 10:26:46 +01:00
joe-conigliaro f7b80c3c62 v2: fix fixed array parsing 2020-02-11 14:45:33 +11:00
Alexander Medvednikov 2d7c80bbc3 v2: match sum type; { x | } 2020-02-11 00:07:01 +01:00
Alexander Medvednikov a21e3d77e9 fix prod build 2020-02-10 23:47:42 +01:00
Alexander Medvednikov 747f6829ab v2: enum decl; type decl; [start..end] fix; %= 2020-02-10 23:19:50 +01:00
Alexander Medvednikov 26cfaa150e v2: match expr; enum val; string formatting 2020-02-10 20:33:46 +01:00
Nicolas Sauzede d51c159160
math: add sqrtf 2020-02-10 18:48:44 +01:00
yuyi c1c2b648ab
os: typo in wait 2020-02-10 18:48:01 +01:00
Alexander Medvednikov d5f90ef64b v2: handle unresolved consts 2020-02-10 18:43:25 +01:00
joe-conigliaro bf5ed5e451
v2: fix array index, for loop, add cast expr & other minor fixes 2020-02-10 14:43:17 +01:00
Alexander Medvednikov c9f619dc72 v2: parse `filter()` 2020-02-10 14:42:57 +01:00
Alexander Medvednikov 3f6ccd3120 v2: minor fixes 2020-02-10 13:58:24 +01:00
radare 7dc040b01c fix -prod on OpenBSD 2020-02-10 08:57:35 +01:00
joe-conigliaro e274c5c485 v2: type sys - store type idx/ptr in int & add helpers 2020-02-10 08:32:08 +01:00
penguindark 9845fd1cf5
math.bits: tests 2020-02-09 21:16:03 +01:00
Delyan Angelov f76651604d
compiler: bugfix for raw'"' 2020-02-09 16:29:05 +01:00
joe-conigliaro 94537c5901
compiler: scope type alias to module 2020-02-09 15:40:31 +01:00
lutherwenxu 9332a83ce6
move v.v to cmd/v 2020-02-09 10:08:04 +01:00
joe-conigliaro 7583c350b8
compiler/math.bits: use max u64 consts 2020-02-09 09:25:27 +01:00
Alexey 1eeee40278
string: split into lines correctly 2020-02-09 09:23:57 +01:00
Delyan Angelov 4bb5d7de8b
tooling: use term.header for tests 2020-02-08 17:01:10 +01:00
Delyan Angelov a02e1e0af2
compiler: more actionable error message, when fn main is missing 2020-02-08 17:00:13 +01:00
joe-conigliaro a2d2586331
v2: map / string / builtin type fixes 2020-02-08 16:59:57 +01:00
joe-conigliaro e01c76c895
v2: fix type resolving 2020-02-08 12:14:53 +01:00
joe-conigliaro 9e9bdc32ea
v2: lots of small fixes parent method/field resolution 2020-02-08 09:50:12 +01:00
Alexander Medvednikov ea9961a8fb fix term_windows.v 2020-02-07 23:16:34 +01:00
Major Taylor e9827f5a34
vweb: fix typo in 'assets.v' 2020-02-07 23:12:30 +01:00
Alexander Medvednikov 8f9979eb8d fix time_windows.v 2020-02-07 23:11:15 +01:00
Alexander Medvednikov 18c440c990 fix int_test.v 2020-02-07 22:16:14 +01:00
Alexander Medvednikov d66bc24e7f remove `as` casts for basic types 2020-02-07 22:10:48 +01:00
Alexander Medvednikov f782388148 v2: minor fixes 2020-02-07 21:29:28 +01:00
joe-conigliaro 35bef514b0
v2: checker & unresolved fixes & small updates 2020-02-07 18:46:42 +01:00
Don Alfons Nisnoni 36e636743b
term: header() 2020-02-07 18:46:20 +01:00
Alexander Medvednikov 0510bc7744 fix int.v 2020-02-07 14:57:48 +01:00
Alexander Medvednikov c8dcbcb649 parser: allow `as` in consts 2020-02-07 14:53:07 +01:00
Alexander Medvednikov 9034b1fd08 v2: match cgen; use `as` for casting 2020-02-07 14:50:52 +01:00
Alexander Medvednikov 18a3961992 array.v: use `as` cast 2020-02-07 09:38:28 +01:00
Alexander Medvednikov b23854b2ab array.v: fix the build 2020-02-07 09:22:52 +01:00
Alexander Medvednikov f241945d70 v2: `as` cast 2020-02-07 09:19:45 +01:00
Alexander Medvednikov bb60b3081f v2: parse builtin successfully 2020-02-07 07:34:18 +01:00
Delyan Angelov 2ce6b190dd
@VMODULE relative paths in #flag lines 2020-02-06 17:38:35 +01:00
joe-conigliaro 67a13fc916
v2: start impl multi assign 2020-02-06 17:38:02 +01:00
Alexey 65744207fc
time: reorganize module 2020-02-06 14:19:44 +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
Alexander Medvednikov 6c3613407d vweb: fix header.html 2020-02-06 10:41:10 +01:00
Alexey 91e181b14a
time: return optional value in `parse` and `parse_iso` functions 2020-02-06 10:22:00 +01:00
Delyan Angelov 1618596218
os: fix compiler warnings when just importing os 2020-02-05 11:23:49 +01:00
Alexander Medvednikov 06b5f43e48 builtin: remove unneeded casts 2020-02-05 11:22:24 +01:00
Alexander Medvednikov 2b433cdf64 v2: match, <<=, >>=, |=, ~, unsafe, map init 2020-02-05 10:00:14 +01:00
Alexey a61c9c617d
time: use `_mkgmtime` and `timegm` to calculate unix time 2020-02-05 06:13:11 +01:00
Nicolas Sauzede 9d4c943d64
compiler: add very simple nameof token to get type name as string 2020-02-05 06:12:33 +01:00
Alexander Medvednikov c595c9eee1 builtin: bring back old hex() 2020-02-04 20:23:03 +01:00
Alexander Medvednikov f1a0c2f1af v2: parse optionals 2020-02-04 20:22:00 +01:00
Alexander Medvednikov ac5c4e3203 fix prod build 2020-02-04 17:48:15 +01:00
Alexander Medvednikov 80daaff874 v2: scopes, or, in, hex 2020-02-04 17:44:39 +01:00
Alexander Medvednikov 9b60a50d07 v2: maps, <<, >>, method calls 2020-02-04 12:50:58 +01:00
vitalyster 21b54723e4
time: fix timezone 2020-02-04 12:17:04 +01:00
joe-conigliaro 85e4e4cb40
v2: resolve unresolved call expression types & add test 2020-02-04 12:03:12 +01:00
Alexander Medvednikov 83f0c228e9 v2: parse builtin.v, cfns.v float.v 2020-02-04 09:54:15 +01:00
Alexander Medvednikov 432ee93916 v2: break, continue, for in fixes, fixed size array, | 2020-02-04 08:29:50 +01:00
Alexander Medvednikov c7f07cd0b6 v2: postfix_expr() checker 2020-02-04 07:37:41 +01:00
origel 4d6958381d
glfw: window add set resize callback method 2020-02-04 05:40:16 +01:00
joe-conigliaro 75eebb516f
fix bug in levenshtein distance & add tests 2020-02-04 04:21:40 +01:00
joe-conigliaro 21b6dace8f
v2: remove duplication & slight cleanup. share prefs with v1 2020-02-03 12:09:17 +01:00
Alexander Medvednikov f1f8a2e4dd fix prod build 2020-02-03 12:06:25 +01:00
Alexander Medvednikov 64bfae0a0e 2 2020-02-03 11:54:41 +01:00
Alexander Medvednikov 54605823f9 rem1 2020-02-03 11:45:25 +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 6489b48c9c v2: clean up IndexExpr type check 2020-02-03 11:29:50 +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 1ac7a95f9b fix array_test.v 2020-02-03 10:27:06 +01:00
Alexander Medvednikov 50b704c5dd sum type: mut 2020-02-03 09:25:26 +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 7808f4c272
hash.wyhash: implement rand function from wyhash original impl 2020-02-03 06:02:28 +01:00
joe-conigliaro 7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Delyan Angelov da21b50750
gg,os: minimize memory allocation 2020-02-03 04:01:39 +01:00
Alexander Medvednikov 71653273f6 v2: range, *, function object 2020-02-02 14:32:12 +01:00
Don Alfons Nisnoni 4fc52948b3
mysql: wrap more APIs & organize module 2020-02-02 12:39:57 +01:00
Alexander Medvednikov 377d8dc42c v2: parser_test: run all tests 2020-02-02 08:06:21 +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
toman222 932392a7fd
sqlite: modify exec functions + other fixes 2020-02-02 02:56:09 +01:00
Leah Lundqvist 0ef1ba9ad2
gg: added draw_empty_rounded_rect 2020-02-02 02:55:29 +01:00
Leah Lundqvist 4ca283380a
gg: scissor 2020-02-02 02:54:41 +01:00
joe-conigliaro 554d1dd7c6
compiler: make optionals work with multi return 2020-02-02 02:53:23 +01:00
prime31 f0efb42a30
cc: add file style selector to clang-format 2020-02-02 02:51:27 +01:00
joe-conigliaro 8bd17c8016
crypto.rand: update slice method to slice syntax & fix typo in error 2020-02-02 02:50:46 +01:00
joe-conigliaro 05374e162e
compiler: attribute test - fix typo in function name 2020-02-01 18:59:34 +11:00
Delyan Angelov 696926a557
compiler: add support for -pretty_c option 2020-02-01 06:37:22 +01:00
radare bf9eefa694
parser: resolve optional enum type 2020-01-31 16:00:31 +01:00
radare 2fbfbf45c7
os: simplify read_lines( 2020-01-31 15:59:23 +01:00
Alexander Medvednikov 5f76bd04f9 V 0.1.25 2020-01-31 15:31:15 +01:00
Leah Lundqvist aa625bc22c
gg: roundrects 2020-01-31 03:43:46 +01:00
penguindark de832375b7
regix: fixes and optimizations 2020-01-31 02:29:54 +01:00
ka-weihe 23dd6e2294
hashmap: optimization of rehashing 2020-01-31 02:29:35 +01:00
joe-conigliaro 80d936adc1
fix attributes on public structs & enums 2020-01-30 01:27:13 +01:00
Leah Lundqvist 6c5879add9
gg: filled arcs and circles 2020-01-30 01:26:45 +01:00
Leah Lundqvist ed55778d2a
math: fast aprox cos and sin 2020-01-29 05:12:43 +01:00
Alexey 5c598a3085
term: reorganize the module 2020-01-29 05:12:12 +01:00
ka-weihe a14a5fbf95
hashmap: change hash-function to wyhash and add benchmarks 2020-01-29 04:06:05 +01:00
div72 5c29e7b257
http: fixed a bug with ignored user-agent 2020-01-29 04:05:37 +01:00
joe-conigliaro 0f1b0f7ed4
wyhash: update benchmark file location in comment 2020-01-29 10:12:44 +11:00
Alexey 5c00851b44
term: implement `get_terminal_size` for Windows 2020-01-28 23:44:57 +01:00
joe-conigliaro 007baa2305
hash: add wyhash + benchmark, add fnv1a, add u64.hex() (#3584) 2020-01-28 23:43:09 +01:00
penguindark 5a2534122e regex: named capturing groups, small fixes 2020-01-28 20:34:11 +01:00
Delyan Angelov 9ac0c54eb0 term: fix too long h_divider lines in CI 2020-01-28 20:25:17 +01:00
Mateo Pidal 78c96fe989 term: get_terminal_size() 2020-01-28 05:18:19 +01:00
prime31 08d3401092 array: clear() 2020-01-27 22:31:48 +01:00
Leah Lundqvist 8986633624 gg: draw_arc() 2020-01-27 20:42:32 +01:00
Delyan Angelov cce0b2425e compiler: prevent vars named 'char' to cause a C error 2020-01-27 20:26:07 +01:00
ka-weihe 31899eac2a hashmap: new load_factor and optimizations 2020-01-27 16:56:18 +01:00
Mike Redko 11aa5343b2 update copyright year in asm.v 2020-01-26 23:33:47 +01:00
Delyan Angelov e9d3134814 glfw: implement glfw.window.set_should_close 2020-01-26 23:33:12 +01:00
Delyan Angelov 869c8e331e stbi: make compilation faster by generating a stbi.o file 2020-01-26 12:41:43 +01:00
Khairul Azhar Kasmiran edc44993d1 string: add another test for split_nth() 2020-01-25 19:12:36 +01:00
penguindark 15a63b5bcb regex fixes 2020-01-25 19:12:23 +01:00
Alexander Medvednikov 222fc4b04f parser: no struct fields warnings in C struct initializations 2020-01-25 07:15:49 +01:00
joe-conigliaro 71b50ae7fd fix empty config struct with msvc 2020-01-25 02:11:07 +01:00
ka-weihe 7d797090ff map: bring back b-tree 2020-01-24 20:13:59 +01:00
ka-weihe 6fd175d9be hashmap: new and fast hashmap with dynamic size 2020-01-24 20:13:17 +01:00
Delyan Angelov 219239eadc string.split_nth - return the rest of the string as the last value in the result array 2020-01-24 20:12:36 +01:00
Alexander Medvednikov f55646746c handle empty config structs 2020-01-24 18:57:32 +01:00
joe-conigliaro 2897bac549 crypto: remove extraneous casts & rename rand_lin to rand_linux 2020-01-23 22:49:13 +01:00
nsauk dd61a22367 compiler: remove --lzma option from upx call 2020-01-23 22:06:49 +01:00
Delyan Angelov 7b18e5d198 compiler: add 'use -- instead of -= 1' 2020-01-23 21:09:47 +01:00
joe-conigliaro 6d6b2fdda8 compiler: fix depgraph. will also make it work with new b-tree map 2020-01-23 21:08:17 +01:00
joe-conigliaro 20f6cdc53a compiler: fix module alias resolution 2020-01-23 21:07:53 +01:00
toman222 0a93d3b714 sha512: remove unnecessary cast warnings 2020-01-23 21:07:16 +01:00
Henrixounez f3f50349b2 compiler: fix check restricted names in for..in statement 2020-01-23 21:06:57 +01:00
Shun Sakai c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
joe-conigliaro 82da001faf
sokol: fix issue causing win test to fail introduced in 0502a54 2020-01-23 21:56:12 +11:00
joe-conigliaro 543e8dc78a
v2: fix bug in scanner, introduced in da9b639 (_ in num literals) 2020-01-23 21:47:13 +11:00
penguindark da9b6394e8 0bxxxx binary literal support; _ in literals (1_000_000) 2020-01-23 03:28:25 +01:00
S-YOU 7b345e207d pico.v and dependencies 2020-01-23 03:26:30 +01:00
toman222 5c6032d272 math.bits: fix warnings regarding unnecessary casts 2020-01-22 22:06:40 +01:00
Alexander Medvednikov a6e1a74f1d gg: windows fix 2020-01-22 21:36:52 +01:00
Alexander Medvednikov 59b3fc75d0 tmp fix generic test 2020-01-22 21:30:35 +01:00
Alexander Medvednikov 0502a54a36 new gg/freetype modules with sokol/fontstash backends 2020-01-22 20:54:36 +01:00
Abdullah Atta 43ba6766ba improve eventbus 2020-01-22 17:41:08 +01:00
Charles WANG 136c469ef7 array: more eq functions 2020-01-21 18:49:30 +01:00
Jeremy Andrews dd5751df0c v test v has been deprecated 2020-01-21 18:48:32 +01:00
Delyan Angelov f4834bd85d compiler: fix stuck parsing of 'enum{}' + handle such bugs 2020-01-21 18:47:52 +01:00
KJ Lawrence ae3d84df6b os: add open_file function 2020-01-21 16:58:47 +01:00
d2verb 5deb29a7c9 compiler: update cheaders.v for NetBSD support 2020-01-21 16:55:07 +01:00
Delyan Angelov d92291dd76 repl: execute REPL tests ~1.5x to 2x faster 2020-01-20 23:04:26 +01:00
Delyan Angelov 64a9f43405 Make REPL tests parallel too 2020-01-20 17:06:36 +01:00
nsauk 84438c0139 time: add str() 2020-01-20 15:06:15 +01:00
Alexander Medvednikov d1664dc511 freetype: max_width 2020-01-20 05:14:49 +01:00
Alexander Medvednikov ab368bdc53
array: test `arr << arr` 2020-01-19 22:15:37 +01:00
Delyan Angelov 0d52cc97e4 sync: make new_mutex() and new_waitgroup() return &Mutex and &Waitgroup 2020-01-19 20:32:22 +01:00
Delyan Angelov bc64263dd8 freetype: fix placement of highdpi and lowdpi texts 2020-01-19 20:30:53 +01:00
Delyan Angelov bfaf2a4a62 freetype: cleanup calculation of text y position while drawing the text 2020-01-19 16:01:08 +01:00
sha0coder 990e44cd14 ftp: protocol compatibility 2020-01-19 13:53:13 +01:00
joe-conigliaro 3a8b437b8d v2: move array_init to checker 2020-01-19 13:52:34 +01:00
Alexander Medvednikov cf1fd6e950 array: fix arr << arr bug 2020-01-19 12:11:58 +00:00
Alexander Medvednikov b1602c72ad v2: a simple fix 2020-01-19 02:44:18 +01:00
joe-conigliaro 09d1eb7c55 v2: type checker + lots of other changes 2020-01-18 23:26:14 +01:00
Delyan Angelov 8c1b03c731 freetype: text_size() so that users can retrieve the vertical size of a text too 2020-01-18 20:08:11 +01:00
S-YOU 09e390eac5 remove string clone because cJSON already did internally 2020-01-18 17:40:58 +01:00
penguindark 36660ce749 regex: bug fixes, docs 2020-01-18 07:38:00 +01:00
Alexander Medvednikov b2be36d92e fix sokol on windows 2020-01-18 06:27:39 +01:00
Delyan Angelov 24d34a4f2c sokol: fix building of examples and ci tests 2020-01-17 20:05:45 +01:00
Alexander Medvednikov 3d57d3bb7b cc.v: fix C error message part 2 2020-01-17 19:44:03 +01:00
Alexander Medvednikov 2cd24ea722 cc.v: fix C error message 2020-01-17 19:30:45 +01:00
vitalyster 436603aa44 compiler: show last 200 lines in partial output 2020-01-17 14:09:37 +01:00
Delyan Angelov ddc04979a4 deprecate `v runrepl` in favour of `v repl` 2020-01-17 14:09:26 +01:00
Alexander Medvednikov 62481e88f3 sokol and fontstash modules 2020-01-16 20:45:52 +01:00
Delyan Angelov cc606623bb enable `$if !network {` checks in net tests 2020-01-16 19:44:16 +01:00
Alexander Medvednikov e1132156f5 make sqlite.DB public; make string.left/right private 2020-01-16 18:41:38 +01:00
Chris Watson 84a6c019e8 http: refactor and reduce duplication 2020-01-16 18:16:11 +01:00
Alexander Medvednikov 756c6d2858 freetype: fix align.right rendering 2020-01-16 17:03:34 +01:00
Delyan Angelov 57f72f6cd8 compiler: support optional custom comptime defines: $if custom ? { 2020-01-16 15:28:23 +01:00
penguindark d6448ee5d6 regex: update README.md 2020-01-16 02:07:36 +01:00
penguindark 25fabac059 regex 0.9c 2020-01-16 00:39:33 +01:00
Alexander Medvednikov de3ad2b04f fix vweb tutorial project; clean up gg functions a bit 2020-01-15 22:17:45 +01:00
Mateo Pidal 502ee8a56c android symlink fix 2020-01-15 19:40:03 +01:00
Kai 9f31390ff1 http: PATCH, DELETE, and PUT methods 2020-01-14 23:19:50 +01:00
Delyan Angelov 4838dda59a compiler: make [live] fn unlock its mutex on early return 2020-01-14 18:58:46 +01:00
Swastik Baranwal 26374971ab time: fix logic 2020-01-14 18:12:28 +01:00
Swastik Baranwal 2741c0b211 string: new type conversion functions 2020-01-14 18:05:38 +01:00
Alexander Medvednikov 6b3f54692a allow short struct initialization with Config structs 2020-01-14 15:34:47 +01:00
Alexander Medvednikov 0b235cc893 temporary nil fn check 2020-01-14 13:15:09 +01:00
penguindark 25e7ceeef0 regex 0.9b 'replace' and 'find_all' added 2020-01-14 02:45:08 +01:00
Mateo Pidal e87e5e33a7 fix symlink for Termux on Android 2020-01-14 01:34:30 +01:00
Delyan Angelov fcc10d6358 gg: fixes same image twice lead to invisible rectangles sometimes 2020-01-13 19:59:31 +01:00
invisiblesoldiers 74713ffb62 encoding.binary: removed unneeded castings, rename function 2020-01-13 19:58:14 +01:00
Delyan Angelov 4a82770f16 fix warnings about clipboard when building ui on linux 2020-01-13 17:53:56 +01:00
Alexander Medvednikov 4c55d3677d ui: skip initialization warning for now 2020-01-13 13:40:50 +01:00
penguindark 8ea0c08a38 vlib.regex module in pure V 2020-01-13 13:30:41 +01:00
Alexander Medvednikov 6733b12ec3 android: use __ANDROID__ 2020-01-13 00:20:16 +01:00
Alexander Medvednikov e72dfc3212 freetype: remove unused import 2020-01-12 20:08:24 +01:00
Alexander Medvednikov 4c7df98ac9 make private struct warning an error 2020-01-12 19:59:57 +01:00
Alexander Medvednikov e159347c10 gg: remove 2 prints 2020-01-12 19:54:47 +01:00
Frederico Silva 2678f9289e pg: connect, use password 2020-01-12 19:35:20 +01:00
Delyan Angelov f317b65808 ui: fixes so that the ui demo works on linux too
* Implement os.resource_abs_path/1 .
* Implement glfw.get_window_size and glfw.get_framebuffer_size .
2020-01-12 19:35:06 +01:00
Alexander Medvednikov b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
Alexander Medvednikov 938f27e391 remove ui example now that ui has been moved to a separate repo 2020-01-12 03:05:04 +01:00
Delyan Angelov ba699d8b4f compiler: fix error in case of void function used as a value 2020-01-12 01:46:25 +01:00
Don Alfons Nisnoni f7f5f43c48 mysql: add select_db method 2020-01-11 13:25:59 +01:00
Swastik Baranwal e3db628d0c parser: add checks for if statement 2020-01-11 13:21:35 +01:00
Delyan Angelov 06f581e146 vfmt: support for vid like projects having many module main .v files 2020-01-10 23:33:35 +01:00
Swastik Baranwal 5537b09492 parser: add check for string casting 2020-01-10 19:59:15 +01:00
vitalyster 66a6fa163e windows: read console using ReadFile/ReadConsole (#3387) 2020-01-10 14:06:40 +01:00
vitalyster 8412c6f03f windows: println using WriteFile/WriteConsole 2020-01-09 22:47:13 +01:00
Delyan Angelov 7bf49aba54 vv: make warns/errors usable in emacs/vim 2020-01-09 14:08:33 +01:00
Delyan Angelov 7882312697 rename $if mac => $if macos , _mac.v => _darwin.v 2020-01-09 11:12:35 +01:00
Alexander Medvednikov 29564ed63d interface fix 2020-01-09 01:40:10 +01:00
Delyan Angelov c1cc203c17 tools: bugfixes and new features for oldv and performance_compare 2020-01-08 21:45:47 +01:00
Delyan Angelov 0d93eeb3fe compiler: move prelude files to tools/preludes/ 2020-01-08 17:57:41 +01:00
Contextualist 2a98cacecd tools: distinguish complier args and tool args 2020-01-08 17:15:05 +01:00
joe-conigliaro 38e5f0d1cf v: initial type work for methods / struct fields 2020-01-08 17:14:42 +01:00
Alexander Medvednikov e70ef5334a fix array copy; ci: test prebuilt Windows package 2020-01-08 11:33:09 +01:00
Alexander Medvednikov e3275f6083 fix array_test.v 2020-01-08 10:27:20 +01:00
Alexander Medvednikov 3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
Krzysztof Starzyk 3425934c39 flag: remove println from parse_raw 2020-01-07 18:37:01 +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
Delyan Angelov fb0817277f compiler: force .exe extension, when compiling on windows 2020-01-07 15:42:14 +01:00
Alexander Medvednikov d823d82207 array type fix; method registration 2020-01-07 13:10:09 +01:00
Delyan Angelov 6d30697d9b time: move time.random() to time.misc module
avoids importing rand to programs that do not need pseudo random generation).
2020-01-07 12:58:24 +01:00
Shivanjan Chakravorty a0c8ad7398 post increment/decrement repl fix 2020-01-07 12:26:49 +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 69f3c42b99 method calls; skip string interpolation for now; fix () 2020-01-07 01:08:24 +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
r00ster 025efcb731 os: add is_executable, is_writable and is_readable 2020-01-06 09:15:06 +01:00
Alexander Medvednikov 126289c19b make the unchanged mutable variable error a warning in non-prod builds 2020-01-06 00:28:29 +01:00
Delyan Angelov 4c3df963fa v repl: fix println regression on linux 2020-01-05 22:49:09 +01:00
Delyan Angelov 8053175ead android: fix os.create and builtin 2020-01-05 20:13:35 +01:00
Delyan Angelov c24a1b3786 compiler: fix unused import warnings 2020-01-05 16:29:33 +01:00
Ricardo Tomasi 868d6c808b compiler: avoid redeclaration of var during reassignment with optional value 2020-01-05 11:53:40 +01:00
joe-conigliaro 5a6f9024d3 v: small fixes typo & register struct & and add array elem pointer 2020-01-05 11:52:03 +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
Delyan Angelov 778a1cc34a make g_str_buf a static buffer of size 1K (#3321) 2020-01-04 17:53:37 +01:00
Alexander Medvednikov 7bc5cfc53a fix windows test 2020-01-04 00:24:30 +01:00
Alexander Medvednikov 3344111a03 minor fixes and cleaning up 2020-01-04 00:06:06 +01:00
Delyan Angelov aeda48d94e vpm: add support for other VCS for modules, like hg
Add ability to pass flags to vpm.

Implement -help , -verbose and -server-url ,
to enable easier diagnostics and testing with a local server.
2020-01-03 22:07:58 +01:00
Delyan Angelov ddd83c2108 pg: add db.exec_param_many() 2020-01-03 22:07:28 +01:00
Delyan Angelov 67f397f888 os: implement os.cachedir() . Use it inside os.tmpdir() too 2020-01-03 19:46:23 +01:00
joe-conigliaro 43895269ff compiler: implement direct cast for sum type 2020-01-03 14:42:48 +01:00
Alexander Medvednikov 520ec0f53a fix cgen_test 2020-01-03 11:41:39 +01:00
Alexander Medvednikov 7c47f345be mingw on macos 2020-01-03 11:38:30 +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
sh0f 3c65af8b9a cli: fix warning 2020-01-02 18:09:24 +01:00
Charles WANG 7a031d5e23 update and rename ui_win.v to ui_windows.v 2020-01-02 18:09:09 +01:00
Charles WANG 166dc28480 update ui_linux.v: module ui to `uiold` 2020-01-02 18:08:54 +01:00
Alexander Medvednikov a6a9958cfc register fn args; remove dup code 2020-01-02 08:37:41 +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 807c16dd1b uiold fixes 2020-01-01 13:27:21 +01:00
Alexander Medvednikov e8bbb00bde ui is in a separate repo for now, rename it to avoid conflicts 2020-01-01 13:14:01 +01:00
Alexander Medvednikov e53bb6a9d4 parser: wrong `else` 2020-01-01 13:12:38 +01:00
Alexander Medvednikov 327314c2c3 parser: unknown function error 2020-01-01 13:08:05 +01:00
sh0f f87177d34d base64: fix warnings 2020-01-01 12:58:32 +01:00
Alexander Medvednikov b7663848ef os: fix create() 2020-01-01 12:57:27 +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 78c706ab71 Revert "enable macos syscalls"
This reverts commit d226fa7b17.
2020-01-01 12:24:50 +01:00
Alexander Medvednikov d226fa7b17 enable macos syscalls 2020-01-01 12:10:39 +01:00
Alexander Medvednikov 2f8969c604 time: Windows fix 2020-01-01 12:01:03 +01:00
Alexander Medvednikov 79b4a757c4 fix cgen_test.v 2020-01-01 10:32:22 +01:00
Alexander Medvednikov 4794598d06 if x := opt() {} else {} 2020-01-01 10:31:50 +01:00
Alexander Medvednikov 96d02849aa parser: parse_file(path) 2020-01-01 10:15:05 +01:00
Alexander Medvednikov 87cff0386c time: gmt offset; macos syscalls 2020-01-01 10:09:19 +01:00
sh0f 3c17851200 time: add test for #3291 2020-01-01 08:00:23 +01:00
sh0f a99f214a0f time: fix error: array index out of range 2020-01-01 07:27:48 +01:00
Alexander Medvednikov c75cb86203 0.1.24 2019-12-31 20:49:11 +01:00
Alexander Medvednikov 4d31d5882d x64, v2 backends 2019-12-31 19:42:16 +01:00
Delyan Angelov 222f2f08f6 vfmt: fix formatting of 'import mod as alias' 2019-12-31 19:26:44 +01:00
lutherwenxu 286a0a1371 time: rewrite unix() function 2019-12-31 17:11:47 +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
Alexander Medvednikov 907254b9e8 Revert "B-tree map "
This reverts commit 8a4bce667c.
2019-12-31 12:46:56 +01:00
Alexander Medvednikov 4424f83470 os: disable write_bytes_at() and read_bytes_at() for now 2019-12-31 11:43:10 +00:00
Alexander Medvednikov f9cc419dba os: syscalls 2019-12-31 10:16:34 +00:00
joe-conigliaro 80da2341aa v: fix unary `+`,`-` & rename token.TokenKind to token.Kind 2019-12-31 10:53:30 +01:00
Alexander Medvednikov 3a7f1db947 fix parser tests 2019-12-30 17:05:32 +01:00
Alexander Medvednikov 093a025ebf parse_files(); ast.File 2019-12-30 16:55:59 +01:00
Delyan Angelov d2f2ac523f flag: fix displaying of both abbreviated and long options
Add tests for the usage screen
2019-12-30 16:38:32 +01:00
joe-conigliaro d07953b0f0 v: fix postfix unary `++` `--` operators & some cleanup 2019-12-30 15:06:56 +01:00
Charles WANG ca62b66665 sqlite: a minor fix 2019-12-30 10:49:36 +01:00
Delyan Angelov 25beb7b3f4 in errors, print array_ instead of [] in function names 2019-12-30 10:48:08 +01:00
Alexander Medvednikov cba6a6fdea `as` casting 2019-12-30 10:47:34 +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
Alexander Medvednikov f725aa2e8d rename cgen module to gen; jsgen 2019-12-30 09:21:48 +01:00
Alexander Medvednikov edf8a2cd08 fix bool expressions 2019-12-30 08:17:58 +01:00
Alexander Medvednikov 806691c1db for loop; struct decl; struct init; < > <= >= 2019-12-30 08:05:20 +01:00
ka-weihe 8a4bce667c B-tree map 2019-12-30 06:57:56 +01:00
Alexander Medvednikov 2d2e0307b8 fn call; if expression; bool literals; 100k line program gen
fix

yay

lovely
2019-12-30 05:57:36 +01:00
Abdullah Atta 63b70ddb06 move http module to net.http 2019-12-30 05:42:23 +01:00
mY9Yd2 6cee50afda os: fix tmpdir on unix 2019-12-30 05:25:26 +01:00
Ulises Jeremias Cornejo Fandos 89d3075f88 math: update complex operators for multiplication and division 2019-12-30 05:24:30 +01:00
Delyan Angelov a0f32f5c29 tests: improved test output formatting 2019-12-30 05:23:54 +01:00
Abdullah Atta 4f173c8900 vpm: implement & improve install, search, update, remove 2019-12-30 05:22:28 +01:00
Johan Hillerström 2d5f5a0c25 remove debug printing of sum types 2019-12-30 05:21:46 +01:00
radare 49430a5c31 flag help message is now a bit more compact 2019-12-30 05:21:22 +01:00
Alexander Medvednikov 349576b5cd fn call + fn args 2019-12-29 08:47:41 +01:00
Alexander Medvednikov c915c58d12 local vars + Parser.errror() 2019-12-29 07:14:29 +01:00
Alexander Medvednikov c81fbee4ab fix parser_test.v 2019-12-29 06:49:52 +01:00
Alexander Medvednikov 5a6428f1ff AssignStmt 2019-12-29 06:37:08 +01:00
Alexander Medvednikov b5fe40624c staments + a sum type fix 2019-12-28 18:53:08 +01:00
Delyan Angelov 68e1d8e8eb net.ftp: make ftp's tests just compile (not run) on CI 2019-12-28 13:55:53 +01:00
Alexander Medvednikov 48585e54df fix parser_text.v 2019-12-28 13:51:36 +01:00
Alexander Medvednikov 59c784ae57 fix cgen_test.v 2019-12-28 12:06:53 +01:00
Alexander Medvednikov 651c7e8de1 cgen tests 2019-12-28 11:55:14 +01:00
Alexander Medvednikov 379c79025b run vfmt on v/ 2019-12-28 10:38:29 +01:00
Alexey e02d6a3b04 ftp: flatten tests 2019-12-28 09:41:54 +01:00
Delyan Angelov 72acbad3f0 v help: document -verbose flag 2019-12-28 09:41:21 +01:00
Alexander Medvednikov ec6a8cc9fd move ftp to net/ftp 2019-12-28 09:16:27 +01:00
joe-conigliaro a986321b6d v: update parser / token & split parsing into methods 2019-12-28 09:15:32 +01:00
Alexey f40f023487 ftp: cosmetic fixes
Use single quotes for strings.
Use string interpolation instead of concatenation.
Don't print messages in non-debug mode.
Fix typos in error messages.
Add space after comma, add spaces between operators.
extract code to separate functions
2019-12-28 08:53:28 +01:00
Nicolas Sauzede 4925aa594b os: fix deprecated os.dir to work as advertised 2019-12-28 08:49:27 +01:00
joe-conigliaro a214778b74 fix bug with sum type 2019-12-28 08:48:55 +01:00
Don Alfons Nisnoni 06fba73ab9 os: add os.symlink() function 2019-12-27 19:10:06 +01:00
sha0coder 7518d2d0dc FTP module 2019-12-27 19:08:44 +01:00
vitalyster 2f23ee4818 windows: cleanup after bootstrapping with unicode entrypoint 2019-12-27 19:07:31 +01:00
Alexander Medvednikov 796c376408 fix parser_test.v 2019-12-27 18:55:51 +01:00
Alexander Medvednikov 66a07d7fe0 FnDecl, Return, statement block 2019-12-27 18:39:19 +01:00
Delyan Angelov 6c16bac908 vfmt: it can now be used for _platform.v files too, no matter the host os 2019-12-27 17:59:04 +01:00
Alexander Medvednikov 4da21d80e3 fix () warning 2019-12-27 10:16:00 +01:00
Alexander Medvednikov fc5f4ff326 make types.check public 2019-12-27 10:12:40 +01:00
Alexander Medvednikov d27c5eb345 handle floats 2019-12-27 10:09:06 +01:00
Alexander Medvednikov 1af274a714 test_parser + minor fixes 2019-12-27 10:00:44 +01:00
vitalyster 3f0f8bac49 windows: do not link gdi32/shell32 to console applications
* read os.args from argv when we have console
* dynamically load CommandLineToArgvW when we are GUI app
* link gdi32/shell32 in glfw module
2019-12-27 11:27:19 +03:00
Alexander Medvednikov 55dbb8b81c v.types module 2019-12-27 09:09:55 +01:00
Alexander Medvednikov 14e9c3c7bb rename compiler2.parser to v.parser etc 2019-12-27 06:09:16 +01:00
BigBlack 98b81252b7 fix #3217 (string.replace) 2019-12-27 07:20:06 +03:00
Alexander Medvednikov e20ca28d5c fix v prod build 2019-12-27 07:04:41 +03:00
Alexander Medvednikov 0a3adb5de8 ast: return types, variable declaration 2019-12-27 07:01:22 +03:00
BigBlack 320174bd5b fix #3202 2019-12-27 06:09:09 +03:00
Ulises Jeremias Cornejo Fandos 1277ce22f8 math: factorial submodule 2019-12-27 06:08:17 +03:00
Alexey a5b43e1f4d strconv: fix tests 2019-12-27 06:07:09 +03:00
Alexander Medvednikov 6363118aa9 remove ScalarExpr 2019-12-26 13:21:41 +03:00
Alexander Medvednikov 9b37fc7310 clean up parser_test.v 2019-12-26 13:05:06 +03:00
Alexander Medvednikov d9835c1ecf move atofq.v to a separate module 2019-12-26 11:56:21 +03:00
Alexander Medvednikov 8d9f89e728 compiler2: proof of concept cgen 2019-12-26 07:47:33 +03:00
joe-conigliaro fe8a6abb41 compiler2: update operator precedence and associativity (#3218) 2019-12-26 05:40:18 +03:00
Delyan Angelov ae4c8af674 fmt: fixes for option syntax formatting 2019-12-25 16:08:52 +03:00
vitalyster 1d86f4b5d1 ensure that `v fmt` can be run over most .v files on each PR 2019-12-25 15:54:48 +03:00
Alexey ccb041c831 arrays: improve `range` function 2019-12-25 15:52:27 +03:00
Alexey f2bab4ab9a atoi: add tests 2019-12-25 15:42:00 +03:00
joe-conigliaro de1be1dc66 compiler2: start implementing pratt style parser 2019-12-25 15:39:58 +03:00
Alexander Medvednikov ca284482cb new AST built with sum types 2019-12-24 16:04:49 +03:00
Alexander Medvednikov 803ded3dec sum type `type Foo = Bar | Baz` 2019-12-24 16:04:49 +03:00
Delyan Angelov 96fa15c125 v fmt: process .v files from a module too 2019-12-24 05:43:31 +03:00
Don Alfons Nisnoni 4498dc6a47 tools/fast: remove unused function 2019-12-23 13:37:52 +03:00
yatsen1 137a473bb7 add time.parse_iso 2019-12-23 13:36:51 +03:00
yatsen1 d03f0ec294 fix time.parse() 2019-12-23 13:25:44 +03:00
Charles WANG b1013697d1 vlib/vweb.v: add public const and functions 2019-12-23 13:24:53 +03:00
Delyan Angelov cf37028a52 test: use 'stty size' for vtest --- line instead of 'tput cols' 2019-12-23 13:23:53 +03:00
Alexey dced76d1a4 os, filepath: reorganize functions 2019-12-23 13:09:22 +03:00
Delyan Angelov 6e130cd446 compiler: support for custom flags
[if custom]fn..{} , #flag custom, $if custom {}
2019-12-23 13:09:00 +03:00
Delyan Angelov 42b1660c7e move vfmt frontend program to tools/vfmt.v 2019-12-23 13:02:50 +03:00
Alexander Medvednikov 28594a65a8 fix enum bitfield 2019-12-23 07:05:52 +03:00
Alexander Medvednikov 7ab993c218 sum types 2019-12-23 06:14:31 +03:00
Alexey dacc129fd8 time: improve tests 2019-12-22 22:58:41 +03:00
Alexander Medvednikov a251db068f run vfmt on math and sha; add vfmt check to test-compiler 2019-12-22 02:50:20 +03:00
Alexey b88cb1ca69 extend tests for `strings` module 2019-12-22 02:05:30 +03:00
Alexander Medvednikov 848cd3cb3e run vfmt on http, net, sync, strconv 2019-12-22 01:57:50 +03:00
れもん 28ecfb231d compiler: map[string]pointer, ?pointer, fix []pointer 2019-12-22 01:44:16 +03:00
Alexander Medvednikov b76227b781 small vfmt fixes 2019-12-22 01:39:04 +03:00
Alexander Medvednikov 749d3ec14d do not define __offsetof twice 2019-12-22 01:39:04 +03:00
penguindark 5cfbc7bab5 float: bug fix on +zero 2019-12-22 01:38:02 +03:00
Alexander Medvednikov ef28a6b872 final vfmt run before CI check 2019-12-22 00:58:57 +03:00
Alexander Medvednikov 2b9392c46c move hashmap to its own module for now 2019-12-22 00:54:25 +03:00
Emily Hudson 8512c9fc9d compiler: __offsetof keyword for C offsetof() macro 2019-12-22 00:46:09 +03:00
Alexander Medvednikov 31b7991a93 negative enum vals + `[10]C.Foo` fix 2019-12-22 00:17:13 +03:00
Charles WANG 24739c9f5a sqlite: add Ubuntu instructions 2019-12-21 10:00:28 +03:00
joe-conigliaro 4dc4f12ccd hashmap: use fnv32 as hash algo 2019-12-21 09:59:12 +03:00
joe-conigliaro 6763a92834 fix multiple type parameters 2019-12-21 09:54:43 +03:00
joe-conigliaro f7c1b78ec2 clean up generic structs 2019-12-21 05:33:59 +03:00
Alexander Medvednikov 61bfecfa09 vweb: minor fixes 2019-12-21 05:19:26 +03:00
joe-conigliaro fbd9fedbfb implement generic structs 2019-12-21 03:53:57 +03:00
Changsen XU 徐昶森 b3a402eb82 add mysql -I flag for ubuntu 18.04 (#3153) 2019-12-20 23:18:23 +03:00
Don Alfons Nisnoni 090f444d8f scanner: small DRY 2019-12-20 23:15:16 +03:00
Steve Phillips 6e9493887d builtin/array.v: Fixed typo in new_array (cap -> cap_) 2019-12-20 23:09:59 +03:00
Delyan Angelov b62e28dba5 compiler: fix interface generation for unused interfaces 2019-12-20 23:06:11 +03:00
Alexander Medvednikov 00b8a5d3e4 vfmt: enum fix 2019-12-20 02:38:11 +03:00
Alexander Medvednikov 6af54d0207 fix windows build 2019-12-20 02:20:03 +03:00
Alexander Medvednikov 6210984c97 run vfmt 2019-12-20 02:09:56 +03:00
Alexander Medvednikov b6fe2ebc0b fix tools test 2019-12-20 00:20:22 +03:00
Alexander Medvednikov d082b3f4b9 run vfmt on vlib/builtin 2019-12-20 00:12:29 +03:00
Alexander Medvednikov 76c800ffb6 bring back array.eq 2019-12-19 23:49:40 +03:00
Alexander Medvednikov d38687f893 run vfmt on cc, cgen, comptime, if_match 2019-12-19 23:43:23 +03:00
Alexander Medvednikov ce86626ec2 run vfmt on table.v 2019-12-19 23:26:23 +03:00
Alexander Medvednikov 1679457f6b clean up math_test.v 2019-12-19 22:16:10 +03:00
BigBlack a38a0f4fb7 parser: fix x.function_pointer() 2019-12-19 21:23:29 +03:00
Alexander Medvednikov 2096018b00 map: another fix + test 2019-12-19 21:17:12 +03:00
Alexander Medvednikov 26f5d34e64 map: fix a bug with an incorrect size after delete() 2019-12-19 21:11:42 +03:00
Alexander Medvednikov 519f2990f2 vfmt: minor fixes 2019-12-19 10:02:47 +03:00
penguindark 929e7c1193 strconv: atof_quick for tasks that need speed but not big accuracy 2019-12-19 03:37:53 +03:00
Alexander Medvednikov df2f98e276 run vfmt on more files 2019-12-19 02:38:54 +03:00
Alexander Medvednikov 1cef83aea4 run vfmt on array.v 2019-12-18 21:20:41 +03:00
Charles WANG 0ebe86fbd5 sqlite: readme 2019-12-18 13:22:22 +03:00
BigBlack 2f218b878b fix fn type call 2019-12-18 13:21:49 +03:00
Delyan Angelov 4b7aa4ec09 freebsd: fix compilation 2019-12-18 13:21:20 +03:00
Alexander Medvednikov 67bdc2c7a9 vfmt: fn args fixes 2019-12-18 11:11:47 +03:00
Alexander Medvednikov 569b32bd1e run vfmt on fn.v 2019-12-18 10:07:30 +03:00
Alexander Medvednikov 81045023c4 run vfmt on scanner.v 2019-12-18 08:26:51 +03:00
Abdullah Atta 20e73ff69a os: fix nreadelements naming 2019-12-18 08:22:52 +03:00
Abdullah Atta 489ec05b23 eventbus: remove hacks, add sender 2019-12-18 08:16:33 +03:00
Alexander Medvednikov 02939d776b vfmt: fix in, |, or {} 2019-12-18 08:01:29 +03:00
Alexander Medvednikov 3d1db3519d test enum printing 2019-12-18 05:45:48 +03:00
Alexander Medvednikov 7456d556e1 fix 2 repl tests 2019-12-18 05:02:23 +03:00
Alexander Medvednikov a46a2e4715 run vfmt on parser.v 2019-12-18 04:43:41 +03:00
Alexander Medvednikov ad211a86a6 vfmt: re-write V files + fix {} 2019-12-18 04:33:02 +03:00
Alexander Medvednikov 53b334145b lots of vfmt fixes 2019-12-18 04:15:41 +03:00
BigBlack 67cf7f18e6 array of pointers support 2019-12-18 03:26:04 +03:00
prime31 f00f9fbf5a os: fix bug where read_bytes would return only the first byte 2019-12-18 00:16:56 +03:00
BigBlack e68200538a parser: call struct field fns 2019-12-17 22:00:08 +03:00
Delyan Angelov d405cfbcf7 gg: remove spurious printing of gl.TEXT_VERT 2019-12-17 19:17:48 +03:00
Delyan Angelov ba519f105a compiler: option/command parsing bugfix 2019-12-17 16:00:10 +03:00
Alexander Medvednikov 37add98043 fix programs without fn main 2019-12-17 05:05:10 +03:00
Alexander Medvednikov 84f535d242 atof: remove extra() causing warnings 2019-12-17 01:47:30 +03:00
Alexander Medvednikov ea781a557f array: slice_clone() 2019-12-17 01:29:40 +03:00
Alexander Medvednikov 562f24336d add ./v2 to gitignore 2019-12-17 01:21:18 +03:00
Johan Hillerström 6008fa44c6 parser: fix generic function call in `for in` expression 2019-12-17 01:08:30 +03:00
penguindark 3dbf7a4039 atof implementation in V 2019-12-17 01:07:13 +03:00
Alexander Medvednikov 5a56ca0892 parser: handle operator overloading type errors 2019-12-17 00:50:41 +03:00
Alexander Medvednikov 560d1383d1 fix optional struct field assignment 2019-12-17 00:36:28 +03:00
Alexander Medvednikov 54707ff81d do not allow calloc(0) 2019-12-16 22:48:55 +03:00
Alexander Medvednikov e7856a1afc do not allow malloc(0) 2019-12-16 21:29:32 +03:00
Alexander Medvednikov 10718557a2 increase the name limit to 15 2019-12-16 19:36:29 +03:00
Alexander Medvednikov bcde155da7 test the recent type alias string; print vweb templates in verbose mode 2019-12-16 19:34:04 +03:00
BigBlack 8c0e0f8ab7 parser: fix type alias type check 2019-12-16 19:06:40 +03:00
Delyan Angelov b7c477cc18 freestanding: ptr_str, string concat, struct declaration
* compiler: extract c_common_macros from c_headers, and use it in bare_c_headers too. Support for ptr_str and string concatenation in -freestanding mode.

* Add tests for structs and string concatenation in -freestanding mode .

* Move check_string_add_works to string/string.v .
2019-12-16 19:05:33 +03:00
lutherwenxu dadf147382 flag: implement *_opt() and *_multi()
It's very often that someone will need to process values that were not
provided separately (eg. generating a complex default value like in V).

This commit allows the user to call the *_opt() functions instead of
forcing them to provide some magical default values.

* flag: Implement int_multi(), float_multi() and string_multi()

These 3 functions are useful when the application expects a flag to be
repeated more than once.

A sample would be:
v -cflags someflag -cflags secondflag

This feature exposes the raw array that the flag parser internally keeps
and allow the application to parse it however they want instead of
dropping everything except the first element.

* flag: Add documentation

Add comments describing what *_opt() and *_multi() do.
2019-12-16 19:03:38 +03:00
vitalyster d1714c4a2a cc.v: build thirdparty objfiles with msvc when no cc installed 2019-12-16 18:56:37 +03:00
Delyan Angelov 7e0a9fb83a compiler: fix regression for -d option flag 2019-12-16 18:55:10 +03:00
João Victor Oliveira Couto b30f989f44 builder_js: fix mutable error 2019-12-16 18:54:44 +03:00
Kaito Sugimoto 9dd86a2de6 math: fix abs (-0.0) 2019-12-15 19:37:17 +03:00
Delyan Angelov faa04c586f compiler: restore ability to pass -prod option to run and runrepl. (#3095) 2019-12-15 21:21:37 +11:00
joe-conigliaro f2c40bf49d
compiler: fix for -Wl -Wa -Wp dont like spaces (#3091) 2019-12-15 16:24:12 +11:00
joe-conigliaro 717740cfcf simplify cflag parsing 2019-12-15 06:18:14 +03:00
joe-conigliaro be60193588 workaround for -g with default optional value 2019-12-15 06:11:02 +03:00
Alexander Medvednikov 54b0097cee fix repl_test.v 2019-12-15 05:51:00 +03:00
Alexander Medvednikov 68357876ca fix v_command() 2019-12-15 05:44:34 +03:00
Alexander Medvednikov 12ebed0589 error on an incorrect V command 2019-12-15 05:35:17 +03:00
Alexander Medvednikov 48ea136a9a tutorials: vweb: add an article 2019-12-15 00:56:08 +03:00
BigBlack fc33f9d49c type alias check 2019-12-14 22:01:20 +03:00
Alexander Medvednikov 2e23592264 for: check for redefinitions 2019-12-14 20:00:03 +03:00
Alexander Medvednikov 45695543ba tutorial: minor fixes 2019-12-14 18:59:02 +03:00
Delyan Angelov 1cd5fab21d testing: support for internal module testing 2019-12-14 15:57:28 +03:00
joe-conigliaro cb9e9286ef
compiler: fixes issue #3074 - can't call a generic function twice with the same data type 2019-12-14 17:54:34 +11:00
prime31 75c01dec30 cleanup SDL event system 2019-12-14 03:31:07 +03:00
Alexander Medvednikov 8581c11900 update malloc 2019-12-14 02:46:55 +03:00
Alexander Medvednikov 962109e855 parser: verify async functions 2019-12-14 02:33:19 +03:00
Alexander Medvednikov ef562413cd -prealloc 2019-12-14 02:28:15 +03:00
Alexander Medvednikov 88cde6e4e6 orm: skip fields 2019-12-14 02:07:06 +03:00
Alexander Medvednikov 797d4364e7 vweb: fix reading request's body/headers 2019-12-13 23:46:11 +03:00
Alexander Medvednikov fb3da327d6 vweb: fix a cookie bug 2019-12-13 21:11:40 +03:00
Alexander Medvednikov 83b8d642b4 fix csv/writer.v 2019-12-13 20:45:48 +03:00
Alexander Medvednikov c72bf0e1b1 global access modifier 2019-12-13 20:28:28 +03:00
Alexander Medvednikov dc83e30a44 access modifiers: update tests/examples 2019-12-13 20:09:11 +03:00
Alexander Medvednikov 78131e78bc fix sruct access modifiers (pub, pub mut, mut) 2019-12-13 20:00:38 +03:00
Delyan Angelov fc64238a39 testing: allow tests to import the same module with no custom options 2019-12-13 19:28:39 +03:00
Robert Cristof ec36755407 mysql: add mysql.escape_string() 2019-12-13 19:12:42 +03:00
Alexander Medvednikov 569a64068a ui/examples: users: fix button click 2019-12-12 23:42:51 +03:00
Alexander Medvednikov cddfbf7395 parser: allow public types `pub type Foo Bar` 2019-12-12 22:57:47 +03:00
Alexander Medvednikov b8f728590b string: last_index ?int 2019-12-12 21:54:48 +03:00
penguindark 8e1c27d129 utf8: punctuation 2019-12-12 21:08:44 +03:00
Alexander Medvednikov 0eeb607ffd fix fopen definition 2019-12-12 21:03:08 +03:00
Alexander Medvednikov bd833deef3 assoc: verify the field exists and verify the type 2019-12-12 20:38:49 +03:00
Alexander Medvednikov 6982f4a5a2 parser: force {} blocks on new lines 2019-12-12 20:27:05 +03:00
Alexander Medvednikov 02c29624d8 freetype: minor fixes 2019-12-12 14:44:29 +03:00
Alexander Medvednikov 8ba29f968a cc.v: hide "mingw" not found message 2019-12-12 14:27:47 +03:00
Alexander Medvednikov 88ec9c235d sort structs: handle fixed size arrays 2019-12-12 14:21:22 +03:00
Alexander Medvednikov 576618d8cc string cloning; fix `foo.str += 's'` 2019-12-12 05:20:52 +03:00
Alexander Medvednikov e182274fe7 free memory block 2019-12-11 23:58:51 +03:00
Alexander Medvednikov ad250523cd fix parser.fileis() 2019-12-11 21:42:22 +03:00
Alexander Medvednikov 6ffed854cc cgen.prepend_to_statement() 2019-12-11 20:51:58 +03:00
Alexander Medvednikov 47f9c02331 Revert "cgen.prepend_to_statement()"
This reverts commit 507c71ad80.
2019-12-11 20:37:39 +03:00
Alexander Medvednikov 507c71ad80 cgen.prepend_to_statement() 2019-12-11 19:33:54 +03:00
taojy123 28f76f10db vweb: fix empty post request blocking 2019-12-11 19:20:46 +03:00
Alexander Medvednikov 7dcd47369b option to pre-allocate a memory block 2019-12-11 18:41:25 +03:00
Delyan Angelov 13769f440f vweb: continue after bad http client connection; performance fixes
* Enable compiling vweb with -prod (by supressing 'declared and not used' warning about 'reset') .

* Fix http responses (now wrk is happy and shows no errors) by adding a Content-Length header.

* Fix -g compilation for urllib.v .

* vweb: println action= only in debug mode.

* vweb: max request headers counting fix.

* Make vweb.html get a 'ctx mut Context' param, just like the other methods.

* vweb: simplify add_header.

* Use a string builder for the most common html case so that the response http text can be send in one go.

* vweb: reduce _STR/string interpolation usage in the most common html response case.

* vweb: refactor common http response formatting into Context.send_response_to_client/2 method.
2019-12-11 17:32:54 +03:00
Alexander Medvednikov cfeec92826 use -Wunused-function for now 2019-12-11 15:51:12 +03:00
joe-conigliaro 3486118ab7 compiler: force custom struct .str() methods to be defined public 2019-12-11 03:24:26 +03:00
Alexander Medvednikov f286387647 vweb: secure HttpOnly cookies 2019-12-11 03:20:30 +03:00
Alexander Medvednikov cdfbb2978d strings: replace_each([]); orm: update 2019-12-10 23:57:49 +03:00
joe-conigliaro 4e69c40e12 parser: fix use blank ident as value 2019-12-10 21:35:59 +03:00
Alexander Medvednikov 9726e18c0a string: optimize replace() 2019-12-10 18:50:21 +03:00
joe-conigliaro 6d5e9f88f8 parser: allow enums to be used as bitfield flags 2019-12-10 06:16:47 +03:00
Alexander Medvednikov 0650d58818 vweb: readme: list some features of vweb 2019-12-10 00:16:39 +03:00
Alexander Medvednikov 51051cdf92 vweb: enable @ logic in the header + fix the example 2019-12-09 23:34:38 +03:00
Alexander Medvednikov 6f49d4c1d2 orm: bool support; vweb fixes 2019-12-09 23:20:29 +03:00
Delyan Angelov 32b0225079 remove os/time references from live programs, fix warnings 2019-12-09 18:53:17 +03:00
Alexander Medvednikov 8082a5e7f4 fix benchmarking stats 2019-12-09 17:25:56 +03:00
Alexander Medvednikov 75280bb54c fix int.str() memory bug 2019-12-09 16:41:13 +03:00
Delyan Angelov f68d9d1a16 live: always add os and time when compiling -live programs
Fixes fail when -live user programs do not use os and time.
2019-12-09 13:48:41 +03:00
sha0coder 7ffa315566 vlib/http: ssl handshake fix 2019-12-09 13:31:24 +03:00
Delyan Angelov ed5c9a20e5 update brew instructions for sdl dependencies 2019-12-09 03:18:08 +03:00
Alexander Medvednikov b2207c3d28 do not prepend module to external fn name 2019-12-09 00:24:50 +03:00
Alexander Medvednikov 4ebf53c6e9 allow non snake_case fn names in imported fns 2019-12-08 23:56:31 +03:00
prime31 faedebbb4e sdl: separate sdl module into multiple, dependent submodules 2019-12-08 23:30:38 +03:00
penguindark 9730164613 atoi: fix leading zeros in string to int conversion 2019-12-08 23:22:33 +03:00
Alexander Medvednikov 8f9b6ac248 '$foo()' string interpolation 2019-12-08 23:18:11 +03:00
Alexander Medvednikov 874ff42687 temporary fix of "v -g v.v" 2019-12-08 20:58:16 +03:00
Delyan Angelov 1bb38a38bb tooling: add tools/oldv , for use with 'git bisect', or for testing with older V 2019-12-08 20:21:17 +03:00
Alexander Medvednikov 4d1f721558 fix "" string interpolation bug 2019-12-08 20:06:00 +03:00
Alexander Medvednikov d58982a6f6 vweb: fix tests 2019-12-08 18:07:04 +03:00
Alexander Medvednikov 1c6f7180b2 vweb: fix form parsing 2019-12-08 17:37:23 +03:00
Alexander Medvednikov 02eee49d25 fix defer_test 2019-12-08 15:30:14 +03:00
Alexander Medvednikov c9886e6f42 use ++ everywhere 2019-12-08 14:34:51 +03:00
Alexander Medvednikov cc682eafe1 require ++ instead of += 1 2019-12-08 14:11:25 +03:00
Nicolas Sauzede 8bc94947e5 tvintris: fix else cases 2019-12-08 13:45:29 +03:00
bogen85 8178e1f7da freestanding: malloc/free with mm_alloc an mm_free
Added more array support that depends on malloc. Added string clone (that uses malloc). Added test for it. Eliminated stack allocated buffers from most of the unit checks.
2019-12-08 13:44:52 +03:00
Alexander Medvednikov 6ec626c5e9 improve invalid character errorrs 2019-12-08 12:57:40 +03:00
Alexander Medvednikov 8b0de95c0a improve the C struct check 2019-12-08 04:23:22 +03:00
Alexander Medvednikov 6ae51b2cbf handle unknown C types 2019-12-08 04:10:56 +03:00
Alexander Medvednikov 7adda3b71a vweb: fix get_cookie() 2019-12-08 01:48:49 +03:00
Alexander Medvednikov b1174428a5 vweb: fix redirect() 2019-12-08 01:05:57 +03:00
Alexander Medvednikov 30fc29fa6d fix csv test 2019-12-08 01:03:35 +03:00
Alexander Medvednikov 7069cd6ab5 a separate scope for x := opt, part 2 2019-12-08 00:45:42 +03:00
Alexander Medvednikov b26a0bde38 a separate scope for x := opt, part 1 2019-12-08 00:34:04 +03:00
Alexander Medvednikov 06a0f39f7b a separate scope for 2019-12-08 00:30:06 +03:00
Alexander Medvednikov dc2da1de98 fix V build 2019-12-08 00:27:24 +03:00
Alexander Medvednikov 8ebc2fe601 do not allow redefinition in `x := opt() {` 2019-12-07 23:09:48 +03:00
Alexander Medvednikov b79588dc69 handle bad value in `if x := opt() {` 2019-12-07 23:05:54 +03:00
Alexander Medvednikov 49f960aea5 fix some windows cast warnings 2019-12-07 22:42:20 +03:00
Alexander Medvednikov c019dd6f98 test assert in functions that return values 2019-12-07 22:42:20 +03:00
bogen85 751ba48bf5 freestanding improvements (exit, function checks)
Fixed exit for freestanding (as assert now uses it).
Running each function check now in a forked process so they can be killed or return other exit codes (and so each function runs, even if others crash)
2019-12-07 22:25:19 +03:00
Alexander Medvednikov d73586743b fix assert in functions that return values 2019-12-07 19:33:59 +03:00
Alexander Medvednikov b9a24e3b51 Revert "use stdint.h with msvc"
This reverts commit 93529031de.
2019-12-07 19:25:17 +03:00
Alexander Medvednikov 93529031de use stdint.h with msvc 2019-12-07 19:20:53 +03:00
Alexander Medvednikov 63ec3c0486 fix a wrong "0 character in a string literal" error 2019-12-07 18:19:48 +03:00
Alexander Medvednikov 7b0e378947 fix clipboard_linux.v 2019-12-07 18:16:19 +03:00
Alexander Medvednikov e1ad1794e3 fix readline_linux.v 2019-12-07 17:46:01 +03:00
Alexander Medvednikov 9cba3bdf78 windows: WideCharToMultiByte() returns an int 2019-12-07 17:31:07 +03:00
Alexander Medvednikov ad6adf327e vlib: fix missing `else{}` in match statements 2019-12-07 17:23:37 +03:00
Alexander Medvednikov 2fb7fba856 require `else` in `match` statements 2019-12-07 17:01:44 +03:00
Alexander Medvednikov a594e009f2 test high order function 2019-12-07 16:13:25 +03:00
Alexander Medvednikov f51784ee01 remove unnecessary casts everywhere 2019-12-07 15:51:00 +03:00
Alexander Medvednikov d7ccbba2c9 do not allow casting a type to itself 2019-12-07 15:31:56 +03:00
Alexander Medvednikov a854d396ff clipboard: fix mutability on macOS and Windows 2019-12-07 15:22:28 +03:00
Alexander Medvednikov c2814c1ada vlib: fix remaining mutability errors 2019-12-07 15:13:23 +03:00
Alexander Medvednikov 329485d4b6 vweb: fix headers and cookies 2019-12-07 15:04:05 +03:00
Alexander Medvednikov cc834dd7a7 parser: `x in []` is always false 2019-12-07 03:05:19 +03:00
João Victor Oliveira Couto 5a8c07dcf5 strings: builder: write_b() 2019-12-06 23:02:09 +03:00
Alexander Medvednikov 55f32fc413 more mutability fixes 2019-12-06 19:23:24 +03:00
Alexander Medvednikov e3b5d7fd7c rename if_st to if_statement 2019-12-06 19:21:26 +03:00
Alexander Medvednikov bf1b751f47 cli: update mutability 2019-12-06 19:12:01 +03:00
Alexander Medvednikov c8d111924d check unused and unmodified vars in all modules, not just main 2019-12-06 18:43:56 +03:00
Delyan Angelov 353805e170 os: test is_link() 2019-12-06 12:09:35 +03:00
Alexander Medvednikov aed22a57e3 fixed size array with const length (`[N]int`) 2019-12-06 02:41:03 +03:00
Alexander Medvednikov be323e2fb6 ci: set up pg database to test ORM 2019-12-06 02:11:39 +03:00
Alexander Medvednikov 71c0c4803f ORM fixes 2019-12-06 02:00:37 +03:00
Alexander Medvednikov 79b26b1654 use get_type2 in struct.v 2019-12-05 19:02:33 +03:00
Alexander Medvednikov cca650c655 better `foo must return (int, int)` error 2019-12-05 18:55:27 +03:00
Alexander Medvednikov cb46bf314e get_type.v 2019-12-05 18:48:39 +03:00
BilligsterUser 0a38b307cd os_test: use rmdir() to del dirs 2019-12-05 17:08:55 +03:00
Delyan Angelov 98374ea6fe CI: fix msvc (temporary work around dialogs poping up) 2019-12-05 17:08:18 +03:00
Alexander Medvednikov 4888d27b71 fix v -live on macOS 2019-12-05 14:40:14 +03:00
Alexander Medvednikov 2a1b0a8cae rename table.register_type2() 2019-12-05 14:24:25 +03:00
Nicolas Sauzede 2e30e1453d sdl: fix old vsdl2 references 2019-12-05 12:58:48 +03:00
Alexander Medvednikov 90e3ab8c1e debugging v -live message.v 2019-12-05 12:48:23 +03:00
Nicolas Sauzede 9d854c5df0 vlib: sdl module + tVintris example 2019-12-05 11:25:55 +03:00
Alexander Medvednikov 6dd1270539 builtin: remove an unnecessary malloc() call 2019-12-05 11:08:41 +03:00
Alexander Medvednikov 867f952d6b for: ranging through fixed size arrays 2019-12-05 02:17:17 +03:00
Alexander Medvednikov fb546f376e set max module depth to 5 2019-12-05 01:27:04 +03:00
Alexander Medvednikov e707ac4f28 test v -live message.v 2019-12-05 00:17:38 +03:00
Alexander Medvednikov 2144c162c4 os: is_link() 2019-12-04 23:53:11 +03:00
Alexander Medvednikov a57e29dfc5 os: replace dir_exists with is_dir; file_exists() => exists() 2019-12-04 23:17:45 +03:00
Alexander Medvednikov fb237b9e53 parser: check types in `a in b` expressions 2019-12-04 22:17:24 +03:00
Alexander Medvednikov d9248e8d52 parser: fix a wrong index in an error 2019-12-04 13:36:35 +03:00
Delyan Angelov 9a6711fa1b compiler: c'str' now has type charptr 2019-12-04 13:34:06 +03:00
Alexander Medvednikov 40df0644ca fix all Foo{!} 2019-12-04 13:08:28 +03:00
Alexander Medvednikov e32cbfcca7 error on C.Foo{!} 2019-12-04 12:56:59 +03:00
Alexander Medvednikov b2b34e18e4 use the new &C.Foo(0) cast 2019-12-04 12:19:32 +03:00
Alexander Medvednikov 2bafd41183 `&C.Foo(0)` cast to replace `&C.Foo{!}` hack 2019-12-04 12:13:17 +03:00
bogen85 a9aaa13a09 freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S 2019-12-04 11:46:09 +03:00
Alexander Medvednikov 47f5e1178f -output-cross-platform-c for creating a single x-platform C file 2019-12-04 02:02:52 +03:00
Delyan Angelov eb20dd39b1 freestanding: init consts 2019-12-04 01:40:26 +03:00
Alexander Medvednikov c4a43633da i8, i18, u16 str() 2019-12-03 21:14:17 +03:00
Alexander Medvednikov 66f271f100 fix a string interpolation bug 2019-12-03 20:41:49 +03:00
Alexander Medvednikov f192429c8a $if mac => $if macos 2019-12-03 16:29:37 +03:00
Alexander Medvednikov ff80e3a5fa i8 print test + $if mac => $if macos 2019-12-03 16:09:43 +03:00
Delyan Angelov b907cf2179 sync/waitgroup: force sleeping for 1ms
fixes issues #2874 and #2961
2019-12-03 15:05:08 +03:00
Delyan Angelov 0a8d2d5dc7 compiler: guess cc kind for -prod builds, to know when to add -flto 2019-12-03 13:58:24 +03:00
Ulises Jeremias Cornejo Fandos b31ec4ca9a math: add factorial function (via factorial table) 2019-12-03 11:34:26 +03:00
Enrico Lefass 6d28a80bf8 haiku support (part 2) 2019-12-03 11:26:47 +03:00
Don Alfons Nisnoni f806e0f9e5 mysql: add error handling 2019-12-03 11:18:20 +03:00
Don Alfons Nisnoni 33793a869f mysql: make the struct public & update some code 2019-12-02 17:26:58 +03:00
Alexander Medvednikov c0bb88dfb0 allow # in webview module 2019-12-02 12:31:49 +03:00
Alexander Medvednikov 753e926356 debug v symlink error 2019-12-02 12:16:55 +03:00
Don Alfons Nisnoni 254afcb2d0 *C.char => charptr 2019-12-02 11:37:35 +03:00
penguindark 322733d59a encoding.utf8 fixes 2019-12-01 20:41:29 +03:00
radare 5ff387bbe4 strings: split_nth and add tests 2019-12-01 16:10:13 +03:00
Delyan Angelov ec15bfb7d1 v test v => v test-compiler 2019-12-01 12:50:13 +03:00
bogen85 854309a7d8 freestanding: add array support (stack only for now) 2019-12-01 11:27:36 +03:00
Alexander Medvednikov 3fea8f3de5 *char => charptr everywhere 2019-12-01 10:33:26 +03:00
Alexander Medvednikov 698c3823ee charptr fix 2019-12-01 10:11:29 +03:00
Alexander Medvednikov 0999273d32 CReserved => c_reserved; charptr 2019-12-01 09:56:53 +03:00
Alexander Medvednikov a23a4ed98a update all index() uses 2019-11-30 15:27:16 +03:00
Alexander Medvednikov 2651b8957a parser: fix unreachable code error in if a := opt() 2019-11-30 15:17:27 +03:00
Alexander Medvednikov 81d4f66fbb string: make `index()` return `?int` instead of `int`/-1 2019-11-30 13:21:21 +03:00
Alexander Medvednikov cc2bd0bb68 string: make substr private 2019-11-30 12:50:57 +03:00
Alexander Medvednikov 1a0b78ae2f fix the cli module 2019-11-30 12:44:50 +03:00
Alexander Medvednikov 7e4799334f array: make left/right/slice private 2019-11-30 12:37:34 +03:00
Alexander Medvednikov b38283dcf1 string: make left/right private 2019-11-30 12:06:17 +03:00
prime31 ff216e7d50 append module name for module search path 2019-11-30 11:17:37 +03:00
Alexander Medvednikov 68b4dab582 parser: another infinite loop fix 2019-11-30 10:37:28 +03:00
Alexander Medvednikov c00a7f3a5e parser: fix infnite loop with `fn foo(&) {}` 2019-11-30 10:21:58 +03:00
Alexander Medvednikov d71532b64e optimize `for c in str {` 2019-11-30 09:41:35 +03:00
Delyan Angelov c7f8f2175b move vlib/builtin/utf8_util.v to vlib/encoding/utf8/utf8_util.v 2019-11-30 08:52:37 +03:00
Emily Hudson 661ddf3d1e compiler: realpath before trying to basefilename 2019-11-30 08:01:31 +03:00
Alexander Medvednikov 850788c4bb parser: fix a bug with & and == 2019-11-29 23:18:10 +03:00
Alexander Medvednikov 4c11eb5ddc -bare => -freestanding 2019-11-29 22:49:05 +03:00
Alexander Medvednikov f724a956b3 parser: fix `a & b == c` precedence 2019-11-29 22:42:32 +03:00
Alexander Medvednikov 881584d04c V 0.1.23 2019-11-29 20:00:33 +03:00
Alexander Medvednikov 1bfcdaa2cc ci: test the new prebuilt packages 2019-11-29 19:14:26 +03:00
Alexander Medvednikov 71378b8041 parser: better syntax error for unexpected tokens 2019-11-29 17:06:49 +03:00
joe-conigliaro 11aaee685a generics: fix errors & simplify 2019-11-29 16:46:43 +03:00
penguindark 82d4a731f3 utf8 functions (to_lower etc) 2019-11-29 16:25:25 +03:00