183 Commits

Author SHA1 Message Date
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
Ginger Bill
76e724718c Fix preload initialization ordering 2016-12-04 00:49: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
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
cbb70c7873 Fix parsing for comments; add global ODIN_* string constants 2016-11-24 23:22:16 +00:00
Ginger Bill
34ee89cfab Update README.md and roadmap.md 2016-11-23 13:57:33 +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
3517f96668 Remove: string overloads; defer 2016-11-22 20:29:46 +00:00