aboutsummaryrefslogtreecommitdiff
path: root/src/parser.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix statement parsing of unary: & and ^Ginger Bill2017-04-301-23/+2
|
* Syntax change: cast(T)x => T(x); union_cast(T)x => x.(T); transmute(T)x => ↵Ginger Bill2017-04-301-45/+52
| | | | | | transmute(T, x); `y:=^x` => `y:=&x;` Sorry for all the code breaking in this commit :(
* Fix issue #51; begin work on `atomic` typesGinger Bill2017-04-281-0/+21
|
* Fix issue #48 dependency issueGinger Bill2017-04-261-0/+4
|
* `fmt.String_Buffer`, Fix issue #44, Tweak overloading rulesGinger Bill2017-04-261-4/+8
|
* Fix checking if a procedure terminates for `for` loops.Ginger Bill2017-04-251-0/+3
|
* Swap memory layout of `any`Ginger Bill2017-04-231-0/+4
|
* Internal change: IntervalExpr is now a BinaryExprGinger Bill2017-04-221-49/+47
|
* Interval expressions for match statementsGinger Bill2017-04-211-1/+19
|
* Change interval syntax: .. open range, ..< half-closed rangeGinger Bill2017-04-201-5/+15
|
* Add `#require_results` for proceduresGinger Bill2017-04-161-0/+3
|
* Add parse_int; Fix union bugs with size, alignment, and recursive definition ↵Ginger Bill2017-04-141-0/+4
| | | | checking
* Fix fmt for type; remove dead stuffGinger Bill2017-04-131-16/+1
|
* Fix issue #31; Removed `down_cast`Ginger Bill2017-04-041-1/+0
|
* Update and regression test old demosGinger Bill2017-04-021-1/+2
|
* Complex numbers: complex64 complex128Ginger Bill2017-04-011-0/+2
|
* v0.1.3v0.1.3Ginger Bill2017-03-271-1/+1
|
* Multiple type cases for `match in`Ginger Bill2017-03-191-5/+13
|
* Add named branches for match statementsGinger Bill2017-03-191-64/+27
|
* Add branch labels for loops; using listGinger Bill2017-03-191-55/+95
|
* Update gb.hGinger Bill2017-03-171-2/+3
|
* windows.odin TYPE_NAME to Type_Name; More SSA work and SSA printing for ↵Ginger Bill2017-03-121-0/+14
| | | | debugging
* Slices now have a capacity.Ginger Bill2017-02-261-13/+31
|
* Ellipsis is now just `..`; Remove half-closed range operator and treat all ↵Ginger Bill2017-02-261-7/+2
| | | | of them as half-closed; slice expression uses `..`;
* ++ -- statements; add strconv.odin (and replace some of the fmt procs); Fix ↵Ginger Bill2017-02-261-0/+22
| | | | ~ on 64 bit constants; Fix integer casts from smaller to larger size
* Fix minor bugs in IR for slicesGinger Bill2017-02-231-1/+1
|
* A decent union type with common fields and variantsGinger Bill2017-02-211-12/+39
|
* Begin changing `union` syntaxGinger Bill2017-02-191-9/+33
|
* Named return values but do not affect other declarationsGinger Bill2017-02-181-92/+73
|
* Change ternary expression precedenceGinger Bill2017-02-181-45/+35
|
* Ternary expression (removed if and block expression)Ginger Bill2017-02-141-149/+127
|
* Prevent `cast` on pointer to union typesGinger Bill2017-02-141-3/+3
|
* Fix immutable rules; add some general documentationGinger Bill2017-02-141-1/+3
| | | | immutable is still a little weird and not completely what you'd expect. Maybe just not having it is better.
* Reimplement `immutable` with different rules.Ginger Bill2017-02-141-3/+3
|
* Use a global to store the build context informationGinger Bill2017-02-121-9/+5
|
* v0.1.0v0.1.0Ginger Bill2017-02-111-23/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Dynamic array syntax [...]Type; make entities private with a prefix of `_`; ↵Ginger Bill2017-02-111-4/+9
| | | | fix extension checking
* Only check files that have been truly imported.Ginger Bill2017-02-111-44/+67
|
* Remove need for `type` keywordGinger Bill2017-02-101-49/+38
|
* Remove Maybe type; Enum `names`Ginger Bill2017-02-101-31/+0
|
* `map` literalsGinger Bill2017-02-061-0/+1
|
* Custom struct alignmentGinger Bill2017-02-051-261/+312
|
* Update code from OSX merge to be consistent with the rest of the codeGinger Bill2017-02-011-0/+5
| | | | Remove some dead code whilst I was here too :P
* Merge branch 'master' of https://github.com/zhiayang/Odinzhiayang2017-02-021-143/+89
|\
| * Change internals of `context`; Disable `immutable`Ginger Bill2017-02-011-143/+89
| |
* | oh boy, basic osx/unix supportzhiayang2017-02-021-0/+1
|/
* Dynamic arraysGinger Bill2017-01-291-8/+26
|
* Overloaded `free`; 3 dotted ellipsisv0.0.6aGinger Bill2017-01-281-5/+12
|
* Fix parsing for block/if expression within if/for/etc. statementsv0.0.6Ginger Bill2017-01-271-5/+8
|
* Remove while loop and readd c-style for loops i.e. all loops are just `for`Ginger Bill2017-01-271-50/+111
|