summary refs log tree commit diff stats
path: root/compiler/parser.nim
Commit message (Collapse)AuthorAgeFilesLines
* improve error message for twrongcolonAndreas Rumpf2018-02-061-2/+2
|
* language change: 'generic' and 'atomic' are not keywords anymoreAndreas Rumpf2017-11-211-5/+1
|
* Block expressions (#6695)Fabian Keller2017-11-061-1/+5
| | | | | | * enabled parsing of block expressions * added test case; closes #3827 * adjusted grammar doc strings * updated grammar in docs
* fixes #6609; 'if' expressions support multiple statements; minor breaking changeAraq2017-11-051-14/+56
|
* work in progress: new implementation for 'a[^1]'Andreas Rumpf2017-10-291-1/+1
|
* beginnings of the new nimpretty tool; still unusableAndreas Rumpf2017-10-051-1/+1
|
* the parser finally parses 'echo {1,2}' as it shouldAndreas Rumpf2017-09-301-13/+1
|
* 'with' and 'without' are not keywords anymoreAraq2017-09-301-3/+9
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-19/+11
|
* Restore the old behavior of parsing "quote do:"Zahary Karadjov2017-08-191-5/+8
| | | | close #5845
* parser enhancement: allow keywords after dotsAndreas Rumpf2017-07-111-18/+28
|
* first steps to allow easy functors via macrosAndreas Rumpf2017-06-041-3/+4
|
* cleanup of in/out covariance handlingAndreas Rumpf2017-05-171-3/+3
|
* Merge branch 'zahary' into araq2Andreas Rumpf2017-05-171-1/+8
|\
| * support for external types with covariant generic paramsZahary Karadjov2017-05-081-1/+8
| |
* | Merge branch 'zahary' into araq2Andreas Rumpf2017-05-161-82/+81
|\|
| * fix a parsing regression (do is still mandatory in some situations)Zahary Karadjov2017-04-141-1/+4
| |
| * lift parameter-less do block to lambdasZahary Karadjov2017-04-101-6/+7
| |
| * support post expression blocks in return and yieldZahary Karadjov2017-04-101-1/+3
| |
| * fix a regression in tlexerexZahary Karadjov2017-04-101-13/+14
| |
| * fix a parsing regression (calls with do inside param lists)Zahary Karadjov2017-04-101-2/+5
| | | | | | | | | | This treatment is applied only when "do" is used, because the code foo(x: bar) is recognized as object construction.
| * fully consisent parsing between the new and the old 'do blocks'Zahary Karadjov2017-04-101-78/+67
| |
| * the new blocks without 'do' produce compatible AST with 'do blocks'Zahary Karadjov2017-04-091-4/+4
| |
* | fixes a parser bugAraq2017-04-251-4/+1
|/
* assignments support ': stmtList' like let/var doAndreas Rumpf2017-04-041-1/+7
|
* language addition: colon-block for expressions in let/var contextAndreas Rumpf2017-04-021-10/+16
|
* make pragma expression parsing use the same parser mechanism as elsewhereAndreas Rumpf2017-03-311-3/+2
|
* proper error reporting for concepts and the introduction of the {.explain.} ↵Zahary Karadjov2017-03-241-0/+8
| | | | pragma
* support the full range of type modifiers when declaring concept vars and ↵Zahary Karadjov2017-03-241-2/+10
| | | | testing proc signatures
* nimsuggest: suggest types in a type sectionAndreas Rumpf2017-03-141-0/+1
|
* nimsuggest: make tests green againAraq2017-03-101-2/+2
|
* nimsuggest: fixes nimsuggest bug #45; do not show suggestions in string ↵Araq2017-03-081-6/+52
| | | | literals or comments
* fixes #5430Araq2017-02-261-4/+4
|
* big refactoring: step 1Araq2016-10-311-7/+10
|
* implements #?braces syntaxAraq2016-10-161-7/+7
|
* remove unused stuffJacek Sieka2016-08-091-20/+0
|
* compiler almost free of deprecated expr/stmt namesAndreas Rumpf2016-07-301-2/+2
|
* stdlib and compiler don't use .immediate anymoreAndreas Rumpf2016-07-291-1/+1
|
* prepare for #3898Andreas Rumpf2016-07-151-3/+11
|
* fixes critical 'do' parsing bugAndreas Rumpf2016-05-281-2/+3
|
* fixes #4036Andreas Rumpf2016-04-041-0/+1
|
* use 'using' instead of 'sig' keyword; cleans up new features a bitAndreas Rumpf2016-02-291-3/+2
|
* first version of .partial objectsAndreas Rumpf2016-02-281-5/+10
|
* added 'sig' feature; removed tfShared support in the compilerAndreas Rumpf2016-02-281-0/+1
|
* implements multi-line-comments; pounds are stripped from the doc commentsAndreas Rumpf2016-01-161-6/+1
|
* finally removes 'echo ' gotchaAndreas Rumpf2016-01-151-5/+7
|
* 'out T' is an alias for 'var T'Araq2015-11-261-4/+5
|
* fixes #1799 properlyAraq2015-10-251-8/+15
|
* fixes #1799Araq2015-10-251-2/+3
|
* Parser: Inline expr pragmas with parenthesisAdam Strzelecki2015-06-021-0/+4
| | | | | | | | | | | Previously pragmas could be attached only to whole statements, this change allows attaching pragmas to inline statements, eg.: template rewriteAdd{a + b}(a: expr, b: expr): expr = ({.noRewrite.}: a + b) + 1 Code above will cause a + b to be rewritten once, because rewriteAdd attaches {.noRewrite.} to resulting a + b expr.