Commit Graph

191 Commits (9198285688e6a506eec1dc253eb30f15ef1899db)

Author SHA1 Message Date
Alexander Medvednikov 66f271f100 fix a string interpolation bug 2019-12-03 20:41:49 +03:00
Alexander Medvednikov c0bb88dfb0 allow # in webview module 2019-12-02 12:31:49 +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 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
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
bogen85 e31d892598 make _V_mret_ unique by putting p.token_idx in it 2019-11-29 11:11:53 +03:00
joe-conigliaro 3107618732 vweb: remove no longer needed special case & fix tmpl 2019-11-26 09:23:11 +03:00
ʇʞʌp 6349bd33d3 compiler: Allow `or` usage when assigning to struct fields. (#2893) 2019-11-26 09:07:35 +03:00
ʇʞʌp 79a02a4c09 parser: make `p.opt()?` work for methods 2019-11-26 09:04:59 +03:00
Alexander Medvednikov 8d241cc164 vweb fixes; ORM fixes; freeing strings 2019-11-26 07:47:16 +03:00
ʇʞʌp 81d552038c parser: allow constant usage in assoc 2019-11-26 06:41:56 +03:00
joe-conigliaro 92f920b2b8 make errors from code parsed with statements_from_text show correctly 2019-11-25 22:22:40 +03:00
joe-conigliaro edd4706480 compiler: parser fixes for vweb 2019-11-25 15:29:55 +03:00
joe-conigliaro 7158a012c3 compiler: update to get vweb working 2019-11-25 13:48:25 +03:00
Alexander Medvednikov e9e931fe4a force C function definitions 2019-11-24 12:14:22 +03:00
Alexander Medvednikov 0fb0c43c0a pg: minor fixes 2019-11-23 19:48:00 +03:00
joe-conigliaro 666509623e compiler: use token.pos instead of token.col, calculate col when needed 2019-11-23 19:31:28 +03:00
れもん 3d235169c8 parser: fix if expression 2019-11-23 14:25:57 +03:00
Alexander Medvednikov 9712213f50 x64 machine code generation (ELF) 2019-11-22 14:33:22 +03:00
joe-conigliaro 8fbfceed30 compiler: generics - support across modules/files 2019-11-22 08:22:11 +03:00
Alexander Medvednikov 0cf232d692 parser: a better [] error message 2019-11-19 11:13:19 +03:00
Alexander Medvednikov 1ccd1979a4 vfmt: line comments fixes 2019-11-18 15:12:35 +03:00
Abdullah Atta 200fcd41ce vlib: add a clipboard module (Windows, macOS, X) 2019-11-17 05:40:03 +03:00
Alexander Medvednikov 2964bf9e23 inline assembly 2019-11-17 00:59:49 +03:00
Alexander Medvednikov 5a1de13e10 bare: fix str[idx] 2019-11-16 23:22:40 +03:00
Alexander Medvednikov 8d1eb759f7 fix v -o foo.c build module foo 2019-11-16 21:49:58 +03:00
Alexander Medvednikov 96cde10696 C string literals (c'str'); bare builtin module; bare println() 2019-11-15 02:29:20 +03:00
Alexander Medvednikov 34c4565f7c wrap up -bare 2019-11-14 11:11:52 +03:00
Alexander Medvednikov 96b530cf85 update [] 2019-11-14 09:53:05 +03:00
Alexander Medvednikov 4a833d8151 parser: clean up all [] 2019-11-14 09:21:20 +03:00
Alexander Medvednikov 5df5f97daf parser: allow `arr = []` instead of `arr = []string` 2019-11-14 07:15:17 +03:00
Alexander Medvednikov ffa6bcfff5 vfmt: handle comments 2019-11-13 11:54:22 +03:00
Alexander Medvednikov 10b0432eca parser: fix mutable map args 2019-11-12 22:35:53 +03:00
BigBlack 99169ae4ff parser: ptr++,*(ptr+1) 2019-11-11 23:39:16 +03:00
BigBlack 0ab09a57f7 parser: multi-level pointers 2019-11-11 18:43:22 +03:00
Alexander Medvednikov e6775913aa simplify vfmt 2019-11-11 17:04:47 +03:00
Alexander Medvednikov 8947717e3e fix the build 2019-11-11 06:19:18 +03:00
Alexander Medvednikov 0ad0a61db2 remove unnecessary empty lines in cgen 2019-11-11 06:02:01 +03:00
Alexander Medvednikov b3143bb559 parser: remove start_tmp() entirely 2019-11-11 05:22:38 +03:00
Alexander Medvednikov 887c94d9ba parser: second batch of start_tmp() 2019-11-11 05:14:54 +03:00
Alexander Medvednikov 00b3557ce1 parser: start removing start_tmp() 2019-11-11 05:06:24 +03:00
Alexander Medvednikov 3c4bb16ce9 disable dereferencing error for now 2019-11-10 20:32:11 +03:00
Alexander Medvednikov aea5b2e3b6 make unsafe dereferncing warning an error 2019-11-10 20:14:57 +03:00
Alexander Medvednikov fdf6682254 require `unsafe` for dereferencing 2019-11-10 19:57:17 +03:00
Alexander Medvednikov c7f3413d70 more vfmt fixes 2019-11-10 19:49:19 +03:00
Alexander Medvednikov 3d4f85069f more vfmt fixes 2019-11-10 02:44:26 +03:00
Daren Liang e6c9c7d571 parser: check type for all integer only assignment operators 2019-11-09 21:57:36 +03:00
Alexander Medvednikov b1d2c6c730 lots of vfmt fixes 2019-11-09 20:42:29 +03:00
Alexander Medvednikov cac719c078 []interface 2019-11-08 22:08:02 +03:00
Alexander Medvednikov 985fb91ee8 rewrite interfaces 2019-11-08 07:16:53 +03:00
lorenzo pirro 6bcd0fd9cc optimize reserved type check 2019-11-07 18:45:38 +03:00
Alexander Medvednikov 6d98203572 fix "undefined" error 2019-11-07 17:57:54 +03:00
Daren Liang df6bdf59e6 parser: fix mod assign type check 2019-11-07 17:49:40 +03:00
Alexander Medvednikov fbd71e1539 expression.v 2019-11-07 17:48:48 +03:00
lorenzo pirro d57c0cfde0 parser: fix builtin as name not allowed 2019-11-07 06:00:48 +03:00
Alexander Medvednikov fdd4afa392 for.v and match.v; do not allow arrays in `match` 2019-11-06 23:30:08 +03:00
Alexander Medvednikov 7c70f3df93 parser: & and | type check 2019-11-06 21:20:37 +03:00
Alexander Medvednikov 0f0bef2d33 parser: more typing checks 2019-11-06 20:47:03 +03:00
Alexander Medvednikov 73134035a9 parser: remove `last` 2019-11-06 18:17:14 +03:00
Alexander Medvednikov 6afd7d50a6 parser: fix mod type check 2019-11-06 17:52:35 +03:00
Alexander Medvednikov ca259331e4 parser: fix % type check 2019-11-06 17:35:32 +03:00
Alexander Medvednikov 8dd335295e new enum step 2 2019-11-06 06:26:04 +03:00
Alexander Medvednikov 4d876d1980 new enum step 1 2019-11-06 06:16:12 +03:00
Alexander Medvednikov 855a736a2c parser: C enums + another enum simplification 2019-11-06 05:14:34 +03:00
Alvydas Vitkauskas af81b02ef0 parser: fix shift-assign to work with all integer types 2019-11-06 03:37:31 +03:00
Alvydas Vitkauskas 3080959084 parser: make let shift operators work with all types 2019-11-06 01:02:50 +03:00
Alexander Medvednikov b2f8944b1f fix V.js 2019-11-05 18:18:10 +03:00
Alexander Medvednikov 425c9ce401 a special `last` variable in for loops (experimental) 2019-11-05 17:17:55 +03:00
Alexander Medvednikov f60d44eda9 --enable-globals 2019-11-05 02:43:52 +03:00
Alexander Medvednikov f8d14a216b parser: print backtrace only in debug mode 2019-11-05 02:30:51 +03:00
joe-conigliaro 5d16f30a3d parser: add error when trying to assign from a function that does not return a value 2019-11-04 14:35:10 +03:00
joe-conigliaro 5f1e634d82 compiler: improve typo detection, support all types and fn definitions 2019-11-04 04:59:28 +03:00
joe-conigliaro df5faf35e5 compiler: optionals default value 2019-11-04 02:38:49 +03:00
Alexander Medvednikov 4e64a58ac1 scanner: fix string interpolation in raw strings 2019-11-03 23:57:26 +03:00
joe-conigliaro 4120982da1 compiler: add varg str method & varg / parser optimizations 2019-11-02 13:17:56 +03:00
Alexander Medvednikov 128d37c671 vh fixes for the UI module 2019-10-31 21:26:12 +03:00
ytakahashi 114953f28d match: fix typo and remove arrows 2019-10-31 18:58:19 +03:00
Alexander Medvednikov aa39451c8b arrays.range(min, max) 2019-10-30 16:21:57 +03:00
Alexander Medvednikov 96f7620628 instead of `Enum.foo` require `.foo` if it's enough + some UI fixes 2019-10-30 15:48:33 +03:00
Delyan Angelov ba6cc5df2a compiler: print asserted source line on failure 2019-10-30 12:15:33 +03:00
Danil-Lapirow a2bafaa254 parser: add error on array comparison 2019-10-28 10:26:42 +03:00
Alexander Medvednikov 1390a39053 clean up switch tokens 2019-10-27 22:42:52 +03:00
Alexander Medvednikov 9c5abd575f parser: remove switch_statement() 2019-10-27 13:03:40 +03:00
Alexander Medvednikov d00fdca38f [if vfmt] for fgen() functions 2019-10-27 12:13:08 +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 e80cf185b9 allow public unions and interfaces 2019-10-27 02:23:52 +03:00
Alexander Medvednikov ef022c2326 [if vfmt] function attribute for skipping functions for performance 2019-10-27 02:11:31 +03:00
Alexander Medvednikov 570a7aaaf3 a[start..end] slicing 2019-10-26 22:20:13 +03:00
Alexander Medvednikov 70c9565607 array: fix map() return type and handle []bool 2019-10-26 14:49:36 +03:00
Alexander Medvednikov 4ef10c92f4 array: map() method 2019-10-26 14:28:11 +03:00
Simon Heuser 280c7d396c generics: generic methods, cast to T 2019-10-25 21:32:27 +03:00
Alexander Medvednikov c30f16a038 parser: add ; after a goto label 2019-10-25 18:53:45 +03:00
joe-conigliaro 7d418e9105 parser: cleanup & reuse 2019-10-25 16:34:12 +03:00
Alexander Medvednikov 4e21e9ed44 minor V.js fixes 2019-10-25 12:13:38 +03:00
Toby Webb c456ba6bde parser: fix incorrect unused var message 2019-10-25 10:27:43 +03:00
joe-conigliaro 4443fef6c3 compiler: add const to typo suggestions + small typo format update 2019-10-25 10:26:14 +03:00