Joe Conigliaro
e71948461e
v2: update MatchExpr
2020-03-04 21:59:45 +11:00
Joe Conigliaro
ed763df42e
v2: tidy checker remove old comments & code
2020-03-04 21:08:46 +11:00
Joe Conigliaro
d501ea0afb
v2: fix array init
2020-03-04 12:50:32 +11:00
Joe Conigliaro
bac6fc6ee2
v2: remove test println from checker
2020-03-04 09:49:14 +11:00
Joe Conigliaro
ea26b5f30c
v2: fix fn call name lookup
2020-03-04 09:46:59 +11:00
Alexander Medvednikov
823b8ad244
table: Type str()
2020-03-03 18:38:41 +01:00
Alexander Medvednikov
2a99422386
cgen: more nodes; exit if there are checker errors
2020-03-03 18:37:38 +01:00
Alexander Medvednikov
0c67b3cff4
checker: fix match return type
2020-03-03 17:29:16 +01:00
Joe Conigliaro
c633dd09c6
v2: dont use type type in `<<` infix in parser
2020-03-04 02:08:40 +11:00
Joe Conigliaro
063ca3b644
v2: make array append `<<` right associative
2020-03-04 02:05:16 +11:00
Joe Conigliaro
147ecc5e17
v2: time - prefix C struct & ast.TypeName to ast.Type
2020-03-04 01:06:21 +11:00
yuyi
448ed41562
os api: rmdir_recursive => rmdir_all
2020-03-03 15:02:50 +01:00
yuyi
3f67ba08b1
glfw, freetype: remove the display of general information
2020-03-03 14:41:26 +01:00
Hugo Locurcio
69f256b900
use LF line endings in examples/quick_sort.v
2020-03-03 14:41:05 +01:00
Joe Conigliaro
af3159791f
v2: reset expr_mod after struct_init type is parsed
2020-03-04 00:24:15 +11:00
Delyan Angelov
90996269fd
compiler: more precise default error context for C errors
2020-03-03 12:01:23 +01:00
yuyi
ea10f44fe6
os api: flush_stdout => flush
2020-03-03 00:00:30 +01:00
Joe Conigliaro
895a1711cb
v2: fix type aliases & add check
2020-03-03 09:19:04 +11:00
yuyi
8ac0739858
os api: cp_r => cp_all
2020-03-02 19:30:04 +01:00
Alexander Medvednikov
22ffe336cb
checker: AsCast, CharLiteral, fix integer index check
2020-03-02 19:00:33 +01:00
Alexander Medvednikov
156e36c082
cgen: handle unhandled nodes
2020-03-02 18:43:41 +01:00
Alexander Medvednikov
07a2233220
fix prod build
2020-03-02 18:28:11 +01:00
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
SleepyRoy
96da5b33c0
scanner: fix special case - 0 at the end
2020-02-24 18:01:51 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range
2020-02-24 17:55:16 +01:00
Alexey
5918946feb
fmt: process attributes
2020-02-24 17:18:14 +01:00
vitalyster
a3a7e0531a
darwin: fix MacPorts build
2020-02-24 16:54:04 +01:00
Alexey
87ad5a96b9
v2: stringify multi-return types
2020-02-24 16:38:31 +01:00
Alexey
2bbb8526a3
fmt: process RangeExpr properly
2020-02-24 16:37:20 +01:00
SleepyRoy
7d2eb4f604
scanner: make `0o` prefix the only way to define octals
2020-02-23 23:43:04 +01:00
yuyi
9d2a60bb11
os: optimize os_windows.v
2020-02-23 20:46:13 +01:00
yuyi
adb1d3f8c9
scanner: enable 0oxx to handle octals
2020-02-23 12:33:07 +01:00
Alexey
26fa833984
fmt: process assignment statement correctly
2020-02-23 11:22:07 +01:00
Alexander Medvednikov
2eb4f663d6
fix fmt test
2020-02-22 17:14:38 +01:00
Alexander Medvednikov
dd29bfe4d2
fix fmt test
2020-02-22 17:07:03 +01:00
Alexander Medvednikov
d510cd1e0d
fmt: else, for in
2020-02-22 16:59:50 +01:00
Alexander Medvednikov
5fef8390a1
fmt: assoc
2020-02-22 14:39:25 +01:00
Alexander Medvednikov
cd41967aa1
fmt: struct pub/mut fields, map init
2020-02-22 14:13:22 +01:00
joe-conigliaro
b250ded3fa
v2: fix typo & remove unneeded field
2020-02-22 23:08:14 +11:00
joe-conigliaro
30c8a5a010
v2: temp const fix
2020-02-22 23:04:56 +11:00
Alexander Medvednikov
6f577321f1
checker: fix build
2020-02-22 12:58:16 +01:00
Alexander Medvednikov
e459e6d24a
checker: remove unnecessary exits
2020-02-22 12:57:18 +01:00
yuyi
1a1aa267b7
vlib: remove malloc unsafe warning
2020-02-22 12:41:24 +01:00
Alexander Medvednikov
3c3ca1e61f
fmt: fix test
2020-02-21 22:56:50 +01:00
joe-conigliaro
15c288b444
v2: small type cleanup
2020-02-22 08:50:21 +11:00
yuyi
b325320f29
os: minor fixes
2020-02-21 20:14:01 +01:00
Alexander Medvednikov
7acf8efde3
fmt: fix import alias
2020-02-21 20:12:55 +01:00
Alexander Medvednikov
9be87d03f5
type_to_str: fix imported types
2020-02-21 19:56:37 +01:00
Alexander Medvednikov
e0c6766a79
make "unreachable code" a warning in non-prod builds
2020-02-21 18:55:18 +01:00
Alexander Medvednikov
1d90c1cbbf
nice
2020-02-21 18:15:41 +01:00
Alexander Medvednikov
4c95e59d5c
fmt, doc: &; update 0.2 roadmap
2020-02-21 18:13:34 +01:00