aboutsummaryrefslogtreecommitdiff
path: root/src/parser.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* `in` keyword for `for` and `match type`Ginger Bill2017-01-271-2/+2
|
* Fix utf8 stuff, Allow _ in numbers, Begin writing next demo code.Ginger Bill2017-01-271-5/+4
|
* Library names - Only link with used foreign librariesGinger Bill2017-01-261-43/+66
|
* Fix pointer differences (issue #11); remove #dll_importGinger Bill2017-01-261-24/+30
|
* Change casting syntax: `cast(T)x` `transmute(T)x` et al.Ginger Bill2017-01-251-17/+102
|
* Fix issue #10Ginger Bill2017-01-201-35/+19
|
* `using` `immutable` `thread_local` on variable declarationsGinger Bill2017-01-191-29/+59
|
* `immutable` field prefixGinger Bill2017-01-191-57/+69
|
* Closed range `...` (both inclusive); Type comparisons with == and !=Ginger Bill2017-01-191-2/+6
|
* Change cast syntax, int(x), []byte(s), (^int)(p)Ginger Bill2017-01-171-16/+14
|
* Fix conversion of untyped integers to pointersGinger Bill2017-01-171-5/+5
|
* Comma for all field separators; Overloaded procedures follow exportation rulesGinger Bill2017-01-171-74/+164
|
* Best viable overloading procedure algorithm; `no_alias`; call expr style castsGinger Bill2017-01-171-18/+40
|
* Bug fix: comparisons with shiftsGinger Bill2017-01-151-30/+42
|
* Fix problem with `odin build`Ginger Bill2017-01-051-10/+7
|
* Rename llir -> irGinger Bill2017-01-041-31/+0
|
* v0.0.5Ginger Bill2017-01-031-0/+3
| | | | Fix enumerations to so they work as integers in indices; Add llir_opt.c and llir_print.c
* `while`; `range` is now `for`; remove ++ and --Ginger Bill2017-01-031-93/+44
|
* Interval expressions in `range`Ginger Bill2017-01-031-17/+35
|
* `range` statementGinger Bill2017-01-021-62/+127
|
* Fix parameter/field lists and #import #include syntaxGinger Bill2017-01-021-239/+103
|
* Nearly finished Jai-like declarationsGinger Bill2017-01-011-56/+81
|
* Begin transition to Jai-like syntaxGinger Bill2017-01-011-67/+117
|
* More declaration differentiation in semantic stage e.g. make only variables ↵Ginger Bill2017-01-011-16/+18
| | | | and constants
* Add enum type info and fix enum castingGinger Bill2017-01-011-9/+4
|
* Bring back `enum` but using iotaGinger Bill2017-01-011-1/+13
|
* Fix give expressionsGinger Bill2016-12-301-19/+35
|
* if expressionGinger Bill2016-12-301-23/+105
|
* Block Expressions and `give`Ginger Bill2016-12-301-3/+68
|
* Handle calling conventions correctlyGinger Bill2016-12-221-52/+113
|
* Fix anonymous procedures and their dependenciesGinger Bill2016-12-211-88/+116
|
* Generic (grouped) declarations: var, let, const, type, import, includeGinger Bill2016-12-201-181/+170
|
* Remove `enum` for favour of Go-style enumerationsGinger Bill2016-12-191-45/+6
|
* Golang style enumerations with `iota`Ginger Bill2016-12-191-15/+20
|
* Begin generic declarations for lists of specificationsGinger Bill2016-12-191-244/+235
|