Commit Graph

779 Commits (64349b5006dbe6c6815863e0130ea2c654b7905c)

Author SHA1 Message Date
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