Commit Graph

369 Commits (d38687f893a70454111bc4f01323f8b6a57e8245)

Author SHA1 Message Date
BigBlack 0ab09a57f7 parser: multi-level pointers 2019-11-11 18:43:22 +03:00
Alexander Medvednikov ffa9646749 Revert "print_backtrace_skipping_top_frames: Implementation for MSVC "
This reverts commit d1e7a54f3a.
2019-11-10 20:01:19 +03:00
Don Alfons Nisnoni b9728c7af0 string: update split() method 2019-11-10 19:37:36 +03:00
Steven Gay d1e7a54f3a print_backtrace_skipping_top_frames: Implementation for MSVC 2019-11-10 19:34:53 +03:00
Nicolas Sauzede 2f5de11c22 fix byteptr warning 2019-11-08 01:30:07 +03:00
vitalyster 8dbeab9a7b make V work on Windows 7 2019-11-06 23:04:40 +03:00
Alexander Medvednikov 75510e2ea1 remove `last` test 2019-11-06 18:19:03 +03:00
Alexander Medvednikov f6d06fcda2 update tests and examples after the mutability fix 2019-11-06 06:57:04 +03:00
Alexander Medvednikov 425c9ce401 a special `last` variable in for loops (experimental) 2019-11-05 17:17:55 +03:00
Alexander Medvednikov 4e64a58ac1 scanner: fix string interpolation in raw strings 2019-11-03 23:57:26 +03:00
Alexander Medvednikov 80ba8f07b8 more ui vh fixes 2019-11-01 18:03:24 +03:00
Nicolas Sauzede 71450828bd fix missing protos for popen and backtrace_symbols 2019-11-01 00:52:08 +03:00
Alexander Medvednikov 91df08f56d cc: experimental -fast option for tcc/codegen in the future 2019-11-01 00:37:24 +03:00
Alexander Medvednikov 987f5fd2a1 string: bring back strconv 2019-11-01 00:28:52 +03:00
Alexander Medvednikov ae696e7ccb Revert "Revert "array: fix and document array functions""
This reverts commit b1eb9d6b15.
2019-10-31 21:50:20 +03:00
Alexander Medvednikov 4c96ca4e62 string: remove strconv dep 2019-10-31 21:50:11 +03:00
Alexander Medvednikov 128d37c671 vh fixes for the UI module 2019-10-31 21:26:12 +03:00
Alexander Medvednikov b1eb9d6b15 Revert "array: fix and document array functions"
This reverts commit 7fa33fc250.
2019-10-31 20:29:58 +03:00
Alvydas Vitkauskas 7fa33fc250 array: fix and document array functions 2019-10-31 15:46:50 +03:00
Amal Shaji e8d34002e1 map: fixed deletion of non-existent keys 2019-10-30 20:19:59 +03:00
lorenzo pirro d42c53346d array: eq() for builtins (byte, string, int, i64, f32) 2019-10-29 14:26:00 +03:00
Don Alfons Nisnoni 8358528888 string: add some docs 2019-10-27 22:29:55 +03:00
Alexander Medvednikov d00fdca38f [if vfmt] for fgen() functions 2019-10-27 12:13:08 +03:00
joe-conigliaro d81b0675f0 array: bring back left & right method tests 2019-10-27 12:05:19 +03:00
joe-conigliaro 59378dce46 compiler/vlib: replace substr/left/right with `[start..end]` everywhere 2019-10-27 10:03:15 +03:00
joe-conigliaro a075ce160e compiler: add `[..2]` & `[2..]` support for slices 2019-10-27 09:36:04 +03:00
Alexander Medvednikov ee51313e2c test array and string slices 2019-10-27 01:37:29 +03:00
Alexander Medvednikov 6944161b15 array: clean up filter() 2019-10-26 14:53:55 +03:00
Alexander Medvednikov 70c9565607 array: fix map() return type and handle []bool 2019-10-26 14:49:36 +03:00
Alexander Medvednikov f40d672a12 array: map() test 2019-10-26 14:32:56 +03:00
Alexander Medvednikov f6f5b8cfb1 bring back string.h for now 2019-10-26 11:51:22 +03:00
Alexander Medvednikov fbd41eacba remove string.h include 1 2019-10-26 11:43:25 +03:00
Alexander Medvednikov ef45a87882 remove string.h include 2019-10-26 11:29:56 +03:00
Alexander Medvednikov cba12d0106 macos libproc fix 2 2019-10-26 02:19:14 +03:00
Alexander Medvednikov 203f967677 macos libproc fix 1 2019-10-26 02:16:37 +03:00
Alexander Medvednikov 7de95a642e remove more C headers 2019-10-26 02:08:46 +03:00
Alexander Medvednikov dc2c62807a string: faster int() 2019-10-25 23:41:18 +03:00
Alexander Medvednikov 5510327d70 array_test.v: str() test 2019-10-25 22:40:52 +03:00
Delyan Angelov 8364130a1f compiler: implement error_with_code(s string, code int)
Make available the integer code as errcode to callers/unwrappers
2019-10-25 22:03:42 +03:00
Alexander Medvednikov be0830b24f builtin: do not use backtrace with musl 2019-10-25 18:38:47 +03:00
Alexander Medvednikov ef9cae6dc0 bring back backtrace 2019-10-25 17:59:41 +03:00
Alexander Medvednikov a83aa28a67 urllib: switch => match 2019-10-25 17:54:34 +03:00
Alexander Medvednikov d0cbb4041b disable backtrace for now 2019-10-25 17:38:07 +03:00
Alexander Medvednikov e04c4ad852 remove execinfo.h include 2019-10-25 17:20:49 +03:00
Alexander Medvednikov 784847cf18 make V compile 2019-10-25 16:06:21 +03:00
Alexander Medvednikov ea3f9b5b9a remove execinfo.h header 2019-10-25 12:13:38 +03:00
Alexander Medvednikov 4e21e9ed44 minor V.js fixes 2019-10-25 12:13:38 +03:00
Alexander Medvednikov d4c1bba856 fix V.js 2019-10-24 22:58:01 +03:00
Alexander Medvednikov 3a929faf26 enums: make `in` work without specifying the full type 2019-10-24 15:41:34 +03:00
Alexander Medvednikov dca49e43d9 c defs 2019-10-24 15:41:34 +03:00
Alexander Medvednikov 4a88a28a3b make all necessary structs public 2019-10-24 12:51:00 +03:00
Alexander Medvednikov f14425ec18 do not allow one letter struct names 2019-10-23 23:46:07 +03:00
Alexander Medvednikov 054dd237a4 V.js: remove u8 2019-10-23 15:56:57 +03:00
Alexander Medvednikov 6174dfb424 fix V.js 2019-10-23 15:51:52 +03:00
Delyan Angelov eef73eea22 tools: new tool to extracts function names declared in V files 2019-10-21 14:14:28 +03:00
Alexander Medvednikov 81b1b882fd bultin: mark unsafe functions 2019-10-20 20:29:24 +03:00
Alexander Medvednikov 1b518c158b unsafe keyword + make array.free() an unsafe method 2019-10-20 20:10:44 +03:00
Ole-Martin Bratteng b73387647c v.js: make eprintln use console.error 2019-10-19 15:42:37 +03:00
Alexander Medvednikov 80e79a3966 array: optimized generic filter() 2019-10-18 07:30:39 +03:00
joe-conigliaro 8d16762f03 strconv module + use it in builtin/string instead of C functions 2019-10-17 19:37:55 +03:00
Unknown User f46b58b09d int: i64 hex() use PRIx64 2019-10-17 11:06:54 +03:00
Alexander Medvednikov 75e2a29cb5 string: bring back strtoul for now 2019-10-15 08:53:35 +03:00
Alexander Medvednikov f9593bd857 builtin: float.v + remove #include <math.h> 2019-10-15 08:41:45 +03:00
Alexander Medvednikov 4b176ba855 string: test i64() and u64() 2019-10-15 04:26:19 +03:00
Alexander Medvednikov 10ed65bc12 fix float.eq() 2019-10-15 03:45:11 +03:00
Alexander Medvednikov 91690a1b54 fix f64 tcc eq crash 2019-10-13 04:27:57 +03:00
Alexander Medvednikov 2d127cb694 tcc windows fixes 2019-10-14 09:03:11 +03:00
joe-conigliaro de10a529b0 CI: fix building v 2019-10-14 07:08:02 +03:00
joe-conigliaro 51388fea75 compiler: module init function & init consts for cached modules 2019-10-12 01:17:37 +03:00
Don Alfons Nisnoni c7e47e6884 array: minor clean up 2019-10-12 00:06:30 +03:00
Delyan Angelov 2b087dbf95 backtraces: add source line numbers too on linux
* Add source line numbers to backtraces on linux.

