Alexander Medvednikov
|
2b563bc69f
|
v2: initial interface support; fix enum_hex_test.v
|
2020-03-31 19:59:41 +02:00 |
Alexander Medvednikov
|
2fe0e80569
|
cgen: enum default values
|
2020-03-31 19:43:11 +02:00 |
joe-conigliaro
|
3440d7edd8
|
ast: first step merging CallExpr & MethodCallExpr
|
2020-03-30 21:39:20 +11:00 |
Delyan Angelov
|
a9724fd38d
|
v2: typeof()
|
2020-03-28 17:37:22 +01:00 |
Alexander Medvednikov
|
831be43740
|
checker: check ! operator
|
2020-03-28 14:38:16 +01:00 |
Joe Conigliaro
|
7ce7151ad2
|
cgen: v2 compiles itself - defer stmt / if * in opt parens.
|
2020-03-27 17:21:22 +11:00 |
Joe Conigliaro
|
9c6ac7cb71
|
cgen: fix variadics called with 0 vargs
|
2020-03-26 21:09:59 +11:00 |
Alexander Medvednikov
|
f2c9592b86
|
cgen: fix () in & exprs
|
2020-03-26 10:44:59 +01:00 |
Alexander Medvednikov
|
41a089e513
|
cgen: or block
|
2020-03-25 16:00:22 +01:00 |
Delyan Angelov
|
2a7bc63919
|
vmft2: support for multiline comments, CompIf, AssertStmt, octal literals
|
2020-03-24 22:18:58 +01:00 |
Alexander Medvednikov
|
5d976d841b
|
v2: raw strings
|
2020-03-24 17:07:27 +01:00 |
Alexander Medvednikov
|
e012966291
|
parser/ast: Block
|
2020-03-24 15:44:17 +01:00 |
joe-conigliaro
|
e5a111396c
|
cgen: add for map
|
2020-03-24 17:25:10 +11:00 |
Joe Conigliaro
|
076bc2b773
|
cgen/checker: fixes & fixes & tmp fixes :D
|
2020-03-23 02:22:49 +11:00 |
Alexander Medvednikov
|
ce73ced932
|
cgen: #else
|
2020-03-22 14:54:31 +01:00 |
Alexander Medvednikov
|
c2ce06eba7
|
cgen: generate #ifdefs
|
2020-03-22 13:55:39 +01:00 |
Alexander Medvednikov
|
7b689d8c52
|
ast: CompIf position
|
2020-03-22 11:53:08 +01:00 |
Alexander Medvednikov
|
ab3f6d9202
|
cgen: generate indents for more readable C code
|
2020-03-22 10:12:45 +01:00 |
Alexander Medvednikov
|
e5f6a0949f
|
cgen: autofree: first step
|
2020-03-21 19:52:19 +01:00 |
Alexander Medvednikov
|
c12985d1d7
|
cgen: for in; init fixes
|
2020-03-21 10:22:19 +01:00 |
Alexander Medvednikov
|
5072320803
|
cgen/ast/checker: string interpolation
|
2020-03-21 07:01:11 +01:00 |
Joe Conigliaro
|
a331abf675
|
ast/cgen/parser: combine IfExpr branches into single node
|
2020-03-21 00:39:56 +11:00 |
Alexander Medvednikov
|
b290efa394
|
ast: TypeOf
|
2020-03-19 12:15:42 +01:00 |
Joe Conigliaro
|
6c56528cd7
|
checker: update assoc type
|
2020-03-19 19:52:33 +11:00 |
Joe Conigliaro
|
a456c21249
|
gen: cgen sum cast in struct init
|
2020-03-19 19:40:21 +11:00 |
Alexander Medvednikov
|
28309da1f1
|
cgen: assoc
|
2020-03-19 08:14:09 +01:00 |
Alexander Medvednikov
|
c514f0b672
|
cgen: automatic dereference and match fix
|
2020-03-18 16:07:54 +01:00 |
lydiandy
|
04184f1715
|
ast: make ReturnStmt field public
|
2020-03-18 15:39:26 +01:00 |
Joe Conigliaro
|
c4f6125a31
|
gen/checker: add errors for as cast & for in var
|
2020-03-19 00:50:21 +11:00 |
Joe Conigliaro
|
96af21ff68
|
gen: impl as cast
|
2020-03-18 23:55:46 +11:00 |
Alexander Medvednikov
|
91378583cc
|
cgen: another expected_type fix
|
2020-03-18 12:34:27 +01:00 |
Alexander Medvednikov
|
af289da844
|
ast: MatchExpr: expr_type => cond_type
|
2020-03-18 12:23:32 +01:00 |
Alexander Medvednikov
|
a011b8951a
|
cgen: if/match expressions and other fixes
|
2020-03-18 08:41:49 +01:00 |
Joe Conigliaro
|
3fecf154aa
|
gen: move helper fns to ast
|
2020-03-18 11:19:23 +11:00 |
Joe Conigliaro
|
91e47caf38
|
gen: add if guard to cgen
|
2020-03-18 02:40:41 +11:00 |
Delyan Angelov
|
f73b38a0d8
|
vfmt2: fix literal integer number formatting
|
2020-03-17 02:49:15 +01:00 |
Alexander Medvednikov
|
900ada1112
|
cgen: match: do not use a temp var; minor fixes
|
2020-03-16 10:53:36 +01:00 |
Alexander Medvednikov
|
0f160707a4
|
cgen: GoStmt; experimental parallel parser
|
2020-03-16 08:33:42 +01:00 |
joe-conigliaro
|
c947e6ebe6
|
cgen: cast to sum type
|
2020-03-16 17:42:45 +11:00 |
Alexander Medvednikov
|
37504c487a
|
cgen: sum types: match
|
2020-03-16 03:19:26 +01:00 |
Joe Conigliaro
|
3e05939b65
|
cgen: enum fixes
|
2020-03-15 12:51:31 +11:00 |
Alexander Medvednikov
|
843bb6dac1
|
cgen: lots of fixes
|
2020-03-15 00:46:08 +01:00 |
Joe Conigliaro
|
50ed4004f4
|
ast/table: use common struct fn decl arguments
|
2020-03-15 09:21:36 +11:00 |
Joe Conigliaro
|
cc338df77f
|
parser/checker/gen: update call args to use ast.CallArg
|
2020-03-14 21:11:43 +11:00 |
Alexander Medvednikov
|
b173cea177
|
cgen: optionals
|
2020-03-13 05:57:55 +01:00 |
Alexander Medvednikov
|
4b4c47461b
|
cgen: error fixes; table: simplify; compiler tests
|
2020-03-13 01:43:30 +01:00 |
Alexander Medvednikov
|
92d6eec09a
|
cgen: fix remaining errors. hello world now compiles
|
2020-03-12 09:11:41 +01:00 |
Alexander Medvednikov
|
e0c85f87ae
|
cgen: args fixes
|
2020-03-11 21:11:27 +01:00 |
Alexander Medvednikov
|
aada19f574
|
cgen: fix [] => string casts and for in
|
2020-03-11 19:00:55 +01:00 |
Joe Conigliaro
|
a1314bd199
|
checker/gen/table: impl fn types & sum/other fixes & tidy
|
2020-03-12 02:10:46 +11:00 |
Joe Conigliaro
|
7513dab185
|
table/checker: proper parent field/method lookup & cleanup
|
2020-03-11 20:48:45 +11:00 |
Alexander Medvednikov
|
22e558aecb
|
cgen: fix C style loops without an init; fix integer consts
|
2020-03-11 02:44:30 +01:00 |
Alexander Medvednikov
|
de55a26cfe
|
cgen: lots of fixes
|
2020-03-10 23:21:29 +01:00 |
Joe Conigliaro
|
f7a93a69f6
|
v: fix/gen multi return/assign + merge VarDecl & AssignStmt
|
2020-03-10 22:01:37 +11:00 |
Alexander Medvednikov
|
d9854f2abd
|
cgen: fix mutable receivers
|
2020-03-07 22:37:03 +01:00 |
Delyan Angelov
|
5e541e1f11
|
vfmt: alias type and sum type + sum type fix
|
2020-03-07 17:37:55 +01:00 |
Alexander Medvednikov
|
fbf80dc315
|
cgen: array_set()
|
2020-03-07 16:39:15 +01:00 |
Alexander Medvednikov
|
63032c4bb7
|
cgen: minor fixes
|
2020-03-07 16:23:10 +01:00 |
Joe Conigliaro
|
09d9dd2607
|
v: add map init
|
2020-03-07 18:13:00 +11:00 |
Alexander Medvednikov
|
c14c81ace6
|
cgen: fix ->
|
2020-03-07 04:45:35 +01:00 |
Alexander Medvednikov
|
180b9b971a
|
cgen: string_add()
|
2020-03-07 00:34:14 +01:00 |
Alexander Medvednikov
|
1a8b7d0447
|
cgen: fix slices
|
2020-03-06 22:24:42 +01:00 |
Alexey
|
81ce524705
|
ast: add Expr to AsCast
|
2020-03-06 22:12:15 +01:00 |
Alexander Medvednikov
|
5c8617ec68
|
ast: set IndexType.container_type; array_get()
|
2020-03-06 17:06:03 +01:00 |
Alexander Medvednikov
|
be2480c320
|
cgen: fix several errors
|
2020-03-06 16:31:44 +01:00 |
Alexander Medvednikov
|
91269961d0
|
cgen: array types
|
2020-03-06 13:44:13 +01:00 |
Joe Conigliaro
|
49f3ce0571
|
v2: add method call receiver to cgen & check method args
|
2020-03-06 20:52:03 +11:00 |
Joe Conigliaro
|
7008b1a92c
|
v2: update ident name for resolved const/fn objects
|
2020-03-06 10:10:01 +11:00 |
Alexander Medvednikov
|
9c1e50b1aa
|
vdoc: don't show deprecated functions
|
2020-03-05 16:13:14 +01:00 |
Alexander Medvednikov
|
6659f1751e
|
ast: make IdentInfo public
|
2020-03-05 14:16:08 +01:00 |
Joe Conigliaro
|
272eaaa704
|
v2: remove type fields from parser & some cleanup
|
2020-03-05 23:57:05 +11:00 |
Alexander Medvednikov
|
4161cfcdb8
|
cgen: lots of fixes
|
2020-03-05 00:43:09 +01:00 |
Alexander Medvednikov
|
f27f832ede
|
cgen: definitions + other fixes; calloc fix
|
2020-03-04 17:08:28 +01:00 |
Alexander Medvednikov
|
37453945d0
|
cgen: remaining nodes; match type fix; v2.c is now generated
|
2020-03-04 15:48:43 +01:00 |
Joe Conigliaro
|
e71948461e
|
v2: update MatchExpr
|
2020-03-04 21:59:45 +11:00 |
Joe Conigliaro
|
d501ea0afb
|
v2: fix array init
|
2020-03-04 12:50:32 +11:00 |
Joe Conigliaro
|
147ecc5e17
|
v2: time - prefix C struct & ast.TypeName to ast.Type
|
2020-03-04 01:06:21 +11:00 |
Alexander Medvednikov
|
22ffe336cb
|
checker: AsCast, CharLiteral, fix integer index check
|
2020-03-02 19:00:33 +01:00 |
Joe Conigliaro
|
f57a651e3b
|
v2: match expr fixes & tmp typeof skip
|
2020-03-02 20:53:38 +11:00 |
Alexander Medvednikov
|
82b0024758
|
fix v2 parser int.v error
|
2020-03-01 14:57:54 +01:00 |
Alexander Medvednikov
|
7a499b3cd3
|
checker: fix first() and last(); call_args; method cgen
|
2020-03-01 13:07:51 +01:00 |
Alexander Medvednikov
|
27ce38937c
|
checker: fix Assoc
|
2020-02-29 18:07:29 +01:00 |
Alexey
|
ee0a0afb25
|
v2: process `or` block for `CallExpr`
|
2020-02-29 15:03:32 +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 |
Joe Conigliaro
|
c4b9ef388f
|
v2: handle var decl & assign stmt together 1st step combining
|
2020-02-28 23:29:04 +11: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 |
Joe Conigliaro
|
237d83b2ee
|
v2: more work on AssignStmt & multi ret & initial blank ident
|
2020-02-27 21:12:30 +11:00 |
Alexey
|
ca9fa6407f
|
v2: distinguish public and private constants
|
2020-02-26 22:43:37 +01:00 |
Alexey
|
70f085be18
|
v2: process unsafe statements
|
2020-02-26 20:45:03 +01:00 |
Alexander Medvednikov
|
857cbfb0d2
|
v2: short struct init syntax; .xxx enum checks; unions; assert
|
2020-02-26 15:51:05 +01:00 |
Alexander Medvednikov
|
28ee0f4ebe
|
checker: check enums
|
2020-02-25 15:02:34 +01:00 |
Alexander Medvednikov
|
d510cd1e0d
|
fmt: else, for in
|
2020-02-22 16:59:50 +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 |
joe-conigliaro
|
fcd97f513a
|
v2: module/type/fn name fixes, compile fixes
|
2020-02-20 21:13:18 +11:00 |
Alexander Medvednikov
|
ec3d67c19f
|
checker: print multiple errors; none
|
2020-02-19 19:54:42 +01:00 |
Alexander Medvednikov
|
bc11419ff9
|
v2: fix for position and check
|
2020-02-19 11:06:36 +01:00 |
Alexander Medvednikov
|
19520ccf4e
|
v2: for in checker
|
2020-02-18 21:59:42 +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 |
Alexander Medvednikov
|
4e9bfa95ec
|
v2: the new parser can now parse the entire V compiler
|
2020-02-18 17:45:59 +01:00 |
Alexander Medvednikov
|
59beec8fae
|
new vfmt using the new parser
|
2020-02-17 22:50:11 +01:00 |
Alexander Medvednikov
|
1dd6491a2f
|
v2: more parser fixes
|
2020-02-17 14:15:49 +01:00 |
joe-conigliaro
|
d7f74ecf52
|
v2: move more type handling to checker + some clean up
|
2020-02-17 12:25:18 +01:00 |
joe-conigliaro
|
dc90f4f4a6
|
v2: remove unresolved types; handle types in checker; add ast.scope
|
2020-02-15 13:37:48 +01:00 |
Alexander Medvednikov
|
9610821884
|
v2: defer; match a,b; if x :=
|
2020-02-11 10:26:46 +01:00 |
Alexander Medvednikov
|
747f6829ab
|
v2: enum decl; type decl; [start..end] fix; %=
|
2020-02-10 23:19:50 +01:00 |
Alexander Medvednikov
|
26cfaa150e
|
v2: match expr; enum val; string formatting
|
2020-02-10 20:33:46 +01:00 |
joe-conigliaro
|
bf5ed5e451
|
v2: fix array index, for loop, add cast expr & other minor fixes
|
2020-02-10 14:43:17 +01:00 |
Alexander Medvednikov
|
c9f619dc72
|
v2: parse `filter()`
|
2020-02-10 14:42:57 +01:00 |
joe-conigliaro
|
e274c5c485
|
v2: type sys - store type idx/ptr in int & add helpers
|
2020-02-10 08:32:08 +01:00 |
joe-conigliaro
|
9e9bdc32ea
|
v2: lots of small fixes parent method/field resolution
|
2020-02-08 09:50:12 +01:00 |
Alexander Medvednikov
|
9034b1fd08
|
v2: match cgen; use `as` for casting
|
2020-02-07 14:50:52 +01:00 |
joe-conigliaro
|
67a13fc916
|
v2: start impl multi assign
|
2020-02-06 17:38:02 +01:00 |
joe-conigliaro
|
d9e92a08cb
|
v2: use pointer to table.type, fix unresolved array/map sub-types
|
2020-02-06 13:57:35 +01:00 |
Alexander Medvednikov
|
2b433cdf64
|
v2: match, <<=, >>=, |=, ~, unsafe, map init
|
2020-02-05 10:00:14 +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
|
c7f07cd0b6
|
v2: postfix_expr() checker
|
2020-02-04 07:37:41 +01:00 |
Alexander Medvednikov
|
6489b48c9c
|
v2: clean up IndexExpr type check
|
2020-02-03 11:29:50 +01:00 |
Alexander Medvednikov
|
d918903252
|
v2: move index expr type check
|
2020-02-03 07:45:09 +01:00 |
joe-conigliaro
|
2d5c70832c
|
v2: initial module support
|
2020-02-03 07:31:54 +01:00 |
Alexander Medvednikov
|
d87cb3f672
|
v2: consts, $if, attributes, globals, if/for type check, prefs
|
2020-02-03 07:03:32 +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 |
Shun Sakai
|
c8c43a2475
|
update copyright year
|
2020-01-23 21:04:46 +01:00 |
joe-conigliaro
|
3a8b437b8d
|
v2: move array_init to checker
|
2020-01-19 13:52:34 +01:00 |
joe-conigliaro
|
09d1eb7c55
|
v2: type checker + lots of other changes
|
2020-01-18 23:26:14 +01:00 |
Alexander Medvednikov
|
706c6066d5
|
index expression
|
2020-01-07 12:18:13 +01:00 |
joe-conigliaro
|
b7509577b5
|
v: cleanup & fixes. update variadic & multiple return
|
2020-01-07 12:10:07 +01:00 |
Alexander Medvednikov
|
69f3c42b99
|
method calls; skip string interpolation for now; fix ()
|
2020-01-07 01:08:24 +01:00 |
Alexander Medvednikov
|
48ea1153a5
|
for ;; syntax
|
2020-01-07 00:14:19 +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 |
joe-conigliaro
|
2061394ad7
|
v: initial impl of new type sys w/ pointer & placeholder support (#3323)
|
2020-01-04 17:57:25 +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
|
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 |
joe-conigliaro
|
80da2341aa
|
v: fix unary `+`,`-` & rename token.TokenKind to token.Kind
|
2019-12-31 10:53:30 +01:00 |
Alexander Medvednikov
|
093a025ebf
|
parse_files(); ast.File
|
2019-12-30 16:55:59 +01:00 |
Alexander Medvednikov
|
2d597d7804
|
array initialization
|
2019-12-30 10:37:09 +01:00 |
Alexander Medvednikov
|
806691c1db
|
for loop; struct decl; struct init; < > <= >=
|
2019-12-30 08:05:20 +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 |
Alexander Medvednikov
|
349576b5cd
|
fn call + fn args
|
2019-12-29 08:47:41 +01:00 |
Alexander Medvednikov
|
5a6428f1ff
|
AssignStmt
|
2019-12-29 06:37:08 +01:00 |
Alexander Medvednikov
|
b5fe40624c
|
staments + a sum type fix
|
2019-12-28 18:53:08 +01:00 |
Alexander Medvednikov
|
651c7e8de1
|
cgen tests
|
2019-12-28 11:55:14 +01:00 |
Alexander Medvednikov
|
379c79025b
|
run vfmt on v/
|
2019-12-28 10:38:29 +01:00 |
joe-conigliaro
|
a986321b6d
|
v: update parser / token & split parsing into methods
|
2019-12-28 09:15:32 +01:00 |
Alexander Medvednikov
|
66a07d7fe0
|
FnDecl, Return, statement block
|
2019-12-27 18:39:19 +01:00 |
Alexander Medvednikov
|
d27c5eb345
|
handle floats
|
2019-12-27 10:09:06 +01:00 |
Alexander Medvednikov
|
1af274a714
|
test_parser + minor fixes
|
2019-12-27 10:00:44 +01:00 |
Alexander Medvednikov
|
55dbb8b81c
|
v.types module
|
2019-12-27 09:09:55 +01:00 |
Alexander Medvednikov
|
14e9c3c7bb
|
rename compiler2.parser to v.parser etc
|
2019-12-27 06:09:16 +01:00 |