aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
AgeCommit message (Collapse)Author
2017-03-16introduce new test syntaxAndrew Kelley
* remove setFnTest builtin * add test "name" { ... } syntax * remove --check-unused argument. functions are always lazy now.
2017-02-07inline assembly allows clobbers with no inputAndrew Kelley
2017-02-05try expression can omit variable assignmentsAndrew Kelley
2017-02-04inline assembly supports `%=` syntaxAndrew Kelley
it outputs a number that is unique to each instance of the asm statement in the entire compilation. useful when creating local labels and referring to them multiple times in a single template that generates multiple assembler instructions
2017-02-04remove volatileStore builtin; add volatile pointersAndrew Kelley
closes #238
2017-02-03implement packed structsAndrew Kelley
closes #183
2017-02-02add try expressionAndrew Kelley
See #83
2017-02-02remove ability to mark if and switch as inlineAndrew Kelley
if and switch are implicitly inline if the condition/target expression is known at compile time. instead of: ``` inline if (condition) ... inline switch (target) ... ``` one can use: ``` if (comptime condition) ... switch (comptime target) ... ```
2017-01-23various fixesAndrew Kelley
* comptime expression is a block expression as it should be * fix var args when number of args passed is 0 * implement const value equality for structs * fix indent when rendering container decl AST * IR: prevent duplicate generation of code when it is partially compile-time evaluated * implement compile time struct field pointer evaluation * fix compile time evaluation of slicing
2017-01-23basic support for functions with variable length argumentsAndrew Kelley
See #77
2017-01-22introduce comptime expressionAndrew Kelley
closes #221
2017-01-22use comptime instead of inline for var and paramsAndrew Kelley
See #221
2017-01-16get rid of zeroes literalAndrew Kelley
closes #222
2017-01-13fix some stuff when llvm has assertions onAndrew Kelley
2016-12-31IR: progress toward compiling standard libraryAndrew Kelley
* comptime fn call * is_comptime doesn't count as an instruction dependency * update more std code to latest zig
2016-12-18hello.zig working with all structs anonymousAndrew Kelley
2016-12-18IR: all structs anonymousAndrew Kelley
2016-12-07IR: add error for assigning runtime value to inline varAndrew Kelley
2016-12-06IR: implement deferAndrew Kelley
2016-12-04IR: re-organize where state goes to prepare for genericsAndrew Kelley
* Rip out legacy code for generics * put scope in instruction instead of AST nodes * separate top level decl stuff from AST nodes - remove the assumption that there is a 1:1 correspondence between an output instruction and an AST node - This way we won't have to clone AST nodes for generics.
2016-11-26IR: add inline gotoAndrew Kelley
2016-11-26IR: fix parsing while loopAndrew Kelley
2016-11-26IR: support inline switchAndrew Kelley
2016-11-24IR: generating a switch statementAndrew Kelley
2016-11-17remove AST cloning code and add AST render for while loopsAndrew Kelley
2016-11-17IR: pointers to constants don't copy dataAndrew Kelley
2016-11-03add concept of inline for, inline while, inline varAndrew Kelley
2016-10-16IR working for if statementsAndrew Kelley
2016-09-30empty function compiles successfully with IRAndrew Kelley
2016-09-28remove compiler directivesAndrew Kelley
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`, `setFnNoInline` builtin functions to replace previous directive functionality * add `coldcc` and `nakedcc` as keywords which can be used as part of a function prototype. * `setDebugSafety` builtin can be used to set debug safety features at a per block scope level. * closes #169
2016-09-26add this keyword refers to thing in immediate scopeAndrew Kelley
See #169
2016-09-19use size_t for indexesAndrew Kelley
protect against incorrect copies in debug mode
2016-09-08ability to infer parameter typesAndrew Kelley
2016-08-08add zeroes valueAndrew Kelley
2016-08-04new multiline string syntaxAndrew Kelley
This patch also moves a bunch of the parser code into the tokenizer. Closes #162.
2016-07-27explicit wrapping integer operationsAndrew Kelley
instead of wrapping integer types closes #159
2016-07-26std: improve rand implementation and APIAndrew Kelley
2016-07-25inline parametersAndrew Kelley
This replaces the current generic syntax for functions and replaces it with the concept of inline parameters. This paves the way for the "all structs anonymous" proposal. Closes #151.
2016-07-17rename NodeTypeStructDecl to NodeTypeContainerDeclAndrew Kelley
2016-05-18inline assembly: allow empty output listAndrew Kelley
2016-05-18fix offset map for inline assembly error messagesAndrew Kelley
2016-05-18fix raw string literal crashAndrew Kelley
2016-05-09fix ability to use previous generic params andAndrew Kelley
add error when `%return` shows up in a function with incorrect return type
2016-05-09support variable declarations in structsAndrew Kelley
See #22
2016-05-07support generic data structuresAndrew Kelley
See #22
2016-05-07better array concatenation semanticsAndrew Kelley
closes #87
2016-05-03support maybe destructuring into a pointer variableAndrew Kelley
2016-05-01implement string escapesAndrew Kelley
2016-04-28add array multiplication operatorAndrew Kelley
2016-04-28ability to specify body of an extern functionAndrew Kelley
closes #101