Alexander Medvednikov
2411b8d1e7
module cache fixes; do not allow function names starting with _
2019-10-10 00:44:26 +03:00
joe-conigliaro
febd532c4a
parser: allow multi returns in high order fns
2019-10-09 20:55:36 +03:00
joe-conigliaro
236b34c009
parser: fix single decl/assign bug & update error msg
2019-10-09 20:54:52 +03:00
Alexander Medvednikov
b1da59845e
array: fix initialization of empty fixed size arrays
2019-10-09 15:26:30 +03:00
sunnylcw
2403abe1ee
compiler: Add C headers to avoid undefined symbol error in FreeBSD
2019-10-09 14:28:30 +03:00
joe-conigliaro
909d3eed0a
parser: allow all return types when fn used as param )
2019-10-09 14:27:23 +03:00
Alexander Medvednikov
80a6d78595
fix msvc build
2019-10-09 07:22:33 +03:00
Alexander Medvednikov
3f1d7e1260
fix msvc build
2019-10-09 07:15:42 +03:00
Alexander Medvednikov
d8622dd3e5
fix msvc build
2019-10-09 07:10:33 +03:00
Alexander Medvednikov
29f578d172
cc: bring back os.rm()
2019-10-09 07:02:45 +03:00
Alexander Medvednikov
a9a73d9315
caching modules: almost there
2019-10-09 06:35:58 +03:00
Delyan Angelov
dbd72ee828
v test: add ability to test a folder or a set of _test.v files
...
* v test: support for running 'v test folder/' .
* Support passing multiple folders and also single _test.v files to 'v test' .
* Update vhelp too, with descriptions of v test folder/ and v -stats .
* Fix running `v test v` from outside the root of the v tree.
2019-10-09 06:01:43 +03:00
Anders Busch
c620da9089
compiler: rename Tok/Token to Token/TokenKind
2019-10-09 01:05:34 +03:00
joe-conigliaro
89ea8a0275
parser: fix regression with blank identifier & decl assign
2019-10-08 19:26:07 +03:00
joe-conigliaro
b4bf12378e
fix newline being added when using print with int
2019-10-08 09:52:11 +03:00
vitalyster
0963328aed
windows: make redirected console detection available to other modules
2019-10-08 03:11:26 +03:00
Delyan Angelov
60d4f47f7a
improve crash diagnosis/detection when a test segfaults
2019-10-08 02:34:55 +03:00
joe-conigliaro
9defbf989d
compiler: improve module import error messages
2019-10-08 02:32:12 +03:00
joe-conigliaro
8fea5170be
compiler: multiple return - allow mut decl & disallow assignment with deceleration ( #2251 )
2019-10-07 21:19:44 +11:00
Delyan Angelov
ac5241b5bd
compiler: implement -stats option for running a _test.v file
...
* Draft implementation of `v -stats file_test.v` .
* compiler: call stuff in vlib/benchmark/tests/always_imported.v, when doing `v -stats file_test.v`
* Nicer looking output from 'v -stats file_test.v' .
* Tweak colors and layout of -stats file_test.v .
* Fix a hardcoded path in compiler/main.v .
* Show colorized OK/FAIL for the examples in 'v test v' too.
* Add some comments about the purpose of the methods inside vlib/benchmark/tests/always_imported.v .
* when fails are 0, do not colorize their number at all.
2019-10-07 08:51:26 +03:00
Alexander Medvednikov
f1923d454c
parser: make verbose mode less verbose
2019-10-07 01:25:53 +03:00
Henrixounez
30e7cd8ed5
repl: handle print and one-line conditions
2019-10-06 17:21:10 +03:00
Alexander Medvednikov
03bc5ab3d5
compiler: use the new optimized in
2019-10-06 16:56:22 +03:00
Alexey Lustin
aaf286ec5e
fix find vsdevcmd.bat in VS2019Preview
2019-10-06 16:27:50 +03:00
Delyan Angelov
cd5431575a
compiler: fix -obf regression (main__main)
2019-10-06 16:23:52 +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
6a0599b5f4
raw strings with r'raw'
2019-10-06 04:11:08 +03:00
Delyan Angelov
ebc50432c7
compiler: initializing fixed arrays with [1,2,3]
2019-10-06 03:07:02 +03:00
joe-conigliaro
22f162c3cd
parser: multiple returns, allow assignment as well as deceleration closes
2019-10-05 19:17:08 +03:00
Delyan Angelov
9a0a8e89fb
compiler: generate a v.c that is compatible with latest tcc
2019-10-05 15:46:13 +03:00
joe-conigliaro
72ae12877e
remvoe dupe in main & fix js string.builder ( #2233 )
2019-10-05 18:07:10 +10:00
joe-conigliaro
a62dec2053
compiler: remove unneeded field & manually add parser to v.parsers ( #2232 )
...
compiler: remove unneeded field & manually add parser to v.parsers (#2232 )
2019-10-05 16:52:50 +10:00
joe-conigliaro
24136ab88b
compiler: get existing parser using path
2019-10-05 07:10:28 +03:00
joe-conigliaro
549413b48b
compiler: no more mem error, so recycle import table struct
2019-10-04 16:12:16 +03:00
vitalyster
d2c5b6d964
msvc: generate PDB for prod builds
2019-10-04 16:09:45 +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
hazohelet
ac7824b669
parser: delete dead code
2019-10-03 07:06:40 +03:00
Alexander Medvednikov
745413331b
Revert "remove accidental duplicate code"
...
This reverts commit 7eaf289e33
.
2019-10-03 02:41:48 +03:00
Alexander Medvednikov
7eaf289e33
remove accidental duplicate code
2019-10-03 02:21:38 +03:00
Alexander Medvednikov
9d57599b33
vhelp.v: -shared
2019-10-03 02:02:06 +03:00
Delyan Angelov
fce4199412
compiler: let methods return voidptr without a segfault
2019-10-03 01:28:24 +03:00
Alexander Medvednikov
08fd62339e
scanner: fix string interpolation in " strings
2019-10-02 15:31:44 +03:00
Alexander Medvednikov
96c3f10a0e
1
2019-10-02 15:31:03 +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
hazohelet
f35f6083cd
add C default comparison operator macros for future bitwise comparisons
2019-10-01 21:21:05 +03:00
hazohelet
30ca149be7
table.v: fix typo
2019-10-01 18:08:10 +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
b7d1a175a8
compiler: print relative paths for user code
2019-10-01 15:39:19 +03:00
joe-conigliaro
9e7ee40477
compiler: fix expression in multiple return
2019-10-01 14:53:52 +03:00
joe-conigliaro
8fe0e88c05
parser: fix multi return with multiple blank identifiers
2019-10-01 14:49:15 +03:00
joe-conigliaro
282cd44cec
compiler: variadic fn - improve error, fix bug when only arg is varg
2019-10-01 14:48:19 +03:00
Delyan Angelov
f332e858d1
compiler: enhanced wording of obsolete import const error message
2019-10-01 14:43:26 +03:00
Alexander Medvednikov
841d824216
builtin: a very early version of the hashmap
2019-10-01 06:20:50 +03:00
Alexander Medvednikov
aaba7fdb29
download vlib if it is missing
2019-09-30 23:56:53 +03:00
Alexander Medvednikov
223032f0ce
V 0.1.21
2019-09-30 22:39:52 +03:00
Alexander Medvednikov
fa7e0ce58a
make `v test v` work in any directory
2019-09-30 21:58:02 +03:00
joe-conigliaro
7311db60a0
compiler: vargs - for loop support & indexing / dot fixes
2019-09-30 17:11:12 +03:00
joe-conigliaro
f7c8e923c0
compiler/lang: add variadic function args support
2019-09-30 13:46:50 +03:00
joe-conigliaro
5fb3c0e3a8
compiler: add error when embedding struct in itself
2019-09-30 13:41:11 +03:00
joe-conigliaro
a5b4ed2909
compiler: typo in module name erroneously reports "import cycle"
2019-09-30 13:40:19 +03:00
Delyan Angelov
e72fe25224
compiler: more precise 'declared and not used' error positioning
...
* compiler: extract and cleanup error handling functionality into its own file compiler/compile_errors.v
* compiler: implement p.error_with_token_index and p.warn_with_token_index and use them. Fix tests.
* tools/performance_compare: add a 'Source lines in compiler/' line
* MSVC does not have STDOUT_FILENO nor STDERR_FILENO ...
2019-09-29 20:37:39 +03:00
hazohelet
6d483c0a56
parser: float1 == float2 uses machine epsilon by default
2019-09-29 18:27:53 +03:00
hazohelet
21f9dc6b7c
cheaders: add DEFAULT_EQUAL for future float eqbit()
2019-09-29 17:39:38 +03:00
Alexander Medvednikov
83022a2478
fix pushing to mutable array args
2019-09-29 17:02:28 +03:00
Alexander Medvednikov
ee8ff39454
rename ModPath to v_modules_path; do not allow long variable names without _
2019-09-29 05:34:17 +03:00
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
Alexander Medvednikov
d482b1f824
struct capitalization: fix the rest of tests
2019-09-28 22:26:44 +03:00
Alexander Medvednikov
ed93185cb7
fix base64 test
2019-09-28 22:23:22 +03:00
Alexander Medvednikov
9eac16b976
parser: struct names must be capitalized
2019-09-28 22:20:34 +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
Delyan Angelov
0160c7a89d
compiler: change s.line_nr in just one place in tandem with s.last_nl_pos
...
* compiler: change s.line_nr in just one place, so that s.last_nl_pos will be updated in tandem too.
* v test v: run repl tests again
* Show gcc version in both windows gcc cases in a) github actions, and b) travis .
* adding inline to is_name_char is_nl and contains_capital does not help actually, just increases slightly binary size.
* Cleanup spurious spaces.
2019-09-28 20:41:11 +03:00
joe-conigliaro
ed3a4961d0
compiler: blank identifier for loops. dont declare any variables
2019-09-28 19:53:56 +03:00
Swastik Baranwal
7952d591b9
parser: Update Division or Modulo by Zero Message
2019-09-28 19:52:52 +03:00
Alexander Medvednikov
d59d921e84
disable the vget test for now
2019-09-28 15:18:48 +03:00
Alexander Medvednikov
e19b630ab1
disable the vget test for now
2019-09-28 15:00:51 +03:00
Alexander Medvednikov
0bfb88e2e6
fix the vget test
2019-09-28 14:58:24 +03:00
Alexander Medvednikov
dc28c787d1
travis: re-write the vget test in V
2019-09-28 14:40:09 +03:00
sunnylcw
4b03abdaff
compiler: enable FreeBSD's cflags for freetype & glfw
2019-09-28 14:18:04 +03:00
lutherwenxu
5c79c0e743
compiler: enforce reserved keywords replacement
...
* compiler: Enforce reserved keywords replacement on empty value initialization
* compiler: Add test for reserved keywords enforcement
A new struct has been introduced in the tests that contains all C reserved keywords that are not reserved in V. Some read and write are tested too.
2019-09-28 14:13:09 +03:00
joe-conigliaro
0fc9ada0aa
parser: use actual blank ident for consts
2019-09-28 13:59:54 +03:00
luoheng
5348c667cc
compiler/parser: fix single element in array error
2019-09-28 13:50:30 +03:00
joe-conigliaro
802da8f31d
compiler: clean up. remove new_parser_string_id ( #2140 )
...
* clean up
* fix comment
* fix comment
2019-09-28 04:56:05 +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
Alexander Medvednikov
dd58298500
compiler: fix interfaces after the recent tokens change
2019-09-27 21:01:08 +03:00
unknown-v
14a8d4ae3c
parser: replace "≠" with "!="
2019-09-27 18:55:30 +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
8cbfd7a9da
parser: partial interface fix
2019-09-27 06:03:54 +03:00
Alexander Medvednikov
8f9c0b621e
parser: fix columns in errors
2019-09-27 05:27:57 +03:00
Alexander Medvednikov
da43267e09
parser: cached tokens (second step)
2019-09-27 04:01:12 +03:00
Alexander Medvednikov
a45255337d
bring back "parser: cache tokens (first step)"
...
This reverts commit 0fcdd7db35
.
2019-09-27 04:00:48 +03:00
Alexander Medvednikov
367f8d6130
solaris: add -lm
2019-09-27 00:53:57 +03:00
Alexander Medvednikov
74bbf592d1
solaris: another fix
2019-09-27 00:30:41 +03:00
Alexander Medvednikov
107e9107c8
solaris support
2019-09-27 00:23:27 +03:00
vitalyster
9834ccfcd9
windows: Unicode and IPv6 http/sockets
...
cleanup schannel implementation (drop NT4.0 compatibility, use unicode strings, etc)
restore http tests
fix socket test: it did not throw before
2019-09-26 22:54:15 +03:00
Delyan Angelov
22d91148ca
compiler: passing -g3 adds mode debug info
2019-09-26 21:58:08 +03:00
joe-conigliaro
157ef46d5a
parser: fix a few things in with blank ident
2019-09-26 14:09:59 +03:00
Alexander Medvednikov
0fcdd7db35
Revert "parser: cache tokens (first step)"
...
This reverts commit 8992707fbb
.
2019-09-26 06:05:18 +03:00