yuyi
adb1d3f8c9
scanner: enable 0oxx to handle octals
2020-02-23 12:33:07 +01:00
Alexander Medvednikov
e56bf42270
v2: xor, for x = ...
2020-02-20 21:28:08 +01:00
Alexey
c85ccad0a6
string: update check if a char is a space
2020-02-20 20:14:54 +01:00
Alexey
e4de1e1e89
string: add more test cases
2020-02-20 20:14:21 +01:00
Alexander Medvednikov
7705281459
map: use hashmap instead of b-tree
2020-02-20 20:05:06 +01:00
Alexander Medvednikov
f413b2fa49
Revert "map: use hashmap instead of b-tree"
...
This reverts commit 34d926350b
.
2020-02-20 17:58:17 +01:00
ka-weihe
34d926350b
map: use hashmap instead of b-tree
2020-02-20 17:28:20 +01:00
yuyi
8be07194c7
string: fix capitalize
2020-02-20 11:33:38 +01:00
Alexander Medvednikov
ec3d67c19f
checker: print multiple errors; none
2020-02-19 19:54:42 +01:00
yuyi
391da0ba07
string: optimize starts_with and ends_with
2020-02-19 15:18:09 +01:00
Alexander Medvednikov
082acfad49
v2: fix more ast positions
2020-02-19 11:31:33 +01:00
Alexander Medvednikov
19520ccf4e
v2: for in checker
2020-02-18 21:59:42 +01:00
Alexander Medvednikov
c314ab7b60
fix cmdline_test.v
2020-02-18 20:31:15 +01:00
Alexander Medvednikov
31c1483b9d
vfmt2: fn args, comments
2020-02-18 20:20:15 +01:00
Alexander Medvednikov
480af3f381
v2: checker fixes
2020-02-18 20:06:01 +01:00
prime31
a2838ae6f3
array: add array.trim()
2020-02-17 20:31:40 +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
Alexander Medvednikov
0ec5680156
array: bring back reduce test
2020-02-11 13:22:22 +01:00
Alexander Medvednikov
17212f816c
v2: high order functions
2020-02-11 13:21:41 +01:00
joe-conigliaro
e274c5c485
v2: type sys - store type idx/ptr in int & add helpers
2020-02-10 08:32:08 +01:00
Delyan Angelov
f76651604d
compiler: bugfix for raw'"'
2020-02-09 16:29:05 +01:00
Alexey
1eeee40278
string: split into lines correctly
2020-02-09 09:23:57 +01:00
Alexander Medvednikov
18c440c990
fix int_test.v
2020-02-07 22:16:14 +01:00
Alexander Medvednikov
d66bc24e7f
remove as
casts for basic types
2020-02-07 22:10:48 +01:00
Alexander Medvednikov
f782388148
v2: minor fixes
2020-02-07 21:29:28 +01:00
Alexander Medvednikov
0510bc7744
fix int.v
2020-02-07 14:57:48 +01:00
Alexander Medvednikov
9034b1fd08
v2: match cgen; use as
for casting
2020-02-07 14:50:52 +01:00
Alexander Medvednikov
18a3961992
array.v: use as
cast
2020-02-07 09:38:28 +01:00
Alexander Medvednikov
b23854b2ab
array.v: fix the build
2020-02-07 09:22:52 +01:00
Alexander Medvednikov
f241945d70
v2: as
cast
2020-02-07 09:19:45 +01:00
Alexander Medvednikov
bb60b3081f
v2: parse builtin successfully
2020-02-07 07:34:18 +01:00
Alexander Medvednikov
06b5f43e48
builtin: remove unneeded casts
2020-02-05 11:22:24 +01:00
Alexander Medvednikov
2b433cdf64
v2: match, <<=, >>=, |=, ~, unsafe, map init
2020-02-05 10:00:14 +01:00
Alexander Medvednikov
c595c9eee1
builtin: bring back old hex()
2020-02-04 20:23:03 +01:00
Alexander Medvednikov
80daaff874
v2: scopes, or, in, hex
2020-02-04 17:44:39 +01:00
Alexander Medvednikov
9b60a50d07
v2: maps, <<, >>, method calls
2020-02-04 12:50:58 +01:00
joe-conigliaro
85e4e4cb40
v2: resolve unresolved call expression types & add test
2020-02-04 12:03:12 +01:00
Alexander Medvednikov
83f0c228e9
v2: parse builtin.v, cfns.v float.v
2020-02-04 09:54:15 +01:00
Alexander Medvednikov
432ee93916
v2: break, continue, for in fixes, fixed size array, |
2020-02-04 08:29:50 +01:00
Alexander Medvednikov
1ac7a95f9b
fix array_test.v
2020-02-03 10:27:06 +01:00
Alexander Medvednikov
34e9eb32bb
sum types: allow modification in match
2020-02-03 09:11:10 +01:00
Alexander Medvednikov
d87cb3f672
v2: consts, $if, attributes, globals, if/for type check, prefs
2020-02-03 07:03:32 +01:00
joe-conigliaro
7f709c3285
update copyright years
2020-02-03 05:00:36 +01:00
Alexander Medvednikov
71653273f6
v2: range, *, function object
2020-02-02 14:32:12 +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
ka-weihe
23dd6e2294
hashmap: optimization of rehashing
2020-01-31 02:29:35 +01:00
ka-weihe
a14a5fbf95
hashmap: change hash-function to wyhash and add benchmarks
2020-01-29 04:06:05 +01:00
joe-conigliaro
007baa2305
hash: add wyhash + benchmark, add fnv1a, add u64.hex() ( #3584 )
2020-01-28 23:43:09 +01:00
prime31
08d3401092
array: clear()
2020-01-27 22:31:48 +01:00
ka-weihe
31899eac2a
hashmap: new load_factor and optimizations
2020-01-27 16:56:18 +01:00
Khairul Azhar Kasmiran
edc44993d1
string: add another test for split_nth()
2020-01-25 19:12:36 +01:00
ka-weihe
7d797090ff
map: bring back b-tree
2020-01-24 20:13:59 +01:00
ka-weihe
6fd175d9be
hashmap: new and fast hashmap with dynamic size
2020-01-24 20:13:17 +01:00
Delyan Angelov
219239eadc
string.split_nth - return the rest of the string as the last value in the result array
2020-01-24 20:12:36 +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
0502a54a36
new gg/freetype modules with sokol/fontstash backends
2020-01-22 20:54:36 +01:00
Charles WANG
136c469ef7
array: more eq functions
2020-01-21 18:49:30 +01:00
Alexander Medvednikov
ab368bdc53
array: test arr << arr
2020-01-19 22:15:37 +01:00
Alexander Medvednikov
cf1fd6e950
array: fix arr << arr bug
2020-01-19 12:11:58 +00:00
Alexander Medvednikov
e1132156f5
make sqlite.DB public; make string.left/right private
2020-01-16 18:41:38 +01:00
Alexander Medvednikov
de3ad2b04f
fix vweb tutorial project; clean up gg functions a bit
2020-01-15 22:17:45 +01:00
Swastik Baranwal
2741c0b211
string: new type conversion functions
2020-01-14 18:05:38 +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
vitalyster
66a6fa163e
windows: read console using ReadFile/ReadConsole ( #3387 )
2020-01-10 14:06:40 +01:00
vitalyster
8412c6f03f
windows: println using WriteFile/WriteConsole
2020-01-09 22:47:13 +01:00
Alexander Medvednikov
e70ef5334a
fix array copy; ci: test prebuilt Windows package
2020-01-08 11:33:09 +01:00
Alexander Medvednikov
e3275f6083
fix array_test.v
2020-01-08 10:27:20 +01:00
Alexander Medvednikov
3c0fca9258
register methods (wip)
2020-01-08 10:19:18 +01:00
Alexander Medvednikov
d823d82207
array type fix; method registration
2020-01-07 13:10:09 +01:00
Alexander Medvednikov
706c6066d5
index expression
2020-01-07 12:18:13 +01:00
Alexander Medvednikov
48ea1153a5
for ;; syntax
2020-01-07 00:14:19 +01:00
Delyan Angelov
4c3df963fa
v repl: fix println regression on linux
2020-01-05 22:49:09 +01:00
Delyan Angelov
8053175ead
android: fix os.create and builtin
2020-01-05 20:13:35 +01:00
Alexander Medvednikov
3344111a03
minor fixes and cleaning up
2020-01-04 00:06:06 +01:00
Alexander Medvednikov
492dfebd15
SelectorExpr; receivers; struct field check; if expression
2020-01-02 20:09:23 +01:00
Alexander Medvednikov
4d31d5882d
x64, v2 backends
2019-12-31 19:42:16 +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
907254b9e8
Revert "B-tree map "
...
This reverts commit 8a4bce667c
.
2019-12-31 12:46:56 +01:00
Alexander Medvednikov
f9cc419dba
os: syscalls
2019-12-31 10:16:34 +00:00
Alexander Medvednikov
cba6a6fdea
as
casting
2019-12-30 10:47:34 +01:00
ka-weihe
8a4bce667c
B-tree map
2019-12-30 06:57:56 +01:00
Alexander Medvednikov
651c7e8de1
cgen tests
2019-12-28 11:55:14 +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
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
BigBlack
98b81252b7
fix #3217 (string.replace)
2019-12-27 07:20:06 +03:00
BigBlack
320174bd5b
fix #3202
2019-12-27 06:09:09 +03:00
Alexander Medvednikov
d9835c1ecf
move atofq.v to a separate module
2019-12-26 11:56:21 +03:00
vitalyster
1d86f4b5d1
ensure that v fmt
can be run over most .v files on each PR
2019-12-25 15:54:48 +03:00
Alexey
dced76d1a4
os, filepath: reorganize functions
2019-12-23 13:09:22 +03:00
れもん
28ecfb231d
compiler: map[string]pointer, ?pointer, fix []pointer
2019-12-22 01:44:16 +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
joe-conigliaro
4dc4f12ccd
hashmap: use fnv32 as hash algo
2019-12-21 09:59:12 +03:00
Steve Phillips
6e9493887d
builtin/array.v: Fixed typo in new_array (cap -> cap_)
2019-12-20 23:09:59 +03:00
Alexander Medvednikov
d082b3f4b9
run vfmt on vlib/builtin
2019-12-20 00:12:29 +03:00
Alexander Medvednikov
76c800ffb6
bring back array.eq
2019-12-19 23:49:40 +03:00
Alexander Medvednikov
d38687f893
run vfmt on cc, cgen, comptime, if_match
2019-12-19 23:43:23 +03:00
Alexander Medvednikov
2096018b00
map: another fix + test
2019-12-19 21:17:12 +03:00
Alexander Medvednikov
26f5d34e64
map: fix a bug with an incorrect size after delete()
2019-12-19 21:11:42 +03:00
Alexander Medvednikov
df2f98e276
run vfmt on more files
2019-12-19 02:38:54 +03:00
Alexander Medvednikov
1cef83aea4
run vfmt on array.v
2019-12-18 21:20:41 +03:00
BigBlack
67cf7f18e6
array of pointers support
2019-12-18 03:26:04 +03:00
Alexander Medvednikov
ea781a557f
array: slice_clone()
2019-12-17 01:29:40 +03:00
Alexander Medvednikov
562f24336d
add ./v2 to gitignore
2019-12-17 01:21:18 +03:00
penguindark
3dbf7a4039
atof implementation in V
2019-12-17 01:07:13 +03:00
Alexander Medvednikov
54707ff81d
do not allow calloc(0)
2019-12-16 22:48:55 +03:00
Alexander Medvednikov
e7856a1afc
do not allow malloc(0)
2019-12-16 21:29:32 +03:00
Delyan Angelov
b7c477cc18
freestanding: ptr_str, string concat, struct declaration
...
* compiler: extract c_common_macros from c_headers, and use it in bare_c_headers too. Support for ptr_str and string concatenation in -freestanding mode.
* Add tests for structs and string concatenation in -freestanding mode .
* Move check_string_add_works to string/string.v .
2019-12-16 19:05:33 +03:00
Alexander Medvednikov
8581c11900
update malloc
2019-12-14 02:46:55 +03:00
Alexander Medvednikov
ef562413cd
-prealloc
2019-12-14 02:28:15 +03:00
Alexander Medvednikov
b8f728590b
string: last_index ?int
2019-12-12 21:54:48 +03:00
Alexander Medvednikov
0eeb607ffd
fix fopen definition
2019-12-12 21:03:08 +03:00
Alexander Medvednikov
88ec9c235d
sort structs: handle fixed size arrays
2019-12-12 14:21:22 +03:00
Alexander Medvednikov
576618d8cc
string cloning; fix foo.str += 's'
2019-12-12 05:20:52 +03:00
Alexander Medvednikov
ad250523cd
fix parser.fileis()
2019-12-11 21:42:22 +03:00
Alexander Medvednikov
7dcd47369b
option to pre-allocate a memory block
2019-12-11 18:41:25 +03:00
joe-conigliaro
3486118ab7
compiler: force custom struct .str() methods to be defined public
2019-12-11 03:24:26 +03:00
Alexander Medvednikov
f286387647
vweb: secure HttpOnly cookies
2019-12-11 03:20:30 +03:00
Alexander Medvednikov
cdfbb2978d
strings: replace_each([]); orm: update
2019-12-10 23:57:49 +03:00
Alexander Medvednikov
9726e18c0a
string: optimize replace()
2019-12-10 18:50:21 +03:00
Alexander Medvednikov
6f49d4c1d2
orm: bool support; vweb fixes
2019-12-09 23:20:29 +03:00
Alexander Medvednikov
75280bb54c
fix int.str() memory bug
2019-12-09 16:41:13 +03:00
penguindark
9730164613
atoi: fix leading zeros in string to int conversion
2019-12-08 23:22:33 +03:00
Alexander Medvednikov
4d1f721558
fix "" string interpolation bug
2019-12-08 20:06:00 +03:00
bogen85
8178e1f7da
freestanding: malloc/free with mm_alloc an mm_free
...
Added more array support that depends on malloc. Added string clone (that uses malloc). Added test for it. Eliminated stack allocated buffers from most of the unit checks.
2019-12-08 13:44:52 +03:00
bogen85
751ba48bf5
freestanding improvements (exit, function checks)
...
Fixed exit for freestanding (as assert now uses it).
Running each function check now in a forked process so they can be killed or return other exit codes (and so each function runs, even if others crash)
2019-12-07 22:25:19 +03:00
Alexander Medvednikov
9cba3bdf78
windows: WideCharToMultiByte() returns an int
2019-12-07 17:31:07 +03:00
Alexander Medvednikov
ad6adf327e
vlib: fix missing else{}
in match statements
2019-12-07 17:23:37 +03:00
Alexander Medvednikov
2fb7fba856
require else
in match
statements
2019-12-07 17:01:44 +03:00
Alexander Medvednikov
d7ccbba2c9
do not allow casting a type to itself
2019-12-07 15:31:56 +03:00
Alexander Medvednikov
be323e2fb6
ci: set up pg database to test ORM
2019-12-06 02:11:39 +03:00
Alexander Medvednikov
cb46bf314e
get_type.v
2019-12-05 18:48:39 +03:00
Alexander Medvednikov
90e3ab8c1e
debugging v -live message.v
2019-12-05 12:48:23 +03:00
Nicolas Sauzede
9d854c5df0
vlib: sdl module + tVintris example
2019-12-05 11:25:55 +03:00
Alexander Medvednikov
6dd1270539
builtin: remove an unnecessary malloc() call
2019-12-05 11:08:41 +03:00
Alexander Medvednikov
2144c162c4
os: is_link()
2019-12-04 23:53:11 +03:00
Alexander Medvednikov
a57e29dfc5
os: replace dir_exists with is_dir; file_exists() => exists()
2019-12-04 23:17:45 +03:00
bogen85
a9aaa13a09
freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S
2019-12-04 11:46:09 +03:00
Alexander Medvednikov
47f5e1178f
-output-cross-platform-c for creating a single x-platform C file
2019-12-04 02:02:52 +03:00
Delyan Angelov
eb20dd39b1
freestanding: init consts
2019-12-04 01:40:26 +03:00
Alexander Medvednikov
c4a43633da
i8, i18, u16 str()
2019-12-03 21:14:17 +03:00
Alexander Medvednikov
66f271f100
fix a string interpolation bug
2019-12-03 20:41:49 +03:00
Alexander Medvednikov
f192429c8a
$if mac => $if macos
2019-12-03 16:29:37 +03:00
Alexander Medvednikov
ff80e3a5fa
i8 print test + $if mac => $if macos
2019-12-03 16:09:43 +03:00
Don Alfons Nisnoni
254afcb2d0
*C.char => charptr
2019-12-02 11:37:35 +03:00
radare
5ff387bbe4
strings: split_nth and add tests
2019-12-01 16:10:13 +03:00
bogen85
854309a7d8
freestanding: add array support (stack only for now)
2019-12-01 11:27:36 +03:00
Alexander Medvednikov
3fea8f3de5
*char => charptr everywhere
2019-12-01 10:33:26 +03:00
Alexander Medvednikov
81d4f66fbb
string: make index()
return ?int
instead of int
/-1
2019-11-30 13:21:21 +03:00
Alexander Medvednikov
cc2bd0bb68
string: make substr private
2019-11-30 12:50:57 +03:00
Alexander Medvednikov
7e4799334f
array: make left/right/slice private
2019-11-30 12:37:34 +03:00
Alexander Medvednikov
b38283dcf1
string: make left/right private
2019-11-30 12:06:17 +03:00
Delyan Angelov
c7f8f2175b
move vlib/builtin/utf8_util.v to vlib/encoding/utf8/utf8_util.v
2019-11-30 08:52:37 +03:00
Alexander Medvednikov
f724a956b3
parser: fix a & b == c
precedence
2019-11-29 22:42:32 +03:00
penguindark
82d4a731f3
utf8 functions (to_lower etc)
2019-11-29 16:25:25 +03:00
Alexander Medvednikov
9e19472c33
show an info message if a C compiler is not installed
2019-11-29 12:12:06 +03:00
bogen85
729f9c3391
bare: add mm_alloc, mm_free
...
also split errno from return value in existing Linux syscall wrappers
update applicable syscall wrapper checks
2019-11-29 10:14:17 +03:00
Delyan Angelov
7545ea709a
enable alpine/musl CI tests
2019-11-28 11:46:52 +03:00
bogen85
f6ec1b29f9
strconv: make string.int() stop parsing on invalid digit
2019-11-28 09:46:10 +03:00
bogen85
9374168b26
compiler: allow function expecting a void* to receive a byteptr
2019-11-28 09:44:43 +03:00
Alexander Medvednikov
8d241cc164
vweb fixes; ORM fixes; freeing strings
2019-11-26 07:47:16 +03:00
bogen85
5c217b9e61
fix hexadecimal constants + freestanding fixes
2019-11-26 06:12:37 +03:00
M
837af9b230
freebsd: backtrace
2019-11-25 13:54:56 +03:00
Delyan Angelov
30042ab54b
cfns: fix some declarations
2019-11-25 13:54:07 +03:00
Unknown User
268a6dc6d9
add missing cfns
2019-11-25 04:35:41 +03:00
Alexander Medvednikov
19b4cf66ac
Windows should work now
2019-11-24 15:31:51 +03:00
Alexander Medvednikov
748e8b7ce4
more Windows definitions
2019-11-24 15:29:11 +03:00
Alexander Medvednikov
b44cbc9b13
define RegQueryValueEx on Windows
2019-11-24 15:21:49 +03:00
Alexander Medvednikov
558024696c
lots of C Windows function definitions
2019-11-24 15:16:19 +03:00
Alexander Medvednikov
a74f4a661d
fix C.GetStdHandle() on Windows
2019-11-24 14:07:14 +03:00
Alexander Medvednikov
81c17e55a6
more C fn definitions
2019-11-24 13:16:11 +03:00
Alexander Medvednikov
f4fe90ea6d
C fn definitions on Linux
2019-11-22 19:00:56 +03:00
Alexander Medvednikov
e9e931fe4a
force C function definitions
2019-11-24 12:14:22 +03:00
Dwight Schauer
e724792a67
freestanding: add core linux syscalls and associated tests
2019-11-23 19:35:57 +03:00
Delyan Angelov
9b4bc0189b
backtraces: cleaner looking backtrace output on linux
2019-11-23 14:22:55 +03:00
Alexander Medvednikov
57fbf0b8a9
map: fix in
for deleted keys
2019-11-22 20:05:43 +03:00
Alexander Medvednikov
9712213f50
x64 machine code generation (ELF)
2019-11-22 14:33:22 +03:00
Alexander Medvednikov
c98db8c437
array: fix sort() for ints
2019-11-19 00:27:35 +03:00
Jiten Palaparthi
32fbc2bdf3
remove pub for a private function in array.v
2019-11-18 00:43:23 +03:00
Alexander Medvednikov
0c5854e371
add a c/raw string interpolation test
2019-11-16 22:17:01 +03:00
Alexander Medvednikov
8d1eb759f7
fix v -o foo.c build module foo
2019-11-16 21:49:58 +03:00
Alexander Medvednikov
dc50ed69cf
bare: fix str[idx]
2019-11-16 11:33:04 +03:00
Alexander Medvednikov
d1b8d34dd5
os_linux.v
2019-11-16 09:16:51 +03:00
Nicolas Sauzede
1dadf9d966
fix Windows warnings
2019-11-16 02:30:50 +03:00
Alexander Medvednikov
96cde10696
C string literals (c'str'); bare builtin module; bare println()
2019-11-15 02:29:20 +03:00
Alexander Medvednikov
bd97dc0134
os: realpath potential fix
2019-11-15 01:07:38 +03:00
Alexander Medvednikov
a04c3bac83
CI: ubuntu-musl target
2019-11-15 00:46:40 +03:00
Alexander Medvednikov
6eaa2db533
fix V.js
2019-11-14 10:05:41 +03:00
Alexander Medvednikov
7d924679a6
[]: update all examples and tests
2019-11-14 10:00:22 +03:00
Alexander Medvednikov
96b530cf85
update []
2019-11-14 09:53:05 +03:00
Alexander Medvednikov
4a833d8151
parser: clean up all []
2019-11-14 09:21:20 +03:00
Alexander Medvednikov
861f2d4bc0
parser: skip $if windows etc blocks on a different os
2019-11-13 21:14:37 +03:00
Alexander Medvednikov
ffa6bcfff5
vfmt: handle comments
2019-11-13 11:54:22 +03:00
Steven Gay
51663520c8
MSVC backtrace
2019-11-13 11:05:06 +03:00
Alexander Medvednikov
10b0432eca
parser: fix mutable map args
2019-11-12 22:35:53 +03:00
Don Alfons Nisnoni
d732be64f6
array: update docs
2019-11-12 19:26:04 +03:00
BigBlack
0ab09a57f7
parser: multi-level pointers
2019-11-11 18:43:22 +03:00
Alexander Medvednikov
ffa9646749
Revert "print_backtrace_skipping_top_frames: Implementation for MSVC "
...
This reverts commit d1e7a54f3a
.
2019-11-10 20:01:19 +03:00
Don Alfons Nisnoni
b9728c7af0
string: update split() method
2019-11-10 19:37:36 +03:00
Steven Gay
d1e7a54f3a
print_backtrace_skipping_top_frames: Implementation for MSVC
2019-11-10 19:34:53 +03:00
Nicolas Sauzede
2f5de11c22
fix byteptr warning
2019-11-08 01:30:07 +03:00
vitalyster
8dbeab9a7b
make V work on Windows 7
2019-11-06 23:04:40 +03:00
Alexander Medvednikov
75510e2ea1
remove last
test
2019-11-06 18:19:03 +03:00
Alexander Medvednikov
f6d06fcda2
update tests and examples after the mutability fix
2019-11-06 06:57:04 +03:00
Alexander Medvednikov
425c9ce401
a special last
variable in for loops (experimental)
2019-11-05 17:17:55 +03:00
Alexander Medvednikov
4e64a58ac1
scanner: fix string interpolation in raw strings
2019-11-03 23:57:26 +03:00
Alexander Medvednikov
80ba8f07b8
more ui vh fixes
2019-11-01 18:03:24 +03:00
Nicolas Sauzede
71450828bd
fix missing protos for popen and backtrace_symbols
2019-11-01 00:52:08 +03:00
Alexander Medvednikov
91df08f56d
cc: experimental -fast option for tcc/codegen in the future
2019-11-01 00:37:24 +03:00
Alexander Medvednikov
987f5fd2a1
string: bring back strconv
2019-11-01 00:28:52 +03:00
Alexander Medvednikov
ae696e7ccb
Revert "Revert "array: fix and document array functions""
...
This reverts commit b1eb9d6b15
.
2019-10-31 21:50:20 +03:00
Alexander Medvednikov
4c96ca4e62
string: remove strconv dep
2019-10-31 21:50:11 +03:00
Alexander Medvednikov
128d37c671
vh fixes for the UI module
2019-10-31 21:26:12 +03:00
Alexander Medvednikov
b1eb9d6b15
Revert "array: fix and document array functions"
...
This reverts commit 7fa33fc250
.
2019-10-31 20:29:58 +03:00
Alvydas Vitkauskas
7fa33fc250
array: fix and document array functions
2019-10-31 15:46:50 +03:00
Amal Shaji
e8d34002e1
map: fixed deletion of non-existent keys
2019-10-30 20:19:59 +03:00
lorenzo pirro
d42c53346d
array: eq() for builtins (byte, string, int, i64, f32)
2019-10-29 14:26:00 +03:00
Don Alfons Nisnoni
8358528888
string: add some docs
2019-10-27 22:29:55 +03:00
Alexander Medvednikov
d00fdca38f
[if vfmt] for fgen() functions
2019-10-27 12:13:08 +03:00
joe-conigliaro
d81b0675f0
array: bring back left & right method tests
2019-10-27 12:05:19 +03:00
joe-conigliaro
59378dce46
compiler/vlib: replace substr/left/right with [start..end]
everywhere
2019-10-27 10:03:15 +03:00
joe-conigliaro
a075ce160e
compiler: add [..2]
& [2..]
support for slices
2019-10-27 09:36:04 +03:00
Alexander Medvednikov
ee51313e2c
test array and string slices
2019-10-27 01:37:29 +03:00
Alexander Medvednikov
6944161b15
array: clean up filter()
2019-10-26 14:53:55 +03:00
Alexander Medvednikov
70c9565607
array: fix map() return type and handle []bool
2019-10-26 14:49:36 +03:00
Alexander Medvednikov
f40d672a12
array: map() test
2019-10-26 14:32:56 +03:00
Alexander Medvednikov
f6f5b8cfb1
bring back string.h for now
2019-10-26 11:51:22 +03:00
Alexander Medvednikov
fbd41eacba
remove string.h include 1
2019-10-26 11:43:25 +03:00
Alexander Medvednikov
ef45a87882
remove string.h include
2019-10-26 11:29:56 +03:00
Alexander Medvednikov
cba12d0106
macos libproc fix 2
2019-10-26 02:19:14 +03:00
Alexander Medvednikov
203f967677
macos libproc fix 1
2019-10-26 02:16:37 +03:00
Alexander Medvednikov
7de95a642e
remove more C headers
2019-10-26 02:08:46 +03:00
Alexander Medvednikov
dc2c62807a
string: faster int()
2019-10-25 23:41:18 +03:00
Alexander Medvednikov
5510327d70
array_test.v: str() test
2019-10-25 22:40:52 +03:00
Delyan Angelov
8364130a1f
compiler: implement error_with_code(s string, code int)
...
Make available the integer code as errcode to callers/unwrappers
2019-10-25 22:03:42 +03:00
Alexander Medvednikov
be0830b24f
builtin: do not use backtrace with musl
2019-10-25 18:38:47 +03:00
Alexander Medvednikov
ef9cae6dc0
bring back backtrace
2019-10-25 17:59:41 +03:00
Alexander Medvednikov
a83aa28a67
urllib: switch => match
2019-10-25 17:54:34 +03:00
Alexander Medvednikov
d0cbb4041b
disable backtrace for now
2019-10-25 17:38:07 +03:00
Alexander Medvednikov
e04c4ad852
remove execinfo.h include
2019-10-25 17:20:49 +03:00
Alexander Medvednikov
784847cf18
make V compile
2019-10-25 16:06:21 +03:00
Alexander Medvednikov
ea3f9b5b9a
remove execinfo.h header
2019-10-25 12:13:38 +03:00
Alexander Medvednikov
4e21e9ed44
minor V.js fixes
2019-10-25 12:13:38 +03:00
Alexander Medvednikov
d4c1bba856
fix V.js
2019-10-24 22:58:01 +03:00
Alexander Medvednikov
3a929faf26
enums: make in
work without specifying the full type
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
dca49e43d9
c defs
2019-10-24 15:41:34 +03:00
Alexander Medvednikov
4a88a28a3b
make all necessary structs public
2019-10-24 12:51:00 +03:00
Alexander Medvednikov
f14425ec18
do not allow one letter struct names
2019-10-23 23:46:07 +03:00
Alexander Medvednikov
054dd237a4
V.js: remove u8
2019-10-23 15:56:57 +03:00
Alexander Medvednikov
6174dfb424
fix V.js
2019-10-23 15:51:52 +03:00
Delyan Angelov
eef73eea22
tools: new tool to extracts function names declared in V files
2019-10-21 14:14:28 +03:00
Alexander Medvednikov
81b1b882fd
bultin: mark unsafe functions
2019-10-20 20:29:24 +03:00
Alexander Medvednikov
1b518c158b
unsafe keyword + make array.free() an unsafe method
2019-10-20 20:10:44 +03:00
Ole-Martin Bratteng
b73387647c
v.js: make eprintln use console.error
2019-10-19 15:42:37 +03:00
Alexander Medvednikov
80e79a3966
array: optimized generic filter()
2019-10-18 07:30:39 +03:00
joe-conigliaro
8d16762f03
strconv module + use it in builtin/string instead of C functions
2019-10-17 19:37:55 +03:00
Unknown User
f46b58b09d
int: i64 hex() use PRIx64
2019-10-17 11:06:54 +03:00
Alexander Medvednikov
75e2a29cb5
string: bring back strtoul for now
2019-10-15 08:53:35 +03:00
Alexander Medvednikov
f9593bd857
builtin: float.v + remove #include <math.h>
2019-10-15 08:41:45 +03:00
Alexander Medvednikov
4b176ba855
string: test i64() and u64()
2019-10-15 04:26:19 +03:00
Alexander Medvednikov
10ed65bc12
fix float.eq()
2019-10-15 03:45:11 +03:00
Alexander Medvednikov
91690a1b54
fix f64 tcc eq crash
2019-10-13 04:27:57 +03:00
Alexander Medvednikov
2d127cb694
tcc windows fixes
2019-10-14 09:03:11 +03:00
joe-conigliaro
de10a529b0
CI: fix building v
2019-10-14 07:08:02 +03:00
joe-conigliaro
51388fea75
compiler: module init function & init consts for cached modules
2019-10-12 01:17:37 +03:00
Don Alfons Nisnoni
c7e47e6884
array: minor clean up
2019-10-12 00:06:30 +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
af46bf515f
glfw: bring back 64 bit glfw3.dll
2019-10-11 13:47:56 +03:00
Alexander Medvednikov
52c2fa44b8
runtime: nr_cpus()
2019-10-11 13:47:56 +03:00
Alexander Medvednikov
a280e98d7f
fix the build
2019-10-11 06:57:08 +03:00
Alexander Medvednikov
726aaecc46
compiler: make V compilable wit the tcc backend
2019-10-11 06:49:53 +03:00
Don Alfons Nisnoni
942c56ca95
array: add reduce() method
2019-10-11 04:12:40 +03:00
Alexander Medvednikov
e1dd4c19b5
compiler: cache modules if they are not built yet
2019-10-10 22:53:59 +03:00
vitalyster
e64609387d
term: colors on Windows console
...
* isConsole moved to builtin is_atty function
* Windows console initialization moved to builtin.init
2019-10-10 20:08:36 +03:00
joe-conigliaro
f8fefd5a60
urllib: rem underscore methods from; add strings index_bytes
2019-10-10 20:04:11 +03:00
Delyan Angelov
f3abb9e682
fix 'v -debug examples/hello_world.v'
2019-10-10 20:02:32 +03:00
Alexander Medvednikov
9385ed27ae
fix v.js
2019-10-10 01:27:16 +03:00
Alexander Medvednikov
1f6535afb0
array/map: remove _get(), _push() etc
2019-10-10 01:15:19 +03:00
Alexander Medvednikov
2411b8d1e7
module cache fixes; do not allow function names starting with _
2019-10-10 00:44:26 +03:00
Alexander Medvednikov
b1da59845e
array: fix initialization of empty fixed size arrays
2019-10-09 15:26:30 +03:00
Don Alfons Nisnoni
fecf3f19c3
array: add filter() method
2019-10-08 13:23:17 +03:00
Alexander Medvednikov
f1923d454c
parser: make verbose mode less verbose
2019-10-07 01:25:53 +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
65aafb3cf1
3d arrays are not supported yet
2019-10-06 04:18:55 +03:00
Alexander Medvednikov
6a0599b5f4
raw strings with r'raw'
2019-10-06 04:11:08 +03:00
Alexander Medvednikov
735336e569
array: 2d and 3d test
2019-10-05 16:03:19 +03:00
Alexander Medvednikov
e14861694c
another v.js fix
2019-10-05 08:03:26 +03:00
Don Alfons Nisnoni
68bcf6830c
array: add index() method
2019-10-04 23:07:19 +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
Swastik Baranwal
7d763e0776
fix js build
2019-10-02 15:46:08 +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
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
2ac80485c0
C backend: fix a couple of C warnings on Linux
2019-10-01 14:35:59 +03:00
Alexander Medvednikov
841d824216
builtin: a very early version of the hashmap
2019-10-01 06:20:50 +03:00
hazohelet
6d483c0a56
parser: float1 == float2 uses machine epsilon by default
2019-09-29 18:27:53 +03:00
Delyan Angelov
366c50674c
tooling: add tools/compare_v_performance_between_commits
...
easily compare v performance/size across commits.
* fix eprintln on linux (it now uses stderr, and flushes it).
* flag: cleaner usage information.
2019-09-28 14:17:16 +03:00
hazohelet
fd2d9c214c
f64: fix .eq()
2019-09-28 14:04:03 +03:00
Delyan Angelov
6bba4b1be0
string: document the tradeoffs for V strings
2019-09-28 13:54:30 +03:00
Alexander Medvednikov
60eb73adb4
array: single element array test
2019-09-28 13:52:38 +03:00
lutherwenxu
a4d2633a33
string: Properly null-terminate repeated string
2019-09-28 13:31:12 +03:00
Alexander Medvednikov
a5391c8882
string.repeat: re-write without a libc function call
2019-09-28 02:51:42 +03:00
Alvydas Vitkauskas
931b71c428
string: improve repeat()
2019-09-27 15:49:09 +03:00
Don Alfons Nisnoni
fb4f14ba76
string: add repeat() method
2019-09-26 22:54:53 +03:00
joe-conigliaro
8974aa4513
compiler/vlib: change _ :=
to _ =
and disable _ :=
2019-09-25 15:10:45 +03:00
Alexander Medvednikov
ab52b453cb
map: make .keys() pure
2019-09-25 05:56:10 +03:00
Alexander Medvednikov
f7d8fb0cf4
string: bring back old index() without an allocation
2019-09-23 23:34:42 +03:00
Alexander Medvednikov
8d52d877fb
compiler: free local_vars
2019-09-23 22:16:52 +03:00
joe-conigliaro
23c84516e2
compiler: error on unused imports
2019-09-23 13:42:20 +03:00
Alexander Medvednikov
b4207e1be7
compiler: allow "u64_var == 0" without casting the const literal
2019-09-23 02:14:10 +03:00
Alexander Medvednikov
a232b215a7
double quotes for denoting strings
2019-09-21 17:18:02 +03:00
vitalyster
111007470e
array: malloc => calloc
2019-09-21 02:29:09 +03:00
Henrixounez
ffcff9ebd4
builtins: ustring comparisons, concatenation and other functions
2019-09-20 19:07:38 +03:00
Alexander Medvednikov
a94c1556ce
array: remove temporary repeat2()
2019-09-19 05:22:24 +03:00
Alexander Medvednikov
cb31eeec55
compiler: first step to require explicit definition of imported C fns
2019-09-19 05:16:25 +03:00
Alexander Medvednikov
d1500511e6
"none" keyword for optionals + more memory fixes
2019-09-18 14:15:10 +03:00
Alexander Medvednikov
0a2f7a6ba7
fix tests
2019-09-17 13:37:25 +03:00
Alexander Medvednikov
1397d532c6
compiler: check if mutable receivers are modified
2019-09-17 13:10:43 +03:00
Alexander Medvednikov
c76d09f9a5
make V.js compile
2019-09-16 18:31:13 +03:00
hazohelet
9158ba4640
vlib: add Android checks to build V on Android
2019-09-16 18:23:11 +03:00
Alexander Medvednikov
849bef987c
more C warnings fixed
2019-09-15 15:53:57 +03:00
Alexander Medvednikov
3e923871cf
compiler: use *char() cast in C functions to afix warnings
2019-09-15 15:19:18 +03:00
joe-conigliaro
f077fbd32d
vlib: change [0;n]
to [0].repeat(n)
2019-09-15 12:26:05 +03:00
Henrixounez
602e472b8a
builtin: getchar for unicode characters
2019-09-15 04:41:24 +03:00
Alexander Medvednikov
5cc81b91cb
JavaSript backend (early stage)
2019-09-15 03:49:57 +03:00
Alexander Medvednikov
9dd86f6fb8
compiler: more memory logic + replace "cur_fn &Fn" with "cur_fn Fn"
2019-09-13 15:47:31 +03:00
Henrixounez
af60f9ead4
compiler: escapes quote on literals
2019-09-11 15:48:08 +03:00
Alexander Medvednikov
9853323157
array: make ".contains()" private, use "in" everywhere
2019-09-11 15:12:13 +03:00
Alexander Medvednikov
00687de43b
memory: clean up all arrays in the V compiler
2019-09-09 13:55:47 +03:00
Alexander Medvednikov
76a89c832e
parser: small optimizations
2019-08-26 01:19:39 +03:00
joe-conigliaro
79d4d56fe5
string: implement is_space in V & make trim_space use trim
2019-09-06 13:22:37 +03:00
vitalyster
38d26c8080
Travis: run msvc tests
2019-09-03 20:15:08 +03:00
Delyan Angelov
c9a39dfdb5
compiler: build tetris executable on windows with both msvc and mingw gcc
2019-09-03 16:09:43 +03:00
Joe Conigliaro
1f67d9edd8
fix bugs breaking tests
2019-09-03 15:21:52 +03:00
Vitaly Takmazov
83d724fb70
print_backtrace: do not use printf directly
2019-09-03 11:09:55 +03:00
Alexander Medvednikov
1c6d51f271
remove u8 and i32 from tests and examples
2019-09-02 15:02:25 +03:00
Alexander Medvednikov
0e2c41e0f9
replace *Foo with &Foo everywhere
2019-09-01 22:51:16 +03:00
Alexander Medvednikov
3bd7bcfac3
remove u8 and i32 aliases
2019-09-01 22:37:22 +03:00
Alexander Medvednikov
4edccce9a3
array: sort ints
2019-09-01 22:30:49 +03:00
Alexander Medvednikov
bfa6505636
compiler: replace &Type with Type
2019-09-01 14:05:03 +03:00
Alexander Medvednikov
961e778ed1
map_test.v: format + ref test
2019-09-01 14:05:03 +03:00
Alexander Medvednikov
72363ada84
array: make .set() private + format
2019-08-31 02:35:05 +03:00
kawa-yoiko
4f0f99e663
parser: fix mutability with chained fields
2019-08-30 20:19:06 +03:00
Alexander Medvednikov
2fe20cd092
compiler: fix struct order bug
2019-08-29 23:46:12 +03:00