gingerBill
f7e9649be4
Disable struct field reordering (for the time being)
2017-12-12 18:21:40 +00:00
gingerBill
991682e9fd
Fix write_entire_file
2017-12-06 10:58:02 +00:00
gingerBill
f0de994059
Make core library use procedure groupings rather than normal overloading
2017-12-04 22:01:51 +00:00
gingerBill
74fa7ca25d
New slice memory layout (ptr+len); byte
2017-11-26 18:36:46 +00:00
Nakst
b0d3fbba47
essence cross compile
2017-11-26 11:03:11 +00:00
gingerBill
a137699d95
Add optional truncate parameter to write_entire_file ( #144 )
2017-11-13 20:35:21 +00:00
gingerBill
a43b89f36e
#alias type declarations; core library additions; _global import name for the global scope
2017-10-29 11:35:21 +00:00
Ginger Bill
e6e0aba8c3
Remove when suffixes; Implement file scope when statement, evaluated in source order
2017-09-10 15:17:37 +01:00
Ginger Bill
8e3b77aba8
Library collections
2017-09-07 20:55:59 +01:00
Ginger Bill
cf3c5a878a
export declarations
2017-08-27 19:36:43 +01:00
Ginger Bill
b9e347ef50
Replace import_load with using import .
2017-08-27 17:03:27 +01:00
Ginger Bill
4262c125c5
Fix struct #packed alignment calculation
2017-08-12 20:04:35 +01:00
Ginger Bill
1df4aa90ce
Fix struct parameter bugs
2017-07-21 15:25:58 +01:00
Ginger Bill
4db462a703
Fix copy
2017-07-18 20:39:53 +01:00
Ginger Bill
d16aa79492
General specialization for polymorphic parameters
2017-07-18 18:05:41 +01:00
Ginger Bill
b8697fb4ed
Change precedence order for types e.g. ^T(x) == ^(T(x))
2017-07-13 16:20:07 +01:00
Ginger Bill
4b051a0d3b
.. half closed range; ... open range; ... variadic syntax
2017-07-07 23:42:43 +01:00
Ginger Bill
94afcec757
:: style procedure declarations; remove old parsing code
2017-06-28 23:47:06 +01:00
Ginger Bill
0622509807
Disable var and const declarations
2017-06-28 23:17:20 +01:00
Ginger Bill
2deb2f8eeb
Declaration grouping uses () rather than {}; Fix some problem with compilation on *nix
2017-06-17 12:01:53 +01:00
Ginger Bill
6a88dc322a
Declaration grouping uses braces rather than parentheses
2017-06-13 15:04:23 +01:00
Ginger Bill
6b5e9aec8e
Pascal style declaration grouping with ()
2017-06-12 15:42:21 +01:00
Ginger Bill
2ab0d97573
import and import_load as keywords; Fix procedure literal call trick
2017-06-12 14:19:12 +01:00
Ginger Bill
33eeb58521
Prefix proc syntax
2017-06-12 12:34:55 +01:00
Ginger Bill
8fafdb185c
Remove := with var and :: with const
2017-06-12 11:48:12 +01:00
Ginger Bill
f60c772c11
Make rune a basic type and not an alias; Remove byte
2017-06-06 23:54:33 +01:00
Ginger Bill
45dbe8d354
default: to case:; no_alias to #no_alias
2017-05-27 11:47:21 +01:00
Ginger Bill
3e18f5f057
Fix Ternary Operator IR bug
2017-05-13 16:08:50 +01:00
Ginger Bill
789b297f32
Add hidden __tag for union variables.
2017-05-04 20:34:50 +01:00
Zachary Pierson
7829421085
Fixed Windows (updated gb.h) | Need to test on MacOS and Linux now!
2017-02-11 23:52:56 -06:00
Zachary Pierson
c50aabd916
Merging from gingerBill's master
2017-02-11 23:35:07 -06: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
Zachary Pierson
8becbdc1b2
Added a very basic Linux standard library shamelessly stolen from the MacOS one.
...
Made Linux (almost) work. The generated binaries segfault, but it's so close I can almost taste it.
2017-02-07 00:28:21 -06:00
zhiayang
864310e3da
oh boy, basic osx/unix support
2017-02-02 04:20:33 +08: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
ce89a1428e
Fix parameter/field lists and #import #include syntax
2017-01-02 00:26:28 +00:00
Ginger Bill
d0e1efe622
Generic (grouped) declarations: var, let, const, type, import, include
2016-12-20 18:58:17 +00:00
Ginger Bill
a16bdb215a
Go/BCPL style semicolon insertion during tokenizing stage
2016-12-05 23:39:26 +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
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
24ca106521
v0.0.3 Build
2016-11-17 22:58:00 +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
f60dc7b0a7
Minor Style Fixes
2016-10-22 19:41:58 +01:00
Ginger Bill
50301557b2
Untyped nil
2016-10-06 17:11:17 +01:00
Ginger Bill
17ab23f1f0
Const Aggregate Literals for IR; Module path fix
2016-09-30 23:34:32 +01:00
Ginger Bill
5f6b0942f4
Update Standard Library; Fix Type_Info for integers
2016-09-28 00:07:03 +01:00
Ginger Bill
70f3361a34
Bug Fixes: some assertions; variable inits;
...
Remove some dead code
2016-09-24 22:55:17 +01:00
Ginger Bill
fa7d7938e1
Fix push_* with better defer system
2016-09-23 19:45:45 +01:00