* Fix -g (broken after token caching).

* reset the #line directives after all the v code is compiled

* cleanup p.cgen.line setting inside p.next() .

* Support windows filepaths like "C:\Users\travis\build\vlang\v\v.exe.tmp.c" inside generated #line directives.

* Try to diagnose better windows-gcc failing.

* Revert "Try to diagnose better windows-gcc failing."

* implement and use cescaped_path/1 .

* Use cescaped_path/1 consistently throughout compiler/ .
2019-10-12 00:04:42 +03:00
Alexander Medvednikov af46bf515f glfw: bring back 64 bit glfw3.dll 2019-10-11 13:47:56 +03:00
Alexander Medvednikov 52c2fa44b8 runtime: nr_cpus() 2019-10-11 13:47:56 +03:00
Alexander Medvednikov a280e98d7f fix the build 2019-10-11 06:57:08 +03:00
Alexander Medvednikov 726aaecc46 compiler: make V compilable wit the tcc backend 2019-10-11 06:49:53 +03:00
Don Alfons Nisnoni 942c56ca95 array: add reduce() method 2019-10-11 04:12:40 +03:00
Alexander Medvednikov e1dd4c19b5 compiler: cache modules if they are not built yet 2019-10-10 22:53:59 +03:00
vitalyster e64609387d term: colors on Windows console
* isConsole moved to builtin is_atty function
* Windows console initialization moved to builtin.init
2019-10-10 20:08:36 +03:00
joe-conigliaro f8fefd5a60 urllib: rem underscore methods from; add strings index_bytes 2019-10-10 20:04:11 +03:00
Delyan Angelov f3abb9e682 fix 'v -debug examples/hello_world.v' 2019-10-10 20:02:32 +03:00
Alexander Medvednikov 9385ed27ae fix v.js 2019-10-10 01:27:16 +03:00
Alexander Medvednikov 1f6535afb0 array/map: remove _get(), _push() etc 2019-10-10 01:15:19 +03:00
Alexander Medvednikov 2411b8d1e7 module cache fixes; do not allow function names starting with _ 2019-10-10 00:44:26 +03:00
Alexander Medvednikov b1da59845e array: fix initialization of empty fixed size arrays 2019-10-09 15:26:30 +03:00
Don Alfons Nisnoni fecf3f19c3 array: add filter() method 2019-10-08 13:23:17 +03:00
Alexander Medvednikov f1923d454c parser: make verbose mode less verbose 2019-10-07 01:25:53 +03:00
Alexander Medvednikov b242e8d7ff optimize `a in [1,2,3]` to `a == 1 || a == 2 || a == 3` 2019-10-06 06:07:38 +03:00
Alexander Medvednikov 65aafb3cf1 3d arrays are not supported yet 2019-10-06 04:18:55 +03:00
Alexander Medvednikov 6a0599b5f4 raw strings with r'raw' 2019-10-06 04:11:08 +03:00
Alexander Medvednikov 735336e569 array: 2d and 3d test 2019-10-05 16:03:19 +03:00
Alexander Medvednikov e14861694c another v.js fix 2019-10-05 08:03:26 +03:00
Don Alfons Nisnoni 68bcf6830c array: add index() method 2019-10-04 23:07:19 +03:00
Alexander Medvednikov 52f4f4026b
compiler: cache modules 2019-10-04 15:48:09 +03:00
Alexander Medvednikov f45d3f07ed fix 3 last C warnings and make sure no new warnings are introduced 2019-10-04 05:49:41 +03:00
Swastik Baranwal 7d763e0776 fix js build 2019-10-02 15:46:08 +03:00
Alexander Medvednikov 5ba354fa2c `if a := foo() {` syntax for handling optionals 2019-10-01 22:57:38 +03:00
hazohelet 56e4ed1e6b compiler: float comparison uses machine epsilon by default 2019-10-01 22:38:36 +03:00
joe-conigliaro 7fd2ef975b parser: add v error if assigning var to blank identifier `_`
also fix C warn & double semicolon
2019-10-01 15:40:11 +03:00
Delyan Angelov 2ac80485c0 C backend: fix a couple of C warnings on Linux 2019-10-01 14:35:59 +03:00
Alexander Medvednikov 841d824216 builtin: a very early version of the hashmap 2019-10-01 06:20:50 +03:00
hazohelet 6d483c0a56 parser: float1 == float2 uses machine epsilon by default 2019-09-29 18:27:53 +03:00
Delyan Angelov 366c50674c tooling: add tools/compare_v_performance_between_commits
easily compare v performance/size across commits.

