Commit Graph

762 Commits (5d976d841b49a3bee018649b295b44e574b69b3c)

Author SHA1 Message Date
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
Alexander Medvednikov 848cd3cb3e run vfmt on http, net, sync, strconv 2019-12-22 01:57:50 +03:00
れもん 28ecfb231d compiler: map[string]pointer, ?pointer, fix []pointer 2019-12-22 01:44:16 +03:00
Alexander Medvednikov b76227b781 small vfmt fixes 2019-12-22 01:39:04 +03:00
Alexander Medvednikov 749d3ec14d do not define __offsetof twice 2019-12-22 01:39:04 +03:00
Alexander Medvednikov ef28a6b872 final vfmt run before CI check 2019-12-22 00:58:57 +03:00
Alexander Medvednikov 2b9392c46c move hashmap to its own module for now 2019-12-22 00:54:25 +03:00
Emily Hudson 8512c9fc9d compiler: __offsetof keyword for C offsetof() macro 2019-12-22 00:46:09 +03:00
Alexander Medvednikov 31b7991a93 negative enum vals + `[10]C.Foo` fix 2019-12-22 00:17:13 +03:00
joe-conigliaro 6763a92834 fix multiple type parameters 2019-12-21 09:54:43 +03:00
joe-conigliaro f7c1b78ec2 clean up generic structs 2019-12-21 05:33:59 +03:00
Alexander Medvednikov 61bfecfa09 vweb: minor fixes 2019-12-21 05:19:26 +03:00
joe-conigliaro fbd9fedbfb implement generic structs 2019-12-21 03:53:57 +03:00