Alexander Medvednikov
baaa55f196
cgen: fix methods; println
2020-03-02 18:27:00 +01:00
Alexey
78c885d657
fmt: add support for goto
2020-03-02 17:41:32 +01:00
Delyan Angelov
c6107276df
compiler: stabilize the interface code generation a little
2020-03-02 17:10:26 +01:00
Alexey
8fafaf38a3
fmt: add function with variadic arg to test file
2020-03-02 17:10:06 +01:00
Alexey
cca5c5537f
fmt: extract common code to methods
2020-03-02 17:09:45 +01:00
Joe Conigliaro
8497d637d9
v2: allow pointers to be initialized with 0
2020-03-02 23:52:41 +11:00
Joe Conigliaro
5b08f307c8
v2: fix map initialization
2020-03-02 22:34:02 +11:00
Joe Conigliaro
16528b12fa
v2: allow enum value to be used as int
2020-03-02 21:32:28 +11:00
Joe Conigliaro
f57a651e3b
v2: match expr fixes & tmp typeof skip
2020-03-02 20:53:38 +11:00
joe-conigliaro
a8f07157dd
v2: implement sym types & handle in table.check
2020-03-02 16:40:18 +11:00
joe-conigliaro
b65fad9ca8
v2: fix if guard var type & handle blank ident in assign
2020-03-02 16:05:40 +11:00
joe-conigliaro
a118c72423
v2: checker - save type in MapInit node
2020-03-02 14:24:45 +11:00
joe-conigliaro
b333d02e3b
v2: allow none & error for functions that return optional - checker
2020-03-02 13:58:36 +11:00
Alexander Medvednikov
d05bdad638
pratt: handle &=
2020-03-01 23:26:23 +01:00
Alexander Medvednikov
f921ea2fb7
cgen: test module fns and consts
2020-03-01 22:06:36 +01:00
Alexander Medvednikov
38de6c98fc
cgen: test local modules
2020-03-01 21:56:07 +01:00
Joe Conigliaro
a707ffc04a
v2: name_expr mod & type & var fixes
2020-03-02 02:14:52 +11:00
Delyan Angelov
1066ec5cd9
compiler: import modules relative to v.mod
2020-03-01 15:49:39 +01:00
Delyan Angelov
615a4b3452
builtin: add V64_PRINTFORMAT (part 2)
2020-03-01 15:48:54 +01:00
Delyan Angelov
2700fd712b
builtin: add V64_PRINTFORMAT (part 1)
2020-03-01 15:30:33 +01:00
Joe Conigliaro
1ab830da4b
v2: fix var mistaken for enum in parser
2020-03-02 01:19:10 +11:00
Alexander Medvednikov
82b0024758
fix v2 parser int.v error
2020-03-01 14:57:54 +01:00
Alexander Medvednikov
d7a8b1b4f2
checker: set fn arg expected_type
2020-03-01 14:10:10 +01:00
Nicolas Sauzede
becd87141c
fix linux warnings in generated C code
2020-03-01 13:26:09 +01:00
Alexander Medvednikov
7a499b3cd3
checker: fix first() and last(); call_args; method cgen
2020-03-01 13:07:51 +01:00
Joe Conigliaro
9978fb3e2c
v2: fix map_init return type in checker
2020-03-01 21:45:44 +11:00
Joe Conigliaro
00dcaf0e04
v2: ArrayInit + all errs & unhandled + arrange nodes + type fix
2020-03-01 15:14:36 +11:00
Alexey
cbffbf3438
array: reverse empty arrays correctly
2020-02-29 20:44:02 +01:00
Alexey
c1e095e587
fmt: process `MatchExpr`
2020-02-29 20:43:15 +01:00
Alexander Medvednikov
4e88c2286e
checker: IfGuard, map fixes
2020-02-29 20:11:04 +01:00
Alexander Medvednikov
ee05b51f47
checker: fix match expected_type
2020-02-29 18:34:25 +01:00
Alexander Medvednikov
a15dcbfb2d
checker: set expected_type in several places
2020-02-29 18:25:38 +01:00
Alexander Medvednikov
27ce38937c
checker: fix Assoc
2020-02-29 18:07:29 +01:00
Alexander Medvednikov
85f67a3f73
fix prod build
2020-02-29 17:53:04 +01:00
Alexander Medvednikov
d5faf36aa9
fmt: comments
2020-02-29 17:51:38 +01:00
Alexey
5a5f4ce99a
fmt: simplify `IndexExpr` processing
2020-02-29 17:45:08 +01:00
yuyi
a678be7195
fix interface on all platforms
2020-02-29 15:27:28 +01:00
Alexey
99cbc58db8
array: update `array.repeat`
2020-02-29 15:25:49 +01:00
Alexey
632a538eb3
string: update `string.repeat` behavior
...
Panic if a repeat count is negative.
Return an empty string if a repeat count is zero.
2020-02-29 15:25:31 +01:00
lydiandy
a485533dc9
make sure scanner and parser both check BOM
2020-02-29 15:05:25 +01:00
yuyi
6c85e285e7
vdoc: show variadic args correctly
2020-02-29 15:04:07 +01:00
Alexey
ee0a0afb25
v2: process `or` block for `CallExpr`
2020-02-29 15:03:32 +01:00
Alexey
efff66ada7
fmt: add `pub` modifier for public enums
2020-02-29 14:38:23 +01:00
Major Taylor
d4b0de2dce
log: extended logging level names when printed
2020-02-29 14:31:59 +01:00
Delyan Angelov
f9d5c0110f
compiler: @VMODULE
2020-02-29 14:23:45 +01:00
Joe Conigliaro
f67fca826e
v2: fix C function & type prefixing
2020-02-29 21:47:47 +11:00
Joe Conigliaro
48f912c2e9
v2: handle variadic in selector_expr
2020-02-29 19:04:47 +11:00
Joe Conigliaro
71b5b0d955
v2: fix C fn calls, save C fns with prefix besides odd cases
2020-02-29 17:24:28 +11:00
Joe Conigliaro
236b7b15bb
v2: handle optional in return stmt in checker
2020-02-29 16:32:00 +11:00
Joe Conigliaro
8e013d2174
v2: skip minus in string expr for now
2020-02-29 15:56:16 +11:00
Joe Conigliaro
eb80accfee
v2: add ParExpr to checker
2020-02-29 15:36:39 +11:00
Alexander Medvednikov
6855c746bb
vfmt: EnumDecl
2020-02-28 17:21:24 +01:00
Major Taylor
ee9cfe22ec
scanner: fix a typo in right_shift
2020-02-28 17:16:24 +01:00
Alexander Medvednikov
ccf4f61521
ast: ParExpr, OrExpr, IfGuardExpr; ForInStmt fix; remove all cap vars
2020-02-28 15:36:41 +01:00
Alexander Medvednikov
6a198df3af
v2: ParExpr; mut var decl
2020-02-28 14:41:19 +01:00
Alexander Medvednikov
7f5a15372f
os: fix get_raw_line() + minor v2 fixes
2020-02-28 14:05:20 +01:00
Joe Conigliaro
c4b9ef388f
v2: handle var decl & assign stmt together 1st step combining
2020-02-28 23:29:04 +11:00
Nicolas Sauzede
f5fdbfd004
os: fix getline warning for linux
2020-02-28 02:43:42 +01:00
penguindark
b8f6284daf
ftoa: tables with hex constants
2020-02-28 02:43:15 +01:00
Alexander Medvednikov
87205367d1
v2: minor fixes
2020-02-27 21:51:40 +01:00
Alexander Medvednikov
3204f036da
ast: move all str() methods to ast/str.v
2020-02-27 21:29:38 +01:00
Alexander Medvednikov
d619944cf5
vfmt: []xxx; mut args
2020-02-27 21:00:33 +01:00
Alexander Medvednikov
4f0d505c65
v2: `if x := `; fix `for key, val in`; CastExpr
2020-02-27 18:02:40 +01:00
Alexander Medvednikov
3bde876097
v2: checker: fix --/++
2020-02-27 17:31:10 +01:00
Alexander Medvednikov
09b7a7c872
v2: checker: handle clone()
2020-02-27 17:21:13 +01:00
Alexander Medvednikov
b1357d9641
v2: checker: fix filter()
2020-02-27 16:51:47 +01:00
yuyi
b580a497fe
compiler: fix an interface bug
2020-02-27 16:31:05 +01:00
Joe Conigliaro
aba0bb5e01
v2: fix condition in AssignStmt
2020-02-27 21:15:30 +11:00
Joe Conigliaro
237d83b2ee
v2: more work on AssignStmt & multi ret & initial blank ident
2020-02-27 21:12:30 +11:00
joe-conigliaro
cfbd8ab7e7
v2: parser - use defer to make sure scope is closed for filter
2020-02-27 17:00:24 +11:00
Alexander Medvednikov
06fc8a830b
v2: fix a bug with `mod.const`
2020-02-27 03:30:17 +01:00
Alexander Medvednikov
a5db9c3519
os: bring back write_bytes_at()
2020-02-27 00:41:05 +01:00
Alexander Medvednikov
bb6098e2d3
v2: fix `type f fn...`
2020-02-27 00:18:14 +01:00
Alexander Medvednikov
c51f464446
v2: fix `mod.Enum.val` and `x = .val`
2020-02-27 00:12:40 +01:00
Alexey
59d6a675dd
vdoc: trim result value
2020-02-26 23:18:31 +01:00
Major Taylor
c72e505fe4
pg: use unsafe
2020-02-26 23:17:56 +01:00
Alexey
394d64bfd0
vdoc: remove duplicated code
2020-02-26 22:44:28 +01:00
Alexey
ca9fa6407f
v2: distinguish public and private constants
2020-02-26 22:43:37 +01:00
yuyi
46ec400cb3
vdoc: sort function names
2020-02-26 20:46:09 +01:00
Alexey
70f085be18
v2: process unsafe statements
2020-02-26 20:45:03 +01:00
Alexey
b1ea908b3b
fmt: process `defer` statement
2020-02-26 20:44:42 +01:00
Delyan Angelov
9d61f4fad1
benchmark: make measuring small snippets of code less verbose/easier to use
2020-02-26 16:29:46 +01:00
Alexander Medvednikov
857cbfb0d2
v2: short struct init syntax; .xxx enum checks; unions; assert
2020-02-26 15:51:05 +01:00
Nicolas Sauzede
30f905999a
math: add powf and other float32 functions
2020-02-26 13:31:54 +01:00
Delyan Angelov
7a72167eb7
strings: optimization of repeat + repeat_string()
2020-02-26 13:22:12 +01:00
penguindark
39429f7ac9
atof: lots of fixes
...
* removed sprintf for f64 and f32 use
* removed all pointers from the code, used unions instead
* solved module name problem
* fixed tests on vlib/math
* fix for alpine-linux math test
* small fix on byte allocation for ftoa
2020-02-26 12:14:06 +01:00
joe-conigliaro
c4e83faa57
compiler: allow a type to be used as a variant of multiple sum types
2020-02-26 15:15:38 +11:00
SleepyRoy
bc3d1eaf6e
scanner: simplify and unify style
2020-02-25 22:58:51 +01:00
Alexander Medvednikov
0f8b2399ee
fmt: fix new EnumVal
2020-02-25 19:59:47 +01:00
Alexander Medvednikov
28ee0f4ebe
checker: check enums
2020-02-25 15:02:34 +01:00
SleepyRoy
05ed6c57b6
scanner: add check for wrong decimal numbers
2020-02-25 14:33:29 +01:00
Alexander Medvednikov
f6c2b3a54b
v2: enum fixes
2020-02-25 13:30:43 +01:00
Alexander Medvednikov
7e930c2a75
cgen: enum
2020-02-25 11:52:41 +01:00
lydiandy
d4ffed89c0
add typeof test for fn ( #3832 )
2020-02-25 11:14:59 +01:00
penguindark
200f25a38f
ftoa in V ( #3831 )
2020-02-25 11:12:37 +01:00
SleepyRoy
b17e49ad25
scanner: add check for bin/oct/hex with wrong digits
2020-02-25 11:11:12 +01:00
SleepyRoy
f859c7f93e
scanner: fix special case - `e` or `E` at the end
2020-02-25 11:10:05 +01:00
Delyan Angelov
b17ade1257
compiler: implement typeof(x)
2020-02-24 21:45:47 +01:00
SleepyRoy
794ee6fc9d
scanner: fix bin/oct/hex without number parts
2020-02-24 18:02:36 +01:00
lydiandy
3c0b73c2d6
sokol: fixes
2020-02-24 18:02:22 +01:00