* fix eprintln on linux (it now uses stderr, and flushes it).

* flag: cleaner usage information.
2019-09-28 14:17:16 +03:00
hazohelet fd2d9c214c f64: fix .eq() 2019-09-28 14:04:03 +03:00
Delyan Angelov 6bba4b1be0 string: document the tradeoffs for V strings 2019-09-28 13:54:30 +03:00
Alexander Medvednikov 60eb73adb4 array: single element array test 2019-09-28 13:52:38 +03:00
lutherwenxu a4d2633a33 string: Properly null-terminate repeated string 2019-09-28 13:31:12 +03:00
Alexander Medvednikov a5391c8882 string.repeat: re-write without a libc function call 2019-09-28 02:51:42 +03:00
Alvydas Vitkauskas 931b71c428 string: improve repeat() 2019-09-27 15:49:09 +03:00
Don Alfons Nisnoni fb4f14ba76 string: add repeat() method 2019-09-26 22:54:53 +03:00
joe-conigliaro 8974aa4513 compiler/vlib: change `_ :=` to `_ =` and disable `_ :=` 2019-09-25 15:10:45 +03:00
Alexander Medvednikov ab52b453cb
map: make .keys() pure 2019-09-25 05:56:10 +03:00
Alexander Medvednikov f7d8fb0cf4 string: bring back old index() without an allocation 2019-09-23 23:34:42 +03:00
Alexander Medvednikov 8d52d877fb compiler: free local_vars 2019-09-23 22:16:52 +03:00
joe-conigliaro 23c84516e2 compiler: error on unused imports 2019-09-23 13:42:20 +03:00
Alexander Medvednikov b4207e1be7 compiler: allow "u64_var == 0" without casting the const literal 2019-09-23 02:14:10 +03:00
Alexander Medvednikov a232b215a7 double quotes for denoting strings 2019-09-21 17:18:02 +03:00
vitalyster 111007470e array: malloc => calloc 2019-09-21 02:29:09 +03:00
Henrixounez ffcff9ebd4 builtins: ustring comparisons, concatenation and other functions 2019-09-20 19:07:38 +03:00
Alexander Medvednikov a94c1556ce array: remove temporary repeat2() 2019-09-19 05:22:24 +03:00
Alexander Medvednikov cb31eeec55 compiler: first step to require explicit definition of imported C fns 2019-09-19 05:16:25 +03:00
Alexander Medvednikov d1500511e6 "none" keyword for optionals + more memory fixes 2019-09-18 14:15:10 +03:00
Alexander Medvednikov 0a2f7a6ba7 fix tests 2019-09-17 13:37:25 +03:00
Alexander Medvednikov 1397d532c6 compiler: check if mutable receivers are modified 2019-09-17 13:10:43 +03:00
Alexander Medvednikov c76d09f9a5 make V.js compile 2019-09-16 18:31:13 +03:00
hazohelet 9158ba4640 vlib: add Android checks to build V on Android 2019-09-16 18:23:11 +03:00
Alexander Medvednikov 849bef987c more C warnings fixed 2019-09-15 15:53:57 +03:00
Alexander Medvednikov 3e923871cf compiler: use *char() cast in C functions to afix warnings 2019-09-15 15:19:18 +03:00
joe-conigliaro f077fbd32d vlib: change `[0;n]` to `[0].repeat(n)` 2019-09-15 12:26:05 +03:00
Henrixounez 602e472b8a builtin: getchar for unicode characters 2019-09-15 04:41:24 +03:00
Alexander Medvednikov 5cc81b91cb JavaSript backend (early stage) 2019-09-15 03:49:57 +03:00
Alexander Medvednikov 9dd86f6fb8 compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn" 2019-09-13 15:47:31 +03:00
Henrixounez af60f9ead4 compiler: escapes quote on literals 2019-09-11 15:48:08 +03:00
Alexander Medvednikov 9853323157 array: make ".contains()" private, use "in" everywhere 2019-09-11 15:12:13 +03:00
Alexander Medvednikov 00687de43b memory: clean up all arrays in the V compiler 2019-09-09 13:55:47 +03:00
Alexander Medvednikov 76a89c832e parser: small optimizations 2019-08-26 01:19:39 +03:00
joe-conigliaro 79d4d56fe5 string: implement is_space in V & make trim_space use trim 2019-09-06 13:22:37 +03:00
vitalyster 38d26c8080 Travis: run msvc tests 2019-09-03 20:15:08 +03:00
Delyan Angelov c9a39dfdb5 compiler: build tetris executable on windows with both msvc and mingw gcc 2019-09-03 16:09:43 +03:00
Joe Conigliaro 1f67d9edd8 fix bugs breaking tests 2019-09-03 15:21:52 +03:00
Vitaly Takmazov 83d724fb70 print_backtrace: do not use printf directly 2019-09-03 11:09:55 +03:00
Alexander Medvednikov 1c6d51f271 remove u8 and i32 from tests and examples 2019-09-02 15:02:25 +03:00
Alexander Medvednikov 0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Alexander Medvednikov 3bd7bcfac3 remove u8 and i32 aliases 2019-09-01 22:37:22 +03:00
Alexander Medvednikov 4edccce9a3 array: sort ints 2019-09-01 22:30:49 +03:00
Alexander Medvednikov bfa6505636 compiler: replace &Type with Type 2019-09-01 14:05:03 +03:00
Alexander Medvednikov 961e778ed1 map_test.v: format + ref test 2019-09-01 14:05:03 +03:00
Alexander Medvednikov 72363ada84 array: make .set() private + format 2019-08-31 02:35:05 +03:00
kawa-yoiko 4f0f99e663 parser: fix mutability with chained fields 2019-08-30 20:19:06 +03:00
Alexander Medvednikov 2fe20cd092 compiler: fix struct order bug 2019-08-29 23:46:12 +03:00
Henrixounez 29e0396eca compiler: adds handling of two variables for loop on string 2019-08-29 21:41:16 +03:00