Commit Graph

116 Commits

Author SHA1 Message Date
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
703e1aa2bc Fix core library; Disable adding entity definitions for blank identifiers 2017-01-07 11:44:42 +00:00
Ginger Bill
207b252f23 Fix checking termination of a procedure 2017-01-05 22:32:19 +00:00
Ginger Bill
b07ee9ec23 Fix problem with odin build 2017-01-05 21:43:36 +00:00
Ginger Bill
915b5cdab7 Rename llir -> ir 2017-01-04 11:24:32 +00:00
Ginger Bill
cff1b3dff6 v0.0.5
Fix enumerations to so they work as integers in indices; Add llir_opt.c and llir_print.c
2017-01-03 20:07:46 +00:00
Ginger Bill
70d4ca00df while; range is now for; remove ++ and -- 2017-01-03 19:11:12 +00:00
Ginger Bill
a86896e4d3 Interval expressions in range 2017-01-03 18:02:13 +00:00
Ginger Bill
a3883a178c range statement 2017-01-02 18:47:47 +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
3f1195cd03 More declaration differentiation in semantic stage e.g. make only variables and constants 2017-01-01 18:18:43 +00:00
Ginger Bill
311b5cb6e2 Add enum type info and fix enum casting 2017-01-01 16:58:38 +00:00
Ginger Bill
6fef74317c Bring back enum but using iota 2017-01-01 16:18:50 +00:00
Ginger Bill
0c6775ca14 Fix give expressions 2016-12-30 22:52:43 +00:00
Ginger Bill
2ecafda1d3 if expression 2016-12-30 16:21:45 +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
923b039cf6 Fix anonymous procedures and their dependencies 2016-12-21 15:20:33 +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
ac1566762b Golang style enumerations with iota 2016-12-19 13:18:20 +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
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
625b98eac4 Fix issue with printing invalid IR for nested unions
(GitHub #4)
2016-12-17 10:23:28 +00:00
Ginger Bill
d4457e9fa4 Minor changes 2016-12-16 20:18:23 +00:00
Ginger Bill
f567983260 Semicolons mandatory again (and probably forever now...) 2016-12-16 11:31:08 +00:00
Ginger Bill
a6f8c9d6e0 v0.0.4 - odin build_dll, atomic.odin, sync.odin 2016-12-09 16:28:31 +00:00
Ginger Bill
e8b4228833 Fix procedure casting; SUBSYSTEM to CONSOLE in linker 2016-12-09 00:24:12 +00:00
Ginger Bill
0d69dfcde6 Custom entry points on Windows (DllMain; WinMain) 2016-12-09 00:07:08 +00:00
Ginger Bill
fa89d2775a build_dll; Require an entry point procedure main 2016-12-08 17:33:30 +00:00
Ginger Bill
517b34f798 Improve parsing with semicolon insertion 2016-12-06 00:05:59 +00:00
Ginger Bill
a16bdb215a Go/BCPL style semicolon insertion during tokenizing stage 2016-12-05 23:39:26 +00:00
Ginger Bill
88aa74bbb9 Remove multiple messages for cyclic type errors. 2016-12-05 00:22:30 +00:00
Ginger Bill
8ec9811d7a Fix (Crude) cyclic type checking for arrays and vectors 2016-12-04 23:41:21 +00:00
Ginger Bill
c71b547cde (Crude) Cyclic Type Checking 2016-12-04 23:25:52 +00:00
Ginger Bill
76e724718c Fix preload initialization ordering 2016-12-04 00:49:06 +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
be8b9bda2f Delay importing entities till all other entities are collected 2016-11-30 20:46:00 +00:00
Ginger Bill
d9c686b53d when statement; Better entity collection system (for both local and global); Better parsing for record declarations 2016-11-29 23:57:06 +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
492490f7f6 Update demo.odin 2016-11-28 22:16:29 +00:00
Ginger Bill
598dab5bc4 #rune "" to ''; Remove infix and postfix call notation 2016-11-28 20:39:43 +00:00
Ginger Bill
cbb70c7873 Fix parsing for comments; add global ODIN_* string constants 2016-11-24 23:22:16 +00:00
Ginger Bill
fb45287e9e Fix import/export rules for #import as . 2016-11-23 13:46:59 +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