Commit Graph
100 Commits
Author SHA1 Message Date
Ginger Bill 703e1aa2bc Fix core library; Disable adding entity definitions for blank identifiers 2017-01-07 11:44:42 +00:00
Ginger Bill b1e35b6da3 Fix array pointer as iterators; Remove stack allocations in startup_runtime 2017-01-06 15:47:07 +00:00
Ginger Bill fc1af0a04b Fix build error caused by invalid iterator types in for 2017-01-05 23:50:44 +00:00
Ginger Bill 4afb3f8fa4 Fix line comments at the end of file 2017-01-05 22:35:32 +00:00
Ginger Bill 207b252f23 Fix checking termination of a procedure 2017-01-05 22:32:19 +00:00
Ginger Bill 1356dfeec2 Fix SUBSYSTEM for link.exe 2017-01-05 21:58:24 +00:00
Ginger Bill d025791462 v0.0.5a 2017-01-05 21:46:09 +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 c8f99b360f Fix init_arena_from_context 2017-01-03 20:35:47 +00:00
Ginger Bill b76f6a8c27 Removed capacity arguments from new_slice and slice_ptr 2017-01-03 20:31:14 +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 883dd0642c Change prev ssa to llir; 2017-01-03 19:34:06 +00:00
Ginger Bill 40f5dd56f7 Fix for interval upper bound check 2017-01-03 19:22:08 +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 6748f305db select to phi in if expression 2016-12-30 16:31:04 +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 f5eeecaca5 Begin generic declarations for lists of specifications 2016-12-19 11:56:45 +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 4c10fbdcd4 Change record field syntax 2016-12-18 22:23:34 +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 062a2c63e1 Very minor style changes 2016-12-18 16:17:45 +00:00
Ginger Bill b957365b0d Merge branch 'master' of https://github.com/gingerBill/Odin
# Conflicts:
#	src/ssa_print.c
2016-12-17 10:26:07 +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 0f809989e3 Fix issue with printing invalid IR for nested unions
(GitHub #4)
2016-12-17 10:22:38 +00:00
Ginger Bill d4457e9fa4 Minor changes 2016-12-16 20:18:23 +00:00
Ginger Bill 9634b28b07 Add atomic.odin, sync.odin, sys/windows.odin 2016-12-16 17:21:39 +00:00
Ginger Bill f567983260 Semicolons mandatory again (and probably forever now...) 2016-12-16 11:31:08 +00:00
Ginger Bill ad84314143 Update README.md 2016-12-09 16:31:14 +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 de9016b7d0 Fix DllMain and only call main on DLL_PROCESS_ATTACH 2016-12-09 00:43:50 +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 60b6538a7a Set :: as a single token 2016-12-07 10:20:25 +00:00
Ginger Bill d9bd770992 Fix enumeration constant expressions; Remove empty file error 2016-12-06 14:06:31 +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 ab2ca7cf59 Fix illegal type declaration error 2016-11-30 20:07:23 +00:00
Ginger Bill b76c8abe73 error_node 2016-11-30 10:52:09 +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 348bcc3f9a Update version string 2016-11-28 22:23:54 +00:00
Ginger Bill 4dd8552c32 Fix slicing and add clamp 2016-11-28 22:17:27 +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 5aa0ef54c8 Add logo to README.md 2016-11-23 14:42:17 +00:00
Ginger Bill 7792f009b8 Numpty forgot to add .c files 2016-11-23 14:41:20 +00:00
Ginger Bill 4110324588 Update README.md 2016-11-23 14:33:32 +00:00
Ginger Bill 34ee89cfab Update README.md and roadmap.md 2016-11-23 13:57:33 +00:00
Ginger Bill fff995a27c Merge branch 'master' into cpp-to-c 2016-11-23 13:49:03 +00:00
Ginger Bill fb45287e9e Fix import/export rules for #import as . 2016-11-23 13:46:59 +00:00
Ginger Bill 4d30ef7eda Change extensions .cpp to .c 2016-11-23 12:29:50 +00:00
Ginger Bill a77c6b3e55 Compile as C! Whoop! 2016-11-23 12:25:37 +00:00
Ginger Bill ef8563a818 Remove auto 2016-11-23 12:03:26 +00:00
Ginger Bill aa2bcb166f typedef struct and start removing auto 2016-11-23 11:07:35 +00:00
Ginger Bill 8ecfca0c9b Remove templated Map; replace with #include macro "templates" trick 2016-11-23 10:36:48 +00:00
Ginger Bill 543a2d1e5a Swap b32 to bool, et al. 2016-11-23 09:46:58 +00:00
Ginger Bill cb7b9a413d Remove Array<T> and replace with macro version 2016-11-22 21:29:57 +00:00
Ginger Bill 3517f96668 Remove: string overloads; defer 2016-11-22 20:29:46 +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 24ca106521 v0.0.3 Build 2016-11-17 22:58:00 +00:00
Ginger Bill 4895031df5 Actually fix alignment for vectors
Whoops :P
2016-11-16 18:27:54 +00:00
Ginger Bill e2d98324ba Fix alignment issues with vectors, unions, and raw_unions 2016-11-16 12:36:02 +00:00
Ginger Bill 0cab083b8f #foreign_library; vector fields (x, y, z, w) for count <= 4 2016-11-15 12:06:58 +00:00
Ginger Bill 3ce044f84f Add general timings for sections of the compiler 2016-11-14 21:37:37 +00:00
Ginger Bill 7ba0f25943 Separate SSA opt; Basic Timings for sections only 2016-11-06 21:22:05 +00:00
Ginger Bill 6c2772d093 Scrap Virtual Machine and begin again
I just didn't like the style of it.
2016-11-03 16:26:22 +00:00
Ginger Bill 8534e064b9 File restructure (again) 2016-11-02 13:44:04 +00:00
Ginger Bill fa0eb88b7b Interpreter - bounds checking 2016-10-31 00:10:31 +00:00
Ginger Bill 5271adb82f Interpreter - Structs and Arrays 2016-10-30 23:48:32 +00:00
Ginger Bill 0ffe4b600d Interpreter - call internal procedures 2016-10-30 19:20:47 +00:00
Ginger Bill ca311c4a59 Begin work on the Interpreter 2016-10-30 17:49:30 +00:00
Ginger Bill 3ec67853e1 Minor Entity refactor 2016-10-30 13:20:45 +00:00
Ginger Bill 09f39ae2cc Better constant strings for SSA; Fix Type_Info 2016-10-26 20:10:32 +01:00