Commit Graph

198 Commits (4dc703af2d8f5ade51bbd44953c66c68d2c824a7)

Author SHA1 Message Date
Alexander Medvednikov b2d1f55702 cgen_test fixes 2020-03-21 11:17:17 +01:00
Alexander Medvednikov 8077a7534e cgen: 7 errors left 2020-03-20 20:22:37 +01:00
Joe Conigliaro 4262ff76c3 checker/parser: check & gen stmts for ForIn & fix key, val vars 2020-03-18 23:18:18 +11:00
Joe Conigliaro cf094c6265 cgen: gen fn type declerations 2020-03-16 20:12:03 +11:00
Alexander Medvednikov 8a8f50a6a0 cgen: unwrapped optionals 2020-03-15 08:18:45 +01:00
Joe Conigliaro 50ed4004f4 ast/table: use common struct fn decl arguments 2020-03-15 09:21:36 +11:00
Delyan Angelov 19f9c18305
os: make executable() more robust 2020-03-13 22:19:02 +01: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
joe-conigliaro 853bb4c41e cgen: alias & map types & add map_string/map_int aliases 2020-03-12 17:56:44 +11: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 7309be55a0 table: fix error in field/method lookup from previous commit 2020-03-11 20:53:14 +11:00
Joe Conigliaro 7513dab185 table/checker: proper parent field/method lookup & cleanup 2020-03-11 20:48:45 +11:00
yuyi 9e14850bbf
vdoc: show map type correctly 2020-03-11 05:18:20 +01:00
Delyan Angelov 5e541e1f11
vfmt: alias type and sum type + sum type fix 2020-03-07 17:37:55 +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 8458ea40f0 v2: add UnsafeStmt to checker & byte/byteptr to check 2020-03-05 00:20:37 +11:00
Alexander Medvednikov 823b8ad244 table: Type str() 2020-03-03 18:38:41 +01:00
Joe Conigliaro 895a1711cb v2: fix type aliases & add check 2020-03-03 09:19:04 +11:00
Alexander Medvednikov 22ffe336cb checker: AsCast, CharLiteral, fix integer index check 2020-03-02 19:00:33 +01:00
Alexander Medvednikov baaa55f196 cgen: fix methods; println 2020-03-02 18:27:00 +01:00
Joe Conigliaro 8497d637d9 v2: allow pointers to be initialized with 0 2020-03-02 23:52:41 +11:00
Joe Conigliaro 16528b12fa v2: allow enum value to be used as int 2020-03-02 21:32:28 +11:00
joe-conigliaro a8f07157dd v2: implement sym types & handle in table.check 2020-03-02 16:40:18 +11:00
joe-conigliaro b333d02e3b v2: allow none & error for functions that return optional - checker 2020-03-02 13:58:36 +11:00
Joe Conigliaro 00dcaf0e04 v2: ArrayInit + all errs & unhandled + arrange nodes + type fix 2020-03-01 15:14:36 +11: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 c4b9ef388f v2: handle var decl & assign stmt together 1st step combining 2020-02-28 23:29:04 +11: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 c51f464446 v2: fix `mod.Enum.val` and `x = .val` 2020-02-27 00:12:40 +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 f6c2b3a54b v2: enum fixes 2020-02-25 13:30:43 +01:00
Alexey 87ad5a96b9
v2: stringify multi-return types 2020-02-24 16:38:31 +01:00
joe-conigliaro 15c288b444 v2: small type cleanup 2020-02-22 08:50:21 +11:00
Alexander Medvednikov 9be87d03f5 type_to_str: fix imported types 2020-02-21 19:56:37 +01:00
Alexander Medvednikov 4c95e59d5c fmt, doc: &; update 0.2 roadmap 2020-02-21 18:13:34 +01:00
Alexander Medvednikov 9e6773cba8 fmt: optionals; none 2020-02-21 17:52:20 +01:00
Alexander Medvednikov b309e7d0e5 type_to_str() 2020-02-21 14:47:42 +01:00
Alexander Medvednikov 6dac2edeef checker: is_number() 2020-02-21 13:44:03 +01:00
joe-conigliaro 8bb8b7d76e v2: add ability to store extra information with Type such as optional 2020-02-21 21:44:06 +11:00
Alexander Medvednikov 296e736f5b checker: minor fixes 2020-02-20 16:16:44 +01:00
joe-conigliaro fcd97f513a v2: module/type/fn name fixes, compile fixes 2020-02-20 21:13:18 +11:00
joe-conigliaro aab1045045 v2: reorder types idxs, > string defined with v struct. rm unresovled 2020-02-20 11:39:59 +11:00
Alexander Medvednikov 92e3e48bce v2: checker: [] and in 2020-02-19 21:13:42 +01:00
Alexander Medvednikov ec3d67c19f checker: print multiple errors; none 2020-02-19 19:54:42 +01:00
Alexander Medvednikov 092c09d81f vdoc using the new parser 2020-02-19 16:13:34 +01:00
joe-conigliaro 83bfd0805e v2: prefix functions with module, except in main & builtin 2020-02-19 17:16:38 +11:00
joe-conigliaro 9b271d1728 v2: remove left over testing printlns 2020-02-19 16:06:16 +11:00
joe-conigliaro f91bded9b3 v2: add missing table/modules.v 2020-02-19 13:11:55 +11:00
joe-conigliaro b62a90a212 v2: module/import fixes, use parent_idx instead of parent ptr to remove need to preallocate types array 2020-02-19 13:09:35 +11:00
Alexander Medvednikov 19520ccf4e v2: for in checker 2020-02-18 21:59:42 +01:00
Alexander Medvednikov 480af3f381 v2: checker fixes 2020-02-18 20:06:01 +01:00
joe-conigliaro 67756c53dc
v2: more cleanup (#3765) 2020-02-18 18:58:20 +11:00
joe-conigliaro ecb0af36b3
v2: cleanup old & unused code, add new simple tmp vars in cgen 2020-02-18 03:17:21 +01:00
Alexander Medvednikov 6d8ad58515 v2: mod.Type 2020-02-16 12:31:44 +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 8dd905a14d v2: more parser fixes 2020-02-13 14:08:19 +01:00
Alexander Medvednikov d9cf98f772 v2: imports 2020-02-12 01:16:38 +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
joe-conigliaro e274c5c485 v2: type sys - store type idx/ptr in int & add helpers 2020-02-10 08:32:08 +01:00
joe-conigliaro a2d2586331
v2: map / string / builtin type fixes 2020-02-08 16:59:57 +01:00
joe-conigliaro 9e9bdc32ea
v2: lots of small fixes parent method/field resolution 2020-02-08 09:50:12 +01:00
joe-conigliaro 35bef514b0
v2: checker & unresolved fixes & small updates 2020-02-07 18:46:42 +01:00
Alexander Medvednikov bb60b3081f v2: parse builtin successfully 2020-02-07 07:34:18 +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 ac5c4e3203 fix prod build 2020-02-04 17:48:15 +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 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 9f4661391d v2: simplify the type system; an initial version of the V interpreter 2020-02-02 07:56:18 +01:00
joe-conigliaro 09d1eb7c55 v2: type checker + lots of other changes 2020-01-18 23:26:14 +01:00
Alexander Medvednikov b6c0b22742 interfaces fixes; freetype.text_width(); gl and stbi fixes 2020-01-12 16:11:28 +01:00
Delyan Angelov 7bf49aba54 vv: make warns/errors usable in emacs/vim 2020-01-09 14:08:33 +01:00
Alexander Medvednikov 29564ed63d interface fix 2020-01-09 01:40:10 +01:00
joe-conigliaro 38e5f0d1cf v: initial type work for methods / struct fields 2020-01-08 17:14:42 +01:00
Alexander Medvednikov 3c0fca9258 register methods (wip) 2020-01-08 10:19:18 +01:00
joe-conigliaro 2ab7b40f2f v: clean up enum vals; make array_init return array 2020-01-07 15:46:57 +01:00
joe-conigliaro b7509577b5 v: cleanup & fixes. update variadic & multiple return 2020-01-07 12:10:07 +01:00
Alexander Medvednikov b815878d60
simplify and improve pratt 2020-01-06 16:13:12 +01:00
joe-conigliaro 5a6f9024d3 v: small fixes typo & register struct & and add array elem pointer 2020-01-05 11:52:03 +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 806691c1db for loop; struct decl; struct init; < > <= >= 2019-12-30 08:05:20 +01:00
Alexander Medvednikov 349576b5cd fn call + fn args 2019-12-29 08:47:41 +01:00
Alexander Medvednikov c915c58d12 local vars + Parser.errror() 2019-12-29 07:14:29 +01:00
Alexander Medvednikov 14e9c3c7bb rename compiler2.parser to v.parser etc 2019-12-27 06:09:16 +01:00