Ginger Bill
91857e8f16
Remove redundant paths in parsing
2017-06-12 21:25:47 +01:00
Ginger Bill
ccda456c0a
foreign blocks for procedures
2017-06-12 21:21:18 +01:00
Ginger Bill
83bad13e9e
Update default field value syntax; Use more declaration groupings
2017-06-12 18:38:27 +01:00
Ginger Bill
e6a206a430
Check for empty generic declaration list
2017-06-12 16:58:25 +01:00
Ginger Bill
f52a1e4ded
Fix IR bug for TypeSpec
2017-06-12 16:47:07 +01:00
Ginger Bill
a8e458339b
foreign_library allow for Pascal-style grouping
2017-06-12 16:26:51 +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
0c05fc1432
Prefix type and let to replace immutable
2017-06-12 12:56:47 +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
c2c935ba81
Fix trailing default argument checking
2017-06-11 20:52:54 +01:00
Ginger Bill
2d73c8868b
Make default arguments for records invalid syntax
2017-06-11 19:01:36 +01:00
Ginger Bill
49b4b39055
Minor change for overloaded procedures
2017-06-11 18:53:20 +01:00
Ginger Bill
366b306df0
Default parameters for procedures
2017-06-11 18:38:30 +01:00
Ginger Bill
4bf1f798f5
Allow for ignoring named procedural call arguments with _
2017-06-11 17:41:55 +01:00
Ginger Bill
b2fdb69b4d
Named procedure calls
2017-06-11 12:01:40 +01:00
Ginger Bill
af2736daec
Fix bit field bug
2017-06-08 16:29:05 +01:00
Ginger Bill
5cad7d44a6
Use templated Map for extra type safety
2017-06-08 13:26:48 +01:00
Ginger Bill
2b96be0ae8
Remove unnecessary typedef usage
2017-06-08 13:08:39 +01:00
Ginger Bill
2a89d8021c
Use templated Array with bounds checking
2017-06-08 12:54:52 +01:00
Ginger Bill
13deb4706c
Update String to use overloading
2017-06-08 12:37:07 +01:00
Ginger Bill
9b61adb97d
Build as C++
2017-06-08 12:03:40 +01:00
Ginger Bill
333924cce1
v0.3 Release
2017-06-08 11:35:22 +01:00
Ginger Bill
574b82c0c7
v0.3.0
2017-06-07 22:09:16 +01:00
Ginger Bill
f60c772c11
Make rune a basic type and not an alias; Remove byte
2017-06-06 23:54:33 +01:00
gingerBill
88b990eb63
Merge pull request #53 from ghost/master
...
Fix link time error about missing -fPIC flag
2017-06-06 09:47:40 +01:00
Ginger Bill
d2e7d730ac
Fix key generation for constant strings in IR
2017-06-05 23:06:15 +01:00
Ginger Bill
817e4b663e
Add murmurhash3.c
2017-06-05 22:52:56 +01:00
Ginger Bill
eba2c74bff
Allow 128 bit map keys
2017-06-05 18:01:41 +01:00
Ginger Bill
ebe5beaafd
Allow using on bit fields
2017-06-04 11:53:33 +01:00
Ginger Bill
029a6095d9
Fix enum printing bug
2017-06-04 00:20:16 +01:00
Ginger Bill
2c0e59ae06
bit_field; Lexical sugar operators ≠ ≤ ≥
...
Example below:
// See: https://en.wikipedia.org/wiki/Bit_field
BoxProps :: bit_field {
opaque : 1,
fill_colour : 3,
_ : 4,
show_border : 1,
border_colour : 3,
border_style : 2,
_ : 2,
width : 4,
height : 4,
_ : 8,
}
2017-06-03 22:27:23 +01:00
Ginger Bill
13b8a1e348
Remove quaternion128 and quaternion256 as core types
2017-06-01 14:52:33 +01:00
Ginger Bill
0d4945dc87
Implement u128/i128 features; Add bits.odin
2017-06-01 14:23:46 +01:00
Ginger Bill
fec6df65b3
Use 128-bit integers for ExactValue integers
2017-05-30 15:23:01 +01:00
Ginger Bill
78494e84d5
Remove some asserts in timings.c
2017-05-29 19:41:13 +01:00
Ginger Bill
60d7c833c0
Fix unary expression type check
2017-05-28 21:56:40 +01:00
Ginger Bill
98dbbf11f3
Fix procedure overloading distinguishing
2017-05-28 18:51:42 +01:00
Ginger Bill
f4924e39d4
Fix printing of struct literals with custom alignment
2017-05-28 16:11:19 +01:00
Ginger Bill
d3f63e5903
Change label syntax for for and match from #label name to name:
2017-05-28 15:01:39 +01:00
Ginger Bill
80c034ec7c
Change naming convention from Ada_Like to RustLike
...
Naming Conventions:
In general, PascalCase for types and snake_case for values
Import Name: snake_case (but prefer single word)
Types: PascalCase
Union Variants: PascalCase
Enum Values: PascalCase
Procedures: snake_case
Local Variables: snake_case
Constant Variables: SCREAMING_SNAKE_CASE
2017-05-28 14:47:11 +01:00
Ginger Bill
b41f09b730
Experimental try for ABI for return values on windows
...
It's all done by reverse engineering it. I may be wrong...
2017-05-28 14:11:00 +01:00
Ginger Bill
06185e1769
Try a different ABI type for return values on Windows
2017-05-28 01:07:52 +01:00
Ginger Bill
f8fa7fe380
Fix bug with too many field values in a structure literal.
2017-05-27 20:57:48 +01:00
Ginger Bill
45dbe8d354
default: to case:; no_alias to #no_alias
2017-05-27 11:47:21 +01:00
Ginger Bill
ddb99dd638
Fix interval loop constant bug; Fix ir edge checking; Fix vector arithmetic with scalars
2017-05-22 23:29:09 +01:00
Ginger Bill
41aa4e606b
Optional main for DLL; access struct elements by "index"
2017-05-17 21:23:52 +01:00
Ginger Bill
e025a828ca
Fix issue #66
2017-05-14 10:32:48 +01:00
Ginger Bill
3e18f5f057
Fix Ternary Operator IR bug
2017-05-13 16:08:50 +01:00