1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

774 Commits

Author SHA1 Message Date
SleepyRoy
d91945cc99
parser: some pure logic code simplifications 2020-02-19 19:43:57 +01:00
joe-conigliaro
b62a90a212 v2: module/import fixes, use parent_idx instead of parent ptr to remove need to preallocate types array 2020-02-19 13:09:35 +11:00
SleepyRoy
aaf3ced750
parser: add type check for +=, -=, *=, /= 2020-02-18 22:14:52 +01:00
Alexander Medvednikov
31c1483b9d vfmt2: fn args, comments 2020-02-18 20:20:15 +01:00
Alexander Medvednikov
4e9bfa95ec v2: the new parser can now parse the entire V compiler 2020-02-18 17:45:59 +01:00
Alexander Medvednikov
4de8d3ae8c parser: short struct syntax for all structs 2020-02-18 16:25:09 +01:00
yuyi
392eb1fb55
fix vlib/compiler/aparser.v (#3764) 2020-02-18 18:45:04 +11:00
Alexander Medvednikov
ed01ab763c v2/vfmt2: more fixes 2020-02-18 03:28:41 +01:00
yuyi
6849a4e770
filepath: path separator (#3756) 2020-02-17 20:31:23 +01:00
Alexander Medvednikov
53f8ae6517 fix prod build 2020-02-17 14:30:01 +01:00
Alexander Medvednikov
1dd6491a2f v2: more parser fixes 2020-02-17 14:15:49 +01:00
penguindark
80861f2219
scanner: exponent without sign 2020-02-17 02:35:01 +01:00
Delyan Angelov
195f3f465b
option to disable bounds checking; examples/path_tracing.v: optimizations 2020-02-16 16:13:45 +01:00
Alexander Medvednikov
d9cf98f772 v2: imports 2020-02-12 01:16:38 +01:00
radare
7dc040b01c fix -prod on OpenBSD 2020-02-10 08:57:35 +01:00
Delyan Angelov
f76651604d
compiler: bugfix for raw'"' 2020-02-09 16:29:05 +01:00
joe-conigliaro
94537c5901
compiler: scope type alias to module 2020-02-09 15:40:31 +01:00
lutherwenxu
9332a83ce6
move v.v to cmd/v 2020-02-09 10:08:04 +01:00
joe-conigliaro
7583c350b8
compiler/math.bits: use max u64 consts 2020-02-09 09:25:27 +01:00
Delyan Angelov
a02e1e0af2
compiler: more actionable error message, when fn main is missing 2020-02-08 17:00:13 +01:00
Alexander Medvednikov
d66bc24e7f remove as casts for basic types 2020-02-07 22:10:48 +01:00
Alexander Medvednikov
c8dcbcb649 parser: allow as in consts 2020-02-07 14:53:07 +01:00
Alexander Medvednikov
9034b1fd08 v2: match cgen; use as for casting 2020-02-07 14:50:52 +01:00
Alexander Medvednikov
f241945d70 v2: as cast 2020-02-07 09:19:45 +01:00
Delyan Angelov
2ce6b190dd
@VMODULE relative paths in #flag lines 2020-02-06 17:38:35 +01:00
Nicolas Sauzede
9d4c943d64
compiler: add very simple nameof token to get type name as string 2020-02-05 06:12:33 +01:00
Alexander Medvednikov
83f0c228e9 v2: parse builtin.v, cfns.v float.v 2020-02-04 09:54:15 +01:00
joe-conigliaro
21b6dace8f
v2: remove duplication & slight cleanup. share prefs with v1 2020-02-03 12:09:17 +01:00
Alexander Medvednikov
e5f5117a7e fix prod build 2020-02-03 11:17:12 +01:00
Alexander Medvednikov
50b704c5dd sum type: mut 2020-02-03 09:25:26 +01:00
Alexander Medvednikov
34e9eb32bb sum types: allow modification in match 2020-02-03 09:11:10 +01:00
joe-conigliaro
2d5c70832c
v2: initial module support 2020-02-03 07:31:54 +01:00
joe-conigliaro
7f709c3285
update copyright years 2020-02-03 05:00:36 +01:00
Alexander Medvednikov
9f4661391d v2: simplify the type system; an initial version of the V interpreter 2020-02-02 07:56:18 +01:00
joe-conigliaro
554d1dd7c6
compiler: make optionals work with multi return 2020-02-02 02:53:23 +01:00
prime31
f0efb42a30
cc: add file style selector to clang-format 2020-02-02 02:51:27 +01:00
joe-conigliaro
05374e162e
compiler: attribute test - fix typo in function name 2020-02-01 18:59:34 +11:00
Delyan Angelov
696926a557
compiler: add support for -pretty_c option 2020-02-01 06:37:22 +01:00
radare
bf9eefa694
parser: resolve optional enum type 2020-01-31 16:00:31 +01:00
Alexander Medvednikov
5f76bd04f9 V 0.1.25 2020-01-31 15:31:15 +01:00
joe-conigliaro
80d936adc1
fix attributes on public structs & enums 2020-01-30 01:27:13 +01:00
Delyan Angelov
cce0b2425e compiler: prevent vars named 'char' to cause a C error 2020-01-27 20:26:07 +01:00
Mike Redko
11aa5343b2 update copyright year in asm.v 2020-01-26 23:33:47 +01:00
Alexander Medvednikov
222fc4b04f parser: no struct fields warnings in C struct initializations 2020-01-25 07:15:49 +01:00
joe-conigliaro
71b50ae7fd fix empty config struct with msvc 2020-01-25 02:11:07 +01:00
Alexander Medvednikov
f55646746c handle empty config structs 2020-01-24 18:57:32 +01:00
nsauk
dd61a22367 compiler: remove --lzma option from upx call 2020-01-23 22:06:49 +01:00
Delyan Angelov
7b18e5d198 compiler: add 'use -- instead of -= 1' 2020-01-23 21:09:47 +01:00
joe-conigliaro
6d6b2fdda8 compiler: fix depgraph. will also make it work with new b-tree map 2020-01-23 21:08:17 +01:00
joe-conigliaro
20f6cdc53a compiler: fix module alias resolution 2020-01-23 21:07:53 +01:00
Henrixounez
f3f50349b2 compiler: fix check restricted names in for..in statement 2020-01-23 21:06:57 +01:00
Shun Sakai
c8c43a2475 update copyright year 2020-01-23 21:04:46 +01:00
penguindark
da9b6394e8 0bxxxx binary literal support; _ in literals (1_000_000) 2020-01-23 03:28:25 +01:00
Alexander Medvednikov
59b3fc75d0 tmp fix generic test 2020-01-22 21:30:35 +01:00
Alexander Medvednikov
0502a54a36 new gg/freetype modules with sokol/fontstash backends 2020-01-22 20:54:36 +01:00
Jeremy Andrews
dd5751df0c v test v has been deprecated 2020-01-21 18:48:32 +01:00
Delyan Angelov
f4834bd85d compiler: fix stuck parsing of 'enum{}' + handle such bugs 2020-01-21 18:47:52 +01:00
d2verb
5deb29a7c9 compiler: update cheaders.v for NetBSD support 2020-01-21 16:55:07 +01:00
Delyan Angelov
d92291dd76 repl: execute REPL tests ~1.5x to 2x faster 2020-01-20 23:04:26 +01:00
Delyan Angelov
64a9f43405 Make REPL tests parallel too 2020-01-20 17:06:36 +01:00
Alexander Medvednikov
b1602c72ad v2: a simple fix 2020-01-19 02:44:18 +01:00
joe-conigliaro
09d1eb7c55 v2: type checker + lots of other changes 2020-01-18 23:26:14 +01:00
Alexander Medvednikov
3d57d3bb7b cc.v: fix C error message part 2 2020-01-17 19:44:03 +01:00
Alexander Medvednikov
2cd24ea722 cc.v: fix C error message 2020-01-17 19:30:45 +01:00
vitalyster
436603aa44 compiler: show last 200 lines in partial output 2020-01-17 14:09:37 +01:00
Delyan Angelov
ddc04979a4 deprecate v runrepl in favour of v repl 2020-01-17 14:09:26 +01:00
Alexander Medvednikov
e1132156f5 make sqlite.DB public; make string.left/right private 2020-01-16 18:41:38 +01:00
Alexander Medvednikov
756c6d2858 freetype: fix align.right rendering 2020-01-16 17:03:34 +01:00
Delyan Angelov
57f72f6cd8 compiler: support optional custom comptime defines: $if custom ? { 2020-01-16 15:28:23 +01:00
Mateo Pidal
502ee8a56c android symlink fix 2020-01-15 19:40:03 +01:00
Delyan Angelov
4838dda59a compiler: make [live] fn unlock its mutex on early return 2020-01-14 18:58:46 +01:00
Alexander Medvednikov
6b3f54692a allow short struct initialization with Config structs 2020-01-14 15:34:47 +01:00
Alexander Medvednikov
0b235cc893 temporary nil fn check 2020-01-14 13:15:09 +01:00
Mateo Pidal
e87e5e33a7 fix symlink for Termux on Android 2020-01-14 01:34:30 +01:00
Alexander Medvednikov
4c55d3677d ui: skip initialization warning for now 2020-01-13 13:40:50 +01:00
Alexander Medvednikov
6733b12ec3 android: use __ANDROID__ 2020-01-13 00:20:16 +01:00
Alexander Medvednikov
4c7df98ac9 make private struct warning an error 2020-01-12 19:59:57 +01:00
Alexander Medvednikov
b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
Delyan Angelov
ba699d8b4f compiler: fix error in case of void function used as a value 2020-01-12 01:46:25 +01:00
Swastik Baranwal
e3db628d0c parser: add checks for if statement 2020-01-11 13:21:35 +01:00
Delyan Angelov
06f581e146 vfmt: support for vid like projects having many module main .v files 2020-01-10 23:33:35 +01:00
Swastik Baranwal
5537b09492 parser: add check for string casting 2020-01-10 19:59:15 +01:00
vitalyster
66a6fa163e windows: read console using ReadFile/ReadConsole (#3387) 2020-01-10 14:06:40 +01:00
Alexander Medvednikov
29564ed63d interface fix 2020-01-09 01:40:10 +01:00
Delyan Angelov
0d93eeb3fe compiler: move prelude files to tools/preludes/ 2020-01-08 17:57:41 +01:00
Contextualist
2a98cacecd tools: distinguish complier args and tool args 2020-01-08 17:15:05 +01:00
Alexander Medvednikov
3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
Alexander Medvednikov
9861b24bc3 struct field check + enable v2 again 2020-01-07 16:09:20 +01:00
joe-conigliaro
2ab7b40f2f v: clean up enum vals; make array_init return array 2020-01-07 15:46:57 +01:00
Delyan Angelov
fb0817277f compiler: force .exe extension, when compiling on windows 2020-01-07 15:42:14 +01:00
Delyan Angelov
6d30697d9b time: move time.random() to time.misc module
avoids importing rand to programs that do not need pseudo random generation).
2020-01-07 12:58:24 +01:00
Shivanjan Chakravorty
a0c8ad7398 post increment/decrement repl fix 2020-01-07 12:26:49 +01:00
Alexander Medvednikov
1e28c1d4fd clean up the parser a bit; run vfmt; add x64 to ci 2020-01-06 23:15:37 +01:00
Alexander Medvednikov
b815878d60
simplify and improve pratt 2020-01-06 16:13:12 +01:00
Alexander Medvednikov
126289c19b make the unchanged mutable variable error a warning in non-prod builds 2020-01-06 00:28:29 +01:00
Delyan Angelov
8053175ead android: fix os.create and builtin 2020-01-05 20:13:35 +01:00
Delyan Angelov
c24a1b3786 compiler: fix unused import warnings 2020-01-05 16:29:33 +01:00
Ricardo Tomasi
868d6c808b compiler: avoid redeclaration of var during reassignment with optional value 2020-01-05 11:53:40 +01:00
Delyan Angelov
778a1cc34a make g_str_buf a static buffer of size 1K (#3321) 2020-01-04 17:53:37 +01:00
Alexander Medvednikov
7bc5cfc53a fix windows test 2020-01-04 00:24:30 +01:00
Alexander Medvednikov
3344111a03 minor fixes and cleaning up 2020-01-04 00:06:06 +01:00
joe-conigliaro
43895269ff compiler: implement direct cast for sum type 2020-01-03 14:42:48 +01:00
Alexander Medvednikov
520ec0f53a fix cgen_test 2020-01-03 11:41:39 +01:00
Alexander Medvednikov
7c47f345be mingw on macos 2020-01-03 11:38:30 +01:00
Alexander Medvednikov
492dfebd15 SelectorExpr; receivers; struct field check; if expression 2020-01-02 20:09:23 +01:00
Alexander Medvednikov
460b35137a handle unknown fns; fn.v; type fixes 2020-01-02 08:30:15 +01:00
Alexander Medvednikov
e7e07be38c handle unknown functions; fix var types 2020-01-01 23:15:20 +01:00
Alexander Medvednikov
b1d6021875 x64 fixes 2020-01-01 22:34:46 +01:00
Alexander Medvednikov
807c16dd1b uiold fixes 2020-01-01 13:27:21 +01:00
Alexander Medvednikov
4794598d06 if x := opt() {} else {} 2020-01-01 10:31:50 +01:00
Alexander Medvednikov
87cff0386c time: gmt offset; macos syscalls 2020-01-01 10:09:19 +01:00
Alexander Medvednikov
c75cb86203 0.1.24 2019-12-31 20:49:11 +01:00
Alexander Medvednikov
4d31d5882d x64, v2 backends 2019-12-31 19:42:16 +01:00
Delyan Angelov
222f2f08f6 vfmt: fix formatting of 'import mod as alias' 2019-12-31 19:26:44 +01:00
Alexander Medvednikov
da5fb5dcbd Revert "x64, v2 backends"
This reverts commit 81ae54d9bd.
2019-12-31 13:23:12 +01:00
Alexander Medvednikov
81ae54d9bd x64, v2 backends 2019-12-31 13:21:22 +01:00
Alexander Medvednikov
093a025ebf parse_files(); ast.File 2019-12-30 16:55:59 +01:00
Delyan Angelov
d2f2ac523f flag: fix displaying of both abbreviated and long options
Add tests for the usage screen
2019-12-30 16:38:32 +01:00
Delyan Angelov
25beb7b3f4 in errors, print array_ instead of [] in function names 2019-12-30 10:48:08 +01:00
Alexander Medvednikov
cba6a6fdea as casting 2019-12-30 10:47:34 +01:00
Alexander Medvednikov
2d2e0307b8 fn call; if expression; bool literals; 100k line program gen
fix

yay

lovely
2019-12-30 05:57:36 +01:00
Delyan Angelov
a0f32f5c29 tests: improved test output formatting 2019-12-30 05:23:54 +01:00
Johan Hillerström
2d5f5a0c25 remove debug printing of sum types 2019-12-30 05:21:46 +01:00
Alexander Medvednikov
b5fe40624c staments + a sum type fix 2019-12-28 18:53:08 +01:00
Delyan Angelov
68e1d8e8eb net.ftp: make ftp's tests just compile (not run) on CI 2019-12-28 13:55:53 +01:00
Alexander Medvednikov
59c784ae57 fix cgen_test.v 2019-12-28 12:06:53 +01:00
Alexander Medvednikov
379c79025b run vfmt on v/ 2019-12-28 10:38:29 +01:00
Delyan Angelov
72acbad3f0 v help: document -verbose flag 2019-12-28 09:41:21 +01:00
joe-conigliaro
a214778b74 fix bug with sum type 2019-12-28 08:48:55 +01:00
vitalyster
2f23ee4818 windows: cleanup after bootstrapping with unicode entrypoint 2019-12-27 19:07:31 +01:00
Alexander Medvednikov
66a07d7fe0 FnDecl, Return, statement block 2019-12-27 18:39:19 +01:00
Delyan Angelov
6c16bac908 vfmt: it can now be used for _platform.v files too, no matter the host os 2019-12-27 17:59:04 +01:00
Alexander Medvednikov
4da21d80e3 fix () warning 2019-12-27 10:16:00 +01:00
Alexander Medvednikov
fc5f4ff326 make types.check public 2019-12-27 10:12:40 +01:00
vitalyster
3f0f8bac49 windows: do not link gdi32/shell32 to console applications
* read os.args from argv when we have console
* dynamically load CommandLineToArgvW when we are GUI app
* link gdi32/shell32 in glfw module
2019-12-27 11:27:19 +03:00
Alexander Medvednikov
e20ca28d5c fix v prod build 2019-12-27 07:04:41 +03:00
Alexander Medvednikov
0a3adb5de8 ast: return types, variable declaration 2019-12-27 07:01:22 +03:00
BigBlack
320174bd5b fix #3202 2019-12-27 06:09:09 +03:00
Alexander Medvednikov
9b37fc7310 clean up parser_test.v 2019-12-26 13:05:06 +03:00
Alexander Medvednikov
8d9f89e728 compiler2: proof of concept cgen 2019-12-26 07:47:33 +03:00
Delyan Angelov
ae4c8af674 fmt: fixes for option syntax formatting 2019-12-25 16:08:52 +03:00
Alexander Medvednikov
ca284482cb new AST built with sum types 2019-12-24 16:04:49 +03:00
Alexander Medvednikov
803ded3dec sum type type Foo = Bar | Baz 2019-12-24 16:04:49 +03:00
Delyan Angelov
96fa15c125 v fmt: process .v files from a module too 2019-12-24 05:43:31 +03:00
Alexey
dced76d1a4 os, filepath: reorganize functions 2019-12-23 13:09:22 +03:00
Delyan Angelov
6e130cd446 compiler: support for custom flags
[if custom]fn..{} , #flag custom, $if custom {}
2019-12-23 13:09:00 +03:00
Delyan Angelov
42b1660c7e move vfmt frontend program to tools/vfmt.v 2019-12-23 13:02:50 +03:00
Alexander Medvednikov
28594a65a8 fix enum bitfield 2019-12-23 07:05:52 +03:00
Alexander Medvednikov
7ab993c218 sum types 2019-12-23 06:14:31 +03:00
Alexander Medvednikov
a251db068f run vfmt on math and sha; add vfmt check to test-compiler 2019-12-22 02:50:20 +03:00