Delyan Angelov
8b8cd13929
parser: add some infrastructure for more specific errors
...
* compiler: change s.line_nr in just one place, so that s.last_nl_pos will be updated in tandem too.
* Cleanup spurious spaces.
* Store ScannerPos info inside the cached tokens.
Use the stored information when errors are encountered.
* Fix #2079 ( cannot use type...in assignment ).
* do not store scannerpos per each token, instead rescan the source once on error to get the position.
* compiler: implement highlighting for errors. Use only line/col info stored in the cached tokens.
* fixing building on windows
* Split can_show_color to _nix and _win files.
2019-09-29 04:33:23 +03:00
Alexander Medvednikov
a52662fca0
do not allow duplicate methods; fix os_win.v; minor fixes and docs
2019-09-29 04:13:32 +03:00
Delyan Angelov
a4cbe78d97
compiler: streamline main function handling
...
* compiler: streamline C main function generation
* fix most tests
* compiler: fix for 'go update()' in graph.v . More precise parser error messages.
* Fix temporarily examples/hot_reload/message.v by using os inside it (os.clear).
* Make graph.v easier to quickly modify by defining y outside the loop.
* Fix failure of /v/nv/compiler/tests/defer_test.v when run with 'v -g' (#line directive was not on its own line, but right after } ).
* Do not pass the os.args to tests, even if the tests import os (they are more stable when run in a controlled environment).
* fix declared and not used in the js backend.
* fix js main => main__main too.
2019-09-28 20:42:29 +03:00
joe-conigliaro
ed3a4961d0
compiler: blank identifier for loops. dont declare any variables
2019-09-28 19:53:56 +03:00
Alexander Medvednikov
1821dac795
compiler: remove old generics hack; disable generics and repl tests for
...
now
2019-09-28 02:29:04 +03:00
joe-conigliaro
ad99b82930
compiler: make vgen use strings.Builder & allow parser creation from string
2019-09-27 14:02:01 +03:00
Alexander Medvednikov
da43267e09
parser: cached tokens (second step)
2019-09-27 04:01:12 +03:00
Alexander Medvednikov
04e4018228
compiler: small fixes + some logic for freeing strings
2019-09-26 03:24:58 +03:00
joe-conigliaro
8974aa4513
compiler/vlib: change `_ :=` to `_ =` and disable `_ :=`
2019-09-25 15:10:45 +03:00
Alexander Medvednikov
55d09d23b4
compiler: rename cerror() to verror(); some small optimizations
2019-09-24 19:38:04 +03:00
joe-conigliaro
3317d7fd7c
compiler: clean up multiple returns and verify number of returned values
2019-09-24 13:14:04 +03:00
joe-conigliaro
a44a03f9a5
compiler: fix mark_var_used()
2019-09-24 06:18:06 +03:00
Alexander Medvednikov
f27f3515ae
compiler: optimize mark_var_used() etc
2019-09-23 23:06:40 +03:00
Alexander Medvednikov
8d52d877fb
compiler: free local_vars
2019-09-23 22:16:52 +03:00
Alexander Medvednikov
bf1ee28194
ui: Objective-C @interface support for Cocoa; minor clean-ups
2019-09-23 15:54:17 +03:00
joe-conigliaro
23c84516e2
compiler: error on unused imports
2019-09-23 13:42:20 +03:00
joe-conigliaro
23e30962b9
compiler: multiple returns - add test & fix use with array/map
2019-09-23 13:39:35 +03:00
joe-conigliaro
60d932e57d
compiler: functions with multiple returns
2019-09-23 05:45:19 +03:00
joe-conigliaro
b1e1536d56
compiler: fix live reload on win with auto completed filename `.\file.v`
2019-09-21 17:08:48 +03:00
Henrixounez
ffcff9ebd4
builtins: ustring comparisons, concatenation and other functions
2019-09-20 19:07:38 +03:00
Delyan Angelov
f042dfb861
compiler: fix line numbers in unused variable error messages
2019-09-20 13:42:37 +03:00
joe-conigliaro
f657d70a67
typo detection: only check fn variables in same or higher scope
2019-09-20 12:23:42 +03:00
Alexander Medvednikov
9a7fface7d
make the unused variable error a warning in non-production builds
2019-09-19 19:50:43 +03:00
Alexander Medvednikov
a94c1556ce
array: remove temporary repeat2()
2019-09-19 05:22:24 +03:00
Alexander Medvednikov
13e4c79f58
table: use optional in find_method()
2019-09-19 04:56:22 +03:00
Alexander Medvednikov
040d03912b
table: use an optional for find_fn()
2019-09-18 15:06:34 +03:00
Alexander Medvednikov
d1500511e6
"none" keyword for optionals + more memory fixes
2019-09-18 14:15:10 +03:00
Alexander Medvednikov
1397d532c6
compiler: check if mutable receivers are modified
2019-09-17 13:10:43 +03:00
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