Ginger Bill
1851674b50
Code use API rather than raw CheckerInfo; begin work on generic procedures
2017-06-15 18:11:58 +01:00
Ginger Bill
c5ef5279d4
Add foreign variables
2017-06-15 14:42:08 +01:00
Ginger Bill
d3c24d159f
Merge size_of and size_of_val et al.
2017-06-15 12:25:53 +01:00
Ginger Bill
23f9f9064e
Add CheckerInfo API functions
2017-06-15 12:14:56 +01:00
Ginger Bill
a134307dcd
Fix issue #72 - 128-bit literal corruption
2017-06-14 14:58:48 +01:00
Ginger Bill
c3b510c2d9
C-style c_varargs (Not heavily tested)
2017-06-13 21:00:42 +01:00
Ginger Bill
e7fc24e48c
Fix compilation error for Invalid EntityKind
2017-06-13 18:04:22 +01:00
Ginger Bill
6a88dc322a
Declaration grouping uses braces rather than parentheses
2017-06-13 15:04:23 +01:00
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