Commit Graph

65 Commits

Author SHA1 Message Date
Ginger Bill b9ed546ce0 Record type field names 2017-02-12 11:31:04 +00:00
Ginger Bill 4306345ff1 Dynamic array syntax [...]Type; make entities private with a prefix of _; fix extension checking 2017-02-11 17:33:23 +00:00
Ginger Bill 73d6a55f5c Remove need for type keyword 2017-02-10 16:12:14 +00:00
Ginger Bill f18ae89931 Remove Maybe type; Enum names 2017-02-10 14:59:18 +00:00
Ginger Bill 219ca0ac46 Map type info and fmt printing 2017-02-07 00:10:58 +00:00
Ginger Bill 5796c41357 map immutable fields: count, capacity, allocator 2017-02-06 22:53:48 +00:00
Ginger Bill 205f4664f8 Update code from OSX merge to be consistent with the rest of the code
Remove some dead code whilst I was here too :P
2017-02-01 20:59:14 +00:00
Ginger Bill 34150385d8 Change vector memory layout and operations; for in vector. 2017-01-30 22:31:34 +00:00
Ginger Bill 9e143a38ce sprint*, variadic append works correctly now. 2017-01-29 21:29:10 +00:00
Ginger Bill e86c990b75 Overloaded free; 3 dotted ellipsis 2017-01-28 20:16:18 +00:00
Ginger Bill 31aacd5bf4 Fix parsing for block/if expression within if/for/etc. statements 2017-01-27 23:02:55 +00:00
Ginger Bill 92453369c5 Remove while loop and readd c-style for loops i.e. all loops are just for 2017-01-27 17:43:42 +00:00
Ginger Bill 832009f33a in keyword for for and match type 2017-01-27 16:34:58 +00:00
Ginger Bill d3d3bfd455 Fix utf8 stuff, Allow _ in numbers, Begin writing next demo code. 2017-01-27 12:43:01 +00:00
Ginger Bill e85458919c Basic float printing 2017-01-26 15:38:35 +00:00
Ginger Bill b59a052e32 Change casting syntax: cast(T)x transmute(T)x et al. 2017-01-25 19:19:25 +00:00
Ginger Bill 4603d2525e Closed range ... (both inclusive); Type comparisons with == and != 2017-01-19 11:29:15 +00:00
Ginger Bill 2af9fb79dc Change cast syntax, int(x), []byte(s), (^int)(p) 2017-01-17 23:36:07 +00:00
Ginger Bill cb59c1cf08 Comma for all field separators; Overloaded procedures follow exportation rules 2017-01-17 18:47:38 +00:00
Ginger Bill 383f5b55ad Best viable overloading procedure algorithm; no_alias; call expr style casts 2017-01-17 15:20:11 +00:00
Ginger Bill 6fe25badf0 Bug fix: comparisons with shifts 2017-01-15 12:00:13 +00:00
Ginger Bill c29d433e38 Handle enums correctly with printf 2017-01-08 23:19:50 +00:00
Ginger Bill ff473e8342 "Old style" enums
name and value information
`count`, `min_value`, `max_value` constants
2017-01-08 20:24:12 +00:00
Ginger Bill 659e5359b2 fmt.printf - Go style due to runtime type safety 2017-01-08 01:10:55 +00:00
Ginger Bill 915b5cdab7 Rename llir -> ir 2017-01-04 11:24:32 +00:00
Ginger Bill 70d4ca00df while; range is now for; remove ++ and -- 2017-01-03 19:11:12 +00:00
Ginger Bill ce89a1428e Fix parameter/field lists and #import #include syntax 2017-01-02 00:26:28 +00:00
Ginger Bill 9202bd1b06 Nearly finished Jai-like declarations 2017-01-01 20:41:10 +00:00
Ginger Bill a48e0c7179 Begin transition to Jai-like syntax 2017-01-01 19:08:03 +00:00
Ginger Bill 6fef74317c Bring back enum but using iota 2017-01-01 16:18:50 +00:00
Ginger Bill 23d32f34e5 Block Expressions and give 2016-12-30 15:45:10 +00:00
Ginger Bill d714bece47 Handle calling conventions correctly 2016-12-22 23:06:31 +00:00
Ginger Bill d0e1efe622 Generic (grouped) declarations: var, let, const, type, import, include 2016-12-20 18:58:17 +00:00
Ginger Bill 478d63424f Remove enum for favour of Go-style enumerations 2016-12-19 14:03:59 +00:00
Ginger Bill 77e219d442 Change var decl syntax
`var x int;` from `x: int;`
2016-12-18 22:32:18 +00:00
Ginger Bill e370337f97 var/const decl; remove : from parameter lists 2016-12-18 21:50:14 +00:00
Ginger Bill 5217eb55b4 Change of proc and type declaration syntax to "prefix" style
`proc name()` from `name :: proc()`
2016-12-18 20:34:55 +00:00
Ginger Bill f567983260 Semicolons mandatory again (and probably forever now...) 2016-12-16 11:31:08 +00:00
Ginger Bill fa89d2775a build_dll; Require an entry point procedure main 2016-12-08 17:33:30 +00:00
Ginger Bill a16bdb215a Go/BCPL style semicolon insertion during tokenizing stage 2016-12-05 23:39:26 +00:00
Ginger Bill 0b87313f08 Change entity collection strategy 2016-12-03 00:16:51 +00:00
Ginger Bill 4bb45700a5 Semicolons are required; when condition for certain file scope declarations; #import syntax change 2016-12-01 22:44:00 +00:00
Ginger Bill b232b9d5ea Basic when statement - Compile time if statement
This is similar to an #if in C but handled during the semantic checking stage.
2016-11-29 22:08:48 +00:00
Ginger Bill 4dd8552c32 Fix slicing and add clamp 2016-11-28 22:17:27 +00:00
Ginger Bill 598dab5bc4 #rune "" to ''; Remove infix and postfix call notation 2016-11-28 20:39:43 +00:00
Ginger Bill 36ad9dae43 128 bit integers
Kind of works but may be buggy due to LLVM not actually sure
2016-11-22 00:13:52 +00:00
Ginger Bill 24347ced45 Support any in match type 2016-11-20 01:34:43 +00:00
Ginger Bill a675d3f94d union_cast 2016-10-16 21:31:06 +01:00
Ginger Bill b9719df0ad Fix exact value bug when updating expressions 2016-10-16 00:26:53 +01:00
Ginger Bill 79af939522 Update ImplicitValue "architecture" 2016-10-15 22:30:58 +01:00