Alexander Medvednikov
81f8b26127
os.path_separator
2019-10-12 22:18:19 +03:00
Simon Heuser
6860501994
parser: enable deferred stms for void and optional functions
2019-10-12 22:01:50 +03:00
Delyan Angelov
065ce39577
compiler: -g and -debug should always add -g at least in the C compiler by default
...
* compiler: -g and -debug should always add -g at least in the C compiler by default.
* Set first the C backend debug_options, so that the optimization_options can override them later.
* Implement cleaner named is_debug, is_vlines, is_keep_c and is_cache options (i.e. -g/-cg, -keep_c, -cache v flags).
* Check and reset file/line numbers in the generated main program, only if v.pref.is_vlines is true.
2019-10-12 13:54:01 +03:00
Toby Webb
acbca7584b
parser: fix multiline strings with CRLF endings for Linux
2019-10-12 04:48:26 +03:00
Alexander Medvednikov
4c91a5c94b
module caching: generate type aliases
2019-10-12 04:09:37 +03:00
joe-conigliaro
9faefe85e1
compiler: cached module - cleanup, remove unneeded code ( #2297 )
...
* test
* only call existing module init
* add back comment
2019-10-12 11:38:56 +11:00
joe-conigliaro
51388fea75
compiler: module init function & init consts for cached modules
2019-10-12 01:17:37 +03:00
Delyan Angelov
2b087dbf95
backtraces: add source line numbers too on linux
...
* Add source line numbers to backtraces on linux.
* Fix -g (broken after token caching).
* reset the #line directives after all the v code is compiled
* cleanup p.cgen.line setting inside p.next() .
* Support windows filepaths like "C:\Users\travis\build\vlang\v\v.exe.tmp.c" inside generated #line directives.
* Try to diagnose better windows-gcc failing.
* Revert "Try to diagnose better windows-gcc failing."
* implement and use cescaped_path/1 .
* Use cescaped_path/1 consistently throughout compiler/ .
2019-10-12 00:04:42 +03:00
Alexander Medvednikov
52c2fa44b8
runtime: nr_cpus()
2019-10-11 13:47:56 +03:00
Alexander Medvednikov
25ef0ee593
parser: remove an unnecessary line
2019-10-11 03:00:06 +03:00
Alexander Medvednikov
e1dd4c19b5
compiler: cache modules if they are not built yet
2019-10-10 22:53:59 +03:00
vitalyster
a5ccc4673b
http: handle and print socket errors
2019-10-10 20:24:36 +03:00
Alexander Medvednikov
4d941b5fdb
make V compile itself using cached modules: ~0.3s speed-up
2019-10-10 03:36:27 +03:00
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
joe-conigliaro
909d3eed0a
parser: allow all return types when fn used as param )
2019-10-09 14:27:23 +03:00
Alexander Medvednikov
a9a73d9315
caching modules: almost there
2019-10-09 06:35:58 +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
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
Alexander Medvednikov
03bc5ab3d5
compiler: use the new optimized in
2019-10-06 16:56:22 +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
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
Alexander Medvednikov
52f4f4026b
compiler: cache modules
2019-10-04 15:48:09 +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
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
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
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
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
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