Commit Graph

158 Commits (81f8b261272e2ae34ff752e91401d28c4410d367)

Author SHA1 Message Date
Alexander Medvednikov 19b04d5427 math: fix const warnings 2019-09-16 22:49:18 +03:00
BigBlack 3e52984e88 compiler: another C function call fix 2019-09-16 18:28:20 +03:00
joe-conigliaro cbd4478b5e compiler: fix msvc empty struct & enable travis msvc 2019-09-16 13:01:07 +03:00
joe-conigliaro 075a8e5ccb compiler: improve typo detection 2019-09-15 20:07:12 +03:00
Alexander Medvednikov 48c05b5a45 cgen: use *char in all functions with *char args to avoid warnings 2019-09-15 18:56:33 +03:00
Alexander Medvednikov 5cc81b91cb JavaSript backend (early stage) 2019-09-15 03:49:57 +03:00
joe-conigliaro 5aaa794519 compiler: clean up the typo check 2019-09-13 16:15:30 +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
joe-conigliaro 41734affb3 compiler: detect typos in function/variable/module names 2019-09-13 14:10:24 +03:00
Alexander Medvednikov 9853323157 array: make ".contains()" private, use "in" everywhere 2019-09-11 15:12:13 +03:00
Vitor Oliveira edd8528049 compiler: rename build to build_module 2019-09-10 17:36:14 +03:00
Alexander Medvednikov 00687de43b memory: clean up all arrays in the V compiler 2019-09-09 13:55:47 +03:00
Delyan Angelov d5665997e0 compiler: @FILE, @LINE, @FN, @COLUMN 2019-09-07 13:44:41 +03:00
Henrixounez bfdab586e3 compiler: allow to declare C function with pointers with & 2019-09-06 15:13:38 +03:00
Alexander Medvednikov b667940c68 parser: fix a +1 bug when skipping function body 2019-09-02 13:57:00 +03:00
Alexander Medvednikov 0e2c41e0f9 replace *Foo with &Foo everywhere 2019-09-01 22:51:16 +03:00
Alexander Medvednikov bfa6505636 compiler: replace &Type with Type 2019-09-01 14:05:03 +03:00
kawa-yoiko 6d35f68242 parser: restore outer variable in index exprs 2019-08-30 12:16:39 +03:00
Henrixounez 87ed442d9e compiler: nested structure print error fix 2019-08-30 00:55:59 +03:00
Alexander Medvednikov 0c31172fb0 make print() generic, just like println() 2019-08-30 00:41:25 +03:00
Henrixounez 4b9cc1246e compiler: allow functions return without main function 2019-08-29 21:39:39 +03:00
Henrixounez ad32a3770b compiler: cast correctly strings between byte* and char* when needed 2019-08-25 01:50:44 +03:00
Henrixounez 0a0d6536c2 compiler: access index when casting array into an array[] for pointer 2019-08-25 01:49:51 +03:00
Alexander Medvednikov cd10890258 minor tcc fixes 2019-07-08 03:44:47 +02:00
Alexander Medvednikov eb5fcafa77 table: TypeCategory; freetype: remove C code; [typedef] C structs;
Objective-C interfaces
2019-08-22 22:18:55 +03:00
S-YOU 329e7bd2c8 add static inline attribute 2019-08-18 13:02:07 +03:00
Alexander Medvednikov fe2d2bd2a3 fmt: remove trailing spaces 2019-08-17 22:21:43 +03:00
Delyan Angelov 5ea4b463bb compiler: fix issue #1612 . 2019-08-16 14:05:42 +03:00
Alexander Medvednikov dc9cebe26c orm fixes; glfw: remove C code 2019-08-16 09:10:03 +03:00
Alexander Medvednikov cba4d59712 vweb: make app_test.v compile 2019-08-12 17:38:30 +03:00
Alexander Medvednikov 8c3475b902 generate `.str()` for all arrays 2019-08-11 22:39:45 +03:00
Julian Schurhammer 1864e92ff4 parser: disallow statements after a return, branch check $if, $else, switch, and loops correctly 2019-08-10 10:26:42 +02:00
Alexander Medvednikov 5ea1c538b6 fn: fix & argument bug 2019-08-08 16:09:04 +02:00
Alexander Medvednikov 27fad0f19b ft: clean up 2019-08-08 10:08:44 +02:00
Julian Schurhammer 61983a6799 parser: check that functions return in all if/else branches 2019-08-08 09:49:56 +02:00
Alexander Medvednikov 1470b3da11 parser: better immutability error messages 2019-08-08 07:00:36 +02:00
Emily Hudson 802ff1d012 compiler: scoped defer + build tests with msvc 2019-08-07 17:51:21 +02:00
Alexander Medvednikov ff6e0df0a5 array: minor fixes 2019-08-07 13:39:54 +02:00
Alexander Medvednikov 818c4a14e5 compiler: fix a bug with mutable array args 2019-08-07 12:36:45 +02:00
Alexander Medvednikov 34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Alexander Medvednikov 52f473d1c7 all: fix immutable fn args 2019-08-07 05:28:00 +02:00
joe-conigliaro 01c2d25ae5 compiler: rename pkg to mod and auto save file import table 2019-08-05 09:49:52 +02:00
Alexander Medvednikov 350e13679c force `()` in complex bool expressions: `(a && b) || c` instead of `a && b || c` 2019-08-05 03:22:28 +02:00
Alexander Medvednikov ee437de8d3 type name check fixes 2019-08-04 09:38:46 +02:00
Vitaly Takmazov f3d6bc9146 compiler: no need to optimize println on Windows
this fixes string interpolation
2019-07-31 10:01:02 +02:00
Alexander Medvednikov 79be98d2fb Revert "Support for the printf optimisation for windows and wide strings"
This reverts commit acd28fa495.
2019-07-30 18:28:00 +02:00
F1ssi0N acd28fa495 Support for the printf optimisation for windows and wide strings 2019-07-30 18:04:19 +02:00
joe-conigliaro 5e57d099d7 v panic debug information 2019-07-30 15:08:14 +02:00
Alexander Medvednikov ce1288e946 clean up 2019-07-29 18:24:48 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
F1ssi0N 720648703b Hack interfaces into working with arguments 2019-07-27 16:30:57 +02:00
Alexander Medvednikov f7530234c7 fix Windows build 2019-07-25 15:05:44 +02:00
Alexander Medvednikov 2ad0d0200d make the new mut check work with `fn foo(mut bar)` 2019-07-25 14:04:45 +02:00
Alexander Medvednikov 9ccd3bde01 do not allow declaring a mutable variable if it's never modified 2019-07-25 13:44:34 +02:00
Emily Hudson 049d78a78d Change CGen so that v.c is compileable with msvc 2019-07-24 17:46:41 +02:00
Alexander Medvednikov 6b2063a2ea mutable args: don't allow primitives 2019-07-24 15:33:41 +02:00
Alexander Medvednikov 7ea688aa43 fix mutable array args 2019-07-24 15:10:48 +02:00
Alexander Medvednikov 7f29928aec examples: fix news_fetcher on Windows 2019-07-24 12:34:25 +02:00
Emily Hudson e25ea7f9dd add MSVC C backend support; fix live code reloading on Windows; other Windows fixes 2019-07-23 23:23:13 +02:00
Delyan Angelov a65ae726ee live reload: fix SIGSEGV when calling dlclose, while a live fn is still running. 2019-07-22 12:25:41 +02:00
Alexander Medvednikov 40c31f701f free arrays when they are out of scope
main.v: update help
2019-07-21 14:42:31 +02:00
Alexander Medvednikov 6e6f6bc387 free/malloc fixes 2019-07-21 12:36:21 +02:00
d2verb 67c2932f34 parser: change cur_line, tmp_line only in main pass 2019-07-18 20:21:23 +02:00
Delyan Angelov 97e97222ee live reload: All of the [live] functions are reloaded now, not just the first one. 2019-07-18 19:34:28 +02:00
Alexander Medvednikov 382f85fa39 -live: fix an info message 2019-07-18 18:03:09 +02:00
Alexander Medvednikov 53b6c91d18 allow building code with [live] without -live 2019-07-18 16:02:06 +02:00
Alexander Medvednikov 1748632144 do not create ~/.vlang directory 2019-07-16 17:44:25 +02:00
Alexander Medvednikov 31032d3a62 allow field 'type' 2019-07-16 13:01:39 +02:00
Alexander Medvednikov 840e496a51 force snake_case in variable names 2019-07-15 22:53:33 +02:00
Alexander Medvednikov 100bcc2034 use defer 2019-07-15 22:18:43 +02:00
Alexander Medvednikov 17c6ba04a2 defer statement 2019-07-15 22:13:12 +02:00
Alexander Medvednikov f7dbbf5810 re-write map.v and update the compiler 2019-07-14 22:08:17 +02:00
Alexander Medvednikov f834644db4 make gg work on Windows; prebuild glad and cJSON; new ft module 2019-07-12 04:50:14 +02:00
Alexander Medvednikov da51fea605 fix disappearing printf when compiling with 2019-07-10 22:07:56 +02:00
Alexander Medvednikov 1b09e37a80 fix typ_to_fmt() 2019-07-10 14:38:39 +02:00
Alexander Medvednikov c8fc262da3 println: make aliases printable 2019-07-10 14:26:37 +02:00
Alexander Medvednikov fba8443f30 allow defining methods on aliases 2019-07-10 14:18:21 +02:00
Alexander Medvednikov 9907f07602 fix the __ error message 2019-07-10 10:08:37 +02:00
Alexander Medvednikov 26ef99293d new enum syntax; update the compiler (`p.tok == .name`) 2019-07-10 02:02:38 +02:00
Alexander Medvednikov de8dc4cddb hot code reloading examples 2019-07-07 22:02:27 +02:00
Alexander Medvednikov 59796a4168 small REPL fixes 2019-07-06 15:39:26 +02:00
Alexander Medvednikov 871fb3831a do not allow fn main() to return a value 2019-07-05 22:03:00 +02:00
Alexander Medvednikov d47e2f113f Revert "make function arguments immutable"
This reverts commit 0f0ed8d716.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov 0f0ed8d716 make function arguments immutable 2019-07-05 00:24:13 +02:00
Alexander Medvednikov 74dbb1bce3 interface: fix function is private bug 2019-07-04 23:30:11 +02:00
Alexander Medvednikov 7fdd94fcbb println: fix a bug with u64 etc and newlines 2019-07-04 00:54:40 +02:00
Alexander Medvednikov 1e32a4cec4 println: optimize and remove memory leaks 2019-07-04 00:40:30 +02:00
Alexander Medvednikov 5d4d3b838b StringsBuilder => strings.Builder; strings.repeat() 2019-07-03 22:18:46 +02:00
Alexander Medvednikov d9753ee2c6 lots of vfmt fixes 2019-07-03 16:37:21 +02:00
Alexander Medvednikov a9b8bc067f enums (`mode == .default_mode` syntax); fix `foo.bar[0].baz = val` 2019-07-02 21:39:26 +02:00
Maulana Akmal 24b0fd5097 Refactor BuildMode enum to lowercase 2019-07-01 17:20:59 +02:00
Archan Patkar 74d234f8cd remove duplication by using a new Preferences struct 2019-06-30 22:03:17 +02:00
Henrixounez d8caa6431f compiler: checks if variables are unused on scripts main function 2019-06-28 21:05:04 +02:00
Henrixounez b6b313d246 compiler: clears MainFn when recompile on repl 2019-06-28 17:24:18 +02:00
Alexander Medvednikov 42bb85197a force `mut a := ...`, do not allow `mut a = ...` 2019-06-28 15:04:41 +02:00
Alexander Medvednikov bd49977feb fix single file programs without `fn main` and REPL (allow imports,
function definitions, consts, etc)
2019-06-28 13:43:32 +02:00
Alexander Medvednikov 6824e6e7db Replace all remaining C code with V in the compiler and vlib (hoorah!) 2019-06-27 23:11:27 +02:00
Alexander Medvednikov 959cc2ea03 some more tests 2019-06-27 15:01:09 +02:00
Alexander Medvednikov 76bf732e63 builtin: public/private functions, remove lots of duplicate functionality
(string.eq, compare_strings, etc)
2019-06-27 13:29:31 +02:00
Alexander Medvednikov 90c0791345 replace ugly `tos2(bytes)` with `string(bytes)` 2019-06-27 12:50:02 +02:00