aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
AgeCommit message (Collapse)Author
2020-01-15disallow multiline strings in test and library namesVexu
2020-01-06remove stdcallcc, extern, nakedcc from stage1; zig fmt rewritesAndrew Kelley
2020-01-02Implement the callconv() annotationLemonBoy
2019-12-20fix std.mem.addNullByte and implement sentinel slicingAndrew Kelley
see #3770
2019-12-12fix dot init parsingVexu
2019-12-09remove var args from the languageAndrew Kelley
closes #208
2019-12-08add syntax for comptime struct fieldsAndrew Kelley
2019-12-02Accept comptime-known expression for asmLemonBoy
2019-11-23structs can have fields with type `var`Andrew Kelley
behavior tests passing now
2019-11-23update the stage1 implementation to the new proposalAndrew Kelley
See #3731
2019-11-21string literals are now null terminatedAndrew Kelley
this also deletes C string literals from the language, and then makes the std lib changes and compiler changes necessary to get the behavior tests and std lib tests passing again.
2019-11-21implement null terminated pointersAndrew Kelley
2019-11-17Merge pull request #3697 from Vexu/container-docsAndrew Kelley
Implement container level doc comments
2019-11-17properly parse anon literal in arrayVexu
2019-11-15add container doc comments to generated docsVexu
2019-11-15implemented container doc comments in stage 1Vexu
2019-11-11stage1 parser code for anon container litAndrew Kelley
2019-11-06add token for parsing pointer dereferenceBrendan Hansknecht
2019-10-21remove pub syntax for container fieldsVexu
2019-10-08generated docs: error sets in fn docsAndrew Kelley
2019-10-07generated docs: show doc comments on functionsAndrew Kelley
2019-10-06stage1 parser supports doc commentsAndrew Kelley
2019-09-05implement `noasync` function callsAndrew Kelley
See #3157
2019-09-05Add the noinline keyword for function declarationsLemonBoy
2019-08-30support recursive async and non-async functionsAndrew Kelley
which heap allocate their own frames related: #1006
2019-08-22parsing of align(N) on struct fieldsTetralux
2019-08-16implement new async syntax in self-hosted compilerVexu
2019-08-15remove `cancel`Andrew Kelley
2019-07-26add the `anyframe` and `anyframe->T` typesAndrew Kelley
2019-07-19remove coroutines implementation and promise typeAndrew Kelley
2019-07-19fix usingnamespaceAndrew Kelley
It used to be that usingnamespace was only allowed at top level. This made it OK to put the state inside the AST node data structure. However, now usingnamespace can occur inside any aggregate data structure, and therefore the state must be in the TopLevelDeclaration rather than in the AST node. There were two other problems with the usingnamespace implementation: * It was passing the wrong destination ScopeDecl, so it could cause an incorrect error such as "import of file outside package path". * When doing `usingnamespace` on a file that already had `pub usingnamespace` in it would "steal" the usingnamespace, causing incorrect "use of undeclared identifier" errors in the target file. closes #2632 closes #2580
2019-07-16rename internal names regarding `usingnamespace`Andrew Kelley
2019-07-06Make anyerror not a keywordhryx
2019-06-11Merge remote-tracking branch 'origin/master' into copy-elision-3Andrew Kelley
2019-06-10whitespace cleanupAndrew Kelley
2019-06-10Add check for null body in if, for and whileSamTebbs33
2019-06-09Merge remote-tracking branch 'origin/master' into copy-elision-3Andrew Kelley
2019-06-09different array literal syntax when inferring the sizeAndrew Kelley
old syntax: []i32{1, 2, 3} new syntax: [_]i32{1, 2, 3} closes #1797
2019-06-08hook up result locs for `try`Andrew Kelley
2019-05-29change `use` to `usingnamespace`Andrew Kelley
See #2014 `use` syntax is still accepted for now. `zig fmt` automatically updates code. After a release cycle the old syntax will be removed.
2019-05-11fixes #2235Jimmi Holst Christensen
2019-05-11Fixed parser for extern threadlocal variablesJimmi Holst Christensen
2019-05-10Fixes and simplifications for stage 1 parserJimmi HC
2019-04-22Allow tag expr for enum but not structhryx
2019-03-25implement allowzero pointer attributeAndrew Kelley
closes #1953 only needed for freestanding targets. also adds safety for `@intToPtr` when the address is zero.
2019-03-24introduce the enum literal typeAndrew Kelley
see #683
2019-03-20add docs for assembly and fix global assembly parsingAndrew Kelley
Previously, global assembly was parsed expecting it to have the template syntax. However global assembly has no inputs, outputs, or clobbers, and thus does not have template syntax. This is now fixed. This commit also adds a compile error for using volatile on global assembly, since it is meaningless. closes #1515
2019-03-19Updated parser to newest grammarJimmi Holst Christensen
2019-02-28remove namespace type; files are empty structsAndrew Kelley
closes #1047
2019-02-17Deduplicate compile log statement warningsMatthew McAllister