summary refs log tree commit diff stats
path: root/compiler/parser.nim
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Parser: Properly represent parsePar in grammarAdam Strzelecki2015-06-021-4/+6
|
* fixes #2533Araq2015-04-241-1/+1
|
* Merge pull request #2566 from nanoant/parser-diagnostic-locationAndreas Rumpf2015-04-241-3/+3
|\ | | | | Parser: Fix location (line, col) for diagnostics
| * Parser: Fix location (line, col) for diagnosticsAdam Strzelecki2015-04-211-3/+3
| | | | | | | | | | | | | | | | | | | | Previously parser was using lexMessage which was taking location from current buffer position which was pointing after recently consumed token. But since parser shows diagnostics about that token it should point to the location where token starts. This makes diagnostics like: `test.nim(2, 2) Error: ':' expected` point properly at the beginning of the wrong token.
* | Parser: Make exprList() not comsume endTokenAdam Strzelecki2015-04-201-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes use single comcol or eat for multiple cases. Also this makes exprList responsible for consuming only list of expressions, nothing else which is more logical. As a side-effect compiler is now more consistent about errors, eg.: try # <- missing something echo "try" finally: echo "finally" Triggers: test.nim(2, 6) Error: ':' expected try: echo "try" finally # <- missing something echo "finally" Previously triggered: test.nim(4, 6) Error: invalid indentation But now we got: Error: ':' expected - same as in 1st case