aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
AgeCommit message (Collapse)Author
2018-03-24add promise->T syntax parsingAndrew Kelley
closes #857
2018-02-19add async, await, suspend, resume, cancel keywordsAndrew Kelley
See #727
2018-02-14std.zig.parser understands try. zig fmt respects a double line break.Andrew Kelley
2018-02-02*WIP* error sets - correctly resolve inferred error setsAndrew Kelley
2018-01-23replace %defer with errdeferAndrew Kelley
See #632 now we have 1 less sigil
2018-01-22add new kind of test: generating .h files. and moreAndrew Kelley
* docgen supports obj_err code kind for demonstrating errors without explicit test cases * add documentation for `extern enum`. See #367 * remove coldcc keyword and add @setIsCold. See #661 * add compile errors for non-extern struct, enum, unions in function signatures * add .h file generation for extern struct, enum, unions
2018-01-09remove %% prefix operatorAndrew Kelley
See #632 closes #545 closes #510 this makes #651 higher priority
2018-01-07replace `a %% b` with `a catch b`Andrew Kelley
See #632 better fits the convention of using keywords for control flow
2018-01-07replace `%return` with `try`Andrew Kelley
See #632 better fits the convention of using keywords for control flow
2017-12-19wip bring back export keywordAndrew Kelley
2017-12-18wip export rewriteAndrew Kelley
2017-10-26Improve invalid character error messages (#566)Marc Tiehuis
See #544
2017-09-28fix build on mingwAndrew Kelley
2017-09-28Allow 128-bit hex float literalsMarc Tiehuis
Closes #499.
2017-09-13fix up msvc stuff to make it work on linux and macos tooAndrew Kelley
2017-09-11Add support for MSVCJonathan Marler
2017-08-29introduce align keywordAndrew Kelley
* remove `@setGlobalAlign` * add align keyword for setting alignment on functions and variables. * loads and stores use alignment from pointer * memcpy, memset use alignment from pointer * add syntax for pointer alignment * slices can have volatile * add u2, i2 primitives * ignore preferred align and use abi align everywhere * back to only having alignOf builtin. preferredAlignOf is too tricky to be useful. See #432. Partial revert of e726925e802eddab53cbfd9aacbc5eefe95c356f. See #37
2017-08-20compile-time f32, f64 operations are now correctly lossyAndrew Kelley
previously we used the bigfloat abstraction to do all compile-time float math. but runtime code and comptime code are supposed to get the same result. so now if you add a f32 to a f32 at compile time it does it with f32 math instead of the bigfloat. float literals still get the bigfloat math. closes #424
2017-08-09more intuitive left shift and right shift operatorsAndrew Kelley
Before: * << is left shift, not allowed to shift 1 bits out * <<% is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out After: * << is left shift, allowed to shift 1 bits out * >> is right shift, allowed to shift 1 bits out * @shlExact is left shift, not allowed to shift 1 bits out * @shrExact is right shift, not allowed to shift 1 bits out Closes #413
2017-08-07Correct floating-point literal allowed rangesMarc Tiehuis
The exponent range for floating-point values is [-1022, 1023]. Fixes #399.
2017-07-08better bigint/bigfloat implementationAndrew Kelley
2017-06-14progress toward windows hello world workingAndrew Kelley
2017-05-19change slicing syntax from ... to ..Andrew Kelley
See #359
2017-05-03remove test and try expressions in favor of if expressionsAndrew Kelley
See #357
2017-04-13typedefpocalypseAndrew Kelley
closes #314
2017-04-10fix some -Wconversion errorsAndrew Kelley
2017-03-26replace "&&" and "||" with "and" and "or"Andrew Kelley
closes #272
2017-03-26new unreachable syntaxAndrew Kelley
* `noreturn` is the primitive type. * `unreachable` is a control flow keyword. * `@unreachable()` builtin function is deleted. closes #214
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-12fix tokenization assertion failure on some float numbersAndrew Kelley
See #258
2017-02-03implement packed structsAndrew Kelley
closes #183
2017-02-02add try expressionAndrew Kelley
See #83
2017-01-22use comptime instead of inline for var and paramsAndrew Kelley
See #221
2017-01-16get rid of zeroes literalAndrew Kelley
closes #222
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-06build: add missing static in tokenizerAndrew Kelley
2016-08-29tokenizer: add missing return statement on float overflowAndrew Kelley
closes #177
2016-08-08add zeroes valueAndrew Kelley
2016-08-04implement multiline C string syntaxAndrew 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-27remove multiline commentsAndrew Kelley
closes #161
2016-07-27explicit wrapping integer operationsAndrew Kelley
instead of wrapping integer types closes #159
2016-07-09fix tokenizing string symbols with hex characters in themAndrew Kelley
2016-05-01implement string escapesAndrew Kelley
2016-04-28add array multiplication operatorAndrew Kelley
2016-04-24fix ability to parse character literalsAndrew Kelley
2016-04-24add skeleton for union supportAndrew Kelley
2016-04-22add syntax to allow symbols to have arbitrary strings as namesAndrew Kelley