Commit Graph

93 Commits

Author SHA1 Message Date
gingerBill 3f4b6b22dc Change our IR name mangling rules 2018-06-03 17:55:13 +01:00
gingerBill 95482c554d Fix build.bat 2018-05-27 13:53:46 +01:00
gingerBill 86cf9383ea Fix delayed assert collection 2018-05-27 13:49:55 +01:00
gingerBill 1beff539d7 Single file "main" file 2018-05-27 13:22:24 +01:00
gingerBill 7ee9051a56 IR now builds with the new package system 2018-05-27 10:49:14 +01:00
gingerBill 5b6770f3d2 Parse directories to be packages 2018-05-21 20:47:52 +01:00
gingerBill 223c473cf6 Demo fix 2018-02-25 20:57:34 +00:00
gingerBill 1cd453db14 Remove unneeded disabled warnings for MSVC 2018-02-25 12:29:48 +00:00
gingerBill 8b288a2072 Reimplement opt stage 2018-01-20 16:16:59 +00:00
gingerBill 4e90644527 Remove timing for llvm-opt 2018-01-20 16:15:05 +00:00
Ginger Bill c6096f9205 Revert to demo.odin 2017-09-29 21:11:51 +01:00
Ginger Bill 11614c2649 Fix old_demos; Fix when bug; Fix enum .names 2017-09-29 21:11:16 +01:00
Ginger Bill 3a644dad78 Fix issue #101 2017-09-20 20:45:40 +01:00
Ginger Bill 8e3b77aba8 Library collections 2017-09-07 20:55:59 +01:00
Ginger Bill 2d20bde495 Remove () grouping for foreign_library 2017-08-27 19:24:30 +01:00
Ginger Bill b9e347ef50 Replace import_load with using import . 2017-08-27 17:03:27 +01:00
Ginger Bill 294092979e Update build.bat 2017-08-01 21:38:06 +01:00
Ginger Bill 0fae31fb54 Extra type safety; Fix typos 2017-07-31 11:36:00 +01:00
Ginger Bill 1d81b73df9 Basic command line flags: e.g. -opt=0 2017-06-24 22:58:50 +01:00
Ginger Bill 6b65ef6d88 Fix compilation bug on Linux 2017-06-21 17:48:50 +01:00
Ginger Bill 9b61adb97d Build as C++ 2017-06-08 12:03:40 +01:00
Ginger Bill 574b82c0c7 v0.3.0 2017-06-07 22:09:16 +01:00
Ginger Bill 04f5fff7fa Improve vector math; Make bprint* return string 2017-05-01 00:38:26 +01:00
Ginger Bill dc5587eae2 Fix statement parsing of unary: & and ^ 2017-04-30 17:20:37 +01:00
Ginger Bill 382a5ca6a2 Update and regression test old demos 2017-04-02 22:03:52 +01:00
Ginger Bill 22afac2b90 Update README.md with latest demo 2017-04-02 20:10:56 +01:00
Ginger Bill dc303cde21 Complex numbers: complex64 complex128 2017-04-01 12:07:41 +01:00
Ginger Bill a75ccb6fbc v0.1.3 2017-03-27 20:32:36 +01:00
Ginger Bill 5562364a98 Add branch labels for loops; using list 2017-03-19 16:59:11 +00:00
Ginger Bill 32150e401e Update gb.h 2017-03-17 12:30:59 +00:00
Ginger Bill e2734a2dc6 Begin work on the custom backend 2017-03-05 21:22:33 +00:00
Ginger Bill fb2d611dcd Update llvm binaries to latest version; Update utf8proc; 2017-03-03 11:09:37 +00:00
Ginger Bill 9e8c9be1ea Allow pointers to append; Fix strconv stuff; new_slice allows for capacity 2017-03-02 19:24:34 +00:00
Ginger Bill eec709c545 Fix fmt.odin printing enums 2017-02-24 20:55:35 +00:00
Ginger Bill b9ed546ce0 Record type field names 2017-02-12 11:31:04 +00:00
Ginger Bill e1fdd675ce v0.1.0
Added:
 * Dynamic Arrays `[...]Type`
 * Dynamic Maps   `map[Key]Value`
 * Dynamic array and map literals
 * Custom struct alignemnt `struct #align 8 { bar: i8 }`
 * Allow `_` in numbers
 * Variadic `append`
 * fmt.sprint*
 * Entities prefixes with an underscore do not get exported on imports
 * Overloaded `free` for pointers, slices, strings, dynamic arrays, and dynamic maps
 * enum types have an implict `names` field, a []string of all the names in that enum

Removed:
 * Maybe/option types
 * immutable variables
 * Remove `type` keyword and other "reserved" keywords
 * `compile_assert` and `assert`return the value of the condition for semantic reasons

Changed:
 * thread_local -> #thread_local
 * #include -> #load
 * Files only get checked if they are actually used
 * match x in y {} // For type match statements
 * Version numbering now starts from 0.1.0 and uses the convention:
 	- major.minor.patch

Fixes:
 * Many fmt.* fixes

To come very Soon™:
 * Linux and OS X builds (unofficial ones do exist already)
2017-02-11 21:20:57 +00:00
Ginger Bill 984e36a151 Dynamic arrays 2017-01-29 20:15:16 +00:00
Ginger Bill ec9c8fb8a4 Update README.md 2017-01-29 14:45:12 +00:00
Ginger Bill 3e79ec4aef Fix untyped to any assignments. Fixed crash when arguments with no value are passed 2017-01-29 14:27:55 +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 703e1aa2bc Fix core library; Disable adding entity definitions for blank identifiers 2017-01-07 11:44:42 +00:00
Ginger Bill 4afb3f8fa4 Fix line comments at the end of file 2017-01-05 22:35:32 +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 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 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 a16bdb215a Go/BCPL style semicolon insertion during tokenizing stage 2016-12-05 23:39:26 +00:00
Ginger Bill c71b547cde (Crude) Cyclic Type Checking 2016-12-04 23:25:52 +00:00