Commit Graph

55 Commits (772c0c3f931e23df7a0d51bbbc6923cbde3129a7)

Author SHA1 Message Date
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 ae0e3efb8e scanner: experimental ≠ etc support 2019-08-09 09:32:51 +02:00
Alexander Medvednikov 34e0b164eb make function arguments immutable by default 2019-08-07 08:59:00 +02:00
Henrixounez 347e59d604 compiler: fix scanner overflowing string on numbers without newline 2019-08-06 11:50:09 +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
Alvydas Vitkauskas 69084b0c57 change error printing format 2019-08-02 23:26:23 +02:00
Alexander Medvednikov 207bab5f79 generics, vweb, comptime codegen, etc 2019-07-29 18:24:48 +02:00
Emily Hudson 90bb48db5d interactive debugging 2019-07-26 16:45:16 +02:00
Delyan Angelov 61fea2d82a #! support on Unix systems 2019-07-25 12:27:59 +02:00
Alexander Medvednikov c28a490c17 @ for escaping keywords 2019-07-24 02:28:29 +02:00
d2verb 88758082d2 scanner.v: refactoring 2019-07-24 00:06:48 +02:00
Alexander Medvednikov 390394b56b string: make substr() copy the data, like in Java and C#; remove .cstr()
this makes managing memory used by strings much easier
V strings are now fully compatible with C strings
2019-07-22 17:03:45 +02:00
Alexander Medvednikov c35adbea91 vfmt fixes 2019-07-17 21:00:39 +02:00
Alexander Medvednikov a9463a180d new match statement 2019-07-17 02:41:08 +02:00
Igor Pershikov 3f506714ec Fix bug with BOM 2019-07-17 00:05:04 +02:00
Alexander Medvednikov f7dbbf5810 re-write map.v and update the compiler 2019-07-14 22:08:17 +02:00
joe-conigliaro 9a957ccc18 module aliasing & file import scope 2019-07-12 07:37:54 +02:00
Alexander Medvednikov 28843a12c7 cache string.hash() 2019-07-10 10:00:12 +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 68b7ae26b3 fix tests 2019-07-05 22:12:06 +02:00
Alexander Medvednikov 8d407cec90 another Windows \r\n bug fix 2019-07-05 22:07:44 +02:00
marco 155e1fa961 FIX #202
allow interface method with empty (void) return type

-> only look for type declaration if no new line has been
   while skipping whitespace
2019-07-04 01:04:10 +02:00
Alexander Medvednikov 5d4d3b838b StringsBuilder => strings.Builder; strings.repeat() 2019-07-03 22:18:46 +02:00
Alexander Medvednikov dec0d961f5 os: clean up file functions, use optionals 2019-07-03 21:37:12 +02:00
Alexander Medvednikov d9753ee2c6 lots of vfmt fixes 2019-07-03 16:37:21 +02:00
yep84 b57d227aa0 Allow to parse uppercase hex number 2019-07-02 15:03:01 +02:00
jiro4989 30633ff14f Fix "Nested comments won't compile" (#908) 2019-07-02 02:19:15 +02:00
d2verb e27a3b65f1 Fix #898 2019-07-01 20:56:31 +02:00
Alexander Medvednikov b0c844415d time.ticks() on Linux/macOS 2019-06-30 14:48:13 +02:00
Alexander Medvednikov 18525922fd Windows fixes 2019-06-29 21:26:39 +02:00
Alexander Medvednikov 249fa95eab Revert 'compiler: allow mut passed as argument to be modified'. This broke 2019-06-29 11:42:47 +02:00
Henrixounez 165dfe5fe0 compiler: allow mut passed as argument to be modified 2019-06-28 20:15:49 +02:00
Henrixounez 748c45203d compiler: add EOF checks in scanner to prevent panic exits
swap s.text[s.pos + 1] to nextc
2019-06-28 17:14:47 +02:00
Henrixounez 0026b228c3 scanner: fix on single letter variable declaration on first line 2019-06-28 16:22:23 +02:00
Alexander Medvednikov 42bb85197a force `mut a := ...`, do not allow `mut a = ...` 2019-06-28 15:04:41 +02:00
Henrixounez c83ebe2c66 compiler & builtin: bitshifts CAO fix and C code removal in utf8
utf8: removed bitshift cao in code

utf8: added pub on functions

utf8: byteptr to voidptr

utf8: converts voidptr to byteptr
2019-06-27 15:10:28 +02:00
Alexander Medvednikov b61d2ac346 Revert "compiler & builtin: bitshifts CAO fix and C code removal in utf8"
This reverts commit 223c35ffb9.
2019-06-27 12:06:32 +02:00
Henrixounez 223c35ffb9 compiler & builtin: bitshifts CAO fix and C code removal in utf8 2019-06-27 12:01:48 +02:00
Alexander Medvednikov 7e641cd5ba structure printing: minor fixes 2019-06-27 01:55:37 +02:00
Henrixounez 40df91fc08 compiler: added structure printing capabilities 2019-06-27 01:47:45 +02:00
Henrixounez c1400f725f parsing: fixed compound assignment operator bug on for loops 2019-06-26 22:21:54 +02:00
Alexander Medvednikov fa51b24a60 remove @ token 2019-06-26 17:45:54 +02:00
drswinghead 4812f92845 avoid literal number #651 2019-06-26 14:46:52 +02:00
Alexander Medvednikov 8417fec5dc os.read_file(): replace C code with V, return `?string`, handle errors
everywhere
2019-06-26 11:04:05 +02:00
Alexander Medvednikov f3f24b25bb remove old types and 2019-06-25 22:19:17 +02:00
Henrixounez 663cbadf60 quick fix for compound assignment operators
a better fix would be to change lot of things inside parser
2019-06-25 15:41:04 +02:00
Alexander Medvednikov 06a4dfa290 replace silly `exit(reason string)` with `exit(code int)` 2019-06-23 10:14:37 +02:00