aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
AgeCommit message (Collapse)Author
2016-04-14fix crash with generic function and implicit castAndrew Kelley
2016-04-13fix evaluating generic functions in wrong contextAndrew Kelley
2016-04-08support hex escapes in string literalsAndrew Kelley
2016-04-08fix crash when passing empty string to functionAndrew Kelley
2016-04-07fix segfault in generic functionsAndrew Kelley
See #22
2016-04-07support multiple generic function instancesAndrew Kelley
See #22
2016-04-06support simple generic functionsAndrew Kelley
2016-04-03add multiline string literalAndrew Kelley
and make multiple lines in normal string literals an error
2016-03-01rewrite how importing worksAndrew Kelley
* Introduce the concept of packages. Closes #3 * Add support for error notes. * Introduce `@import` and `@c_import` builtin functions and remove the `import` and `c_import` top level declarations. * Introduce the `use` top level declaration. * Add `--check-unused` parameter to perform semantic analysis and codegen on all top level declarations, not just exported ones and ones referenced by exported ones. * Delete the root export node and add `--library` argument.
2016-02-16update bootstrap to work for macos tooAndrew Kelley
* Directives can have arbitrary expressions as parameters * Fix switch statement not generating code sometimes * Rename "main" fn in bootstrap.zig to "zig_user_main" to avoid name collisions * codegen: fix badref when unreachable is last thing in an expression * support #condition directive on exported functions
2016-02-11fix undefined LONG_LONG_MAX compilation errorSerge Paquet
2016-02-06rhs of ?? and %% can be any expressionAndrew Kelley
2016-02-06parser recognizes %return in a prefix op expressionAndrew Kelley
also defer only valid at statement level now see #110
2016-02-06simple unconditional defer supportAndrew Kelley
See #110
2016-02-05parsing code for defer and moreAndrew Kelley
* disable goto and label support see #44 * refactor the way block contexts work
2016-02-05update for loop syntaxAndrew Kelley
it matches more closely the %% binary operator syntax See #51
2016-02-04switch statements resolve peer compatibilityAndrew Kelley
2016-02-01inline is a keyword instead of a directiveAndrew Kelley
2016-02-01add ?? prefix operatorAndrew Kelley
2016-01-31parser: fix parsing of type declsAndrew Kelley
2016-01-31codegen extern global variables correctlyAndrew Kelley
2016-01-31parseh understands types better and handles some situations betterAndrew Kelley
See #88 Also, includes partial implementation of typedef top level declaration. See #95 Also, fix function types. Previously the way we were deduping function type pointers was incorrect.
2016-01-28ability to specify function typeAndrew Kelley
closes #14
2016-01-28parser: allow missing fn name and missing param namesAndrew Kelley
now these problems are caught in analyzer this is for purpose of function type, see #14
2016-01-27move AST rendering code to separate fileAndrew Kelley
2016-01-27upgrade to the libclang C++ APIAndrew Kelley
c_import creates a tmp .h file and parses it with libclang, reporting any errors found. See #88
2016-01-26add c_import top level declAndrew Kelley
see #88
2016-01-26different extern syntax and simplify parsing top level declsAndrew Kelley
2016-01-25implement compile time string concatenationAndrew Kelley
See #76
2016-01-25syntax: back to -> for return type, no more =>Andrew Kelley
2016-01-25implement %% prefix operatorAndrew Kelley
See #23 also make undefined constants use llvm undef value
2016-01-25implement %% operatorAndrew Kelley
See #23
2016-01-24introduce the error keyword and typeAndrew Kelley
See #23
2016-01-22add undefined literalAndrew Kelley
2016-01-22implicit casts rewrite the ASTAndrew Kelley
2016-01-21number literal reworkAndrew Kelley
2016-01-20parsing error value decls and error value literalsAndrew Kelley
and return with '?' or '%' prefix
2016-01-20basic support for switch expressionAndrew Kelley
2016-01-19add switch statement support to parserAndrew Kelley
2016-01-18add for loop which can iterate over arraysAndrew Kelley
See #51
2016-01-15parser: fix not setting container init kindAndrew Kelley
2016-01-15rename "use" to "import"Andrew Kelley
2016-01-15reduce precedence of {} suffix operatorAndrew Kelley
this makes []u8 {1, 2, 3, 4} work for array literal
2016-01-14fix next_node_index on wrong structAndrew Kelley
no more nondeterministic error messages closes #65
2016-01-14parser: type expressions cannot be assignmentAndrew Kelley
2016-01-14instead of 'as' to cast, call type as functionAndrew Kelley
2016-01-13fix noalias codegenAndrew Kelley
also make some parsing error messages better
2016-01-13all types are now expressionsAndrew Kelley
See #22
2016-01-10delete unused enumfield and enumdecl node typesAndrew Kelley
2016-01-10update enum parsing to new planAndrew Kelley