summary refs log tree commit diff stats
path: root/compiler/parser.nim
Commit message (Collapse)AuthorAgeFilesLines
* when expressions, proper rendering for nkDo and nkLambda and parser support ↵Zahary Karadjov2012-04-051-10/+21
| | | | for x.type and x.addr
* untyped proc/template/macro params default to exprZahary Karadjov2012-03-201-1/+1
|
* implemented 'static'; macros do not work anymoreAraq2012-03-151-2/+19
|
* bugfix: no need for arrows to be new token kindsAraq2012-02-121-4/+6
|
* `do' keyword in the grammar for lambda blocksZahary Karadjov2012-02-101-7/+33
|
* pragma blocks; fixed line information issue with user defined assertionsAraq2012-01-171-1/+10
|
* bugfixes: tests are green againAraq2012-01-131-1/+2
|
* bugfix: invalid indentation for 'else' is detected; optional indentation for ↵Araq2012-01-131-1/+6
| | | | 'if' expressions
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* bugfix: suggest featureAraq2011-12-221-14/+10
|
* implemented 'let' statementAraq2011-11-291-1/+1
|
* operator precedence changed: assignment like operators are supported; ↵Araq2011-11-091-14/+24
| | | | escaping of operators with \ is supported
* fix of recently introduced parsing bugAraq2011-11-021-1/+1
|
* small bugfixes to make more tests greenAraq2011-11-021-0/+7
|
* better code generation for constant aggregatesAraq2011-11-021-1/+2
|
* 'bind' as a declarative statementAraq2011-10-101-11/+20
|
* new syntactic construct: a{i}Araq2011-10-081-1/+11
|
* l-values are preserved modulo type distinctionAraq2011-09-241-1/+2
|
* using statement (ala C#) implemented as macro (added as test).Zahary Karadjov2011-09-201-1/+2
| | | | simplified the usage of the interpolatedFragments iterator.
* Initial implementation of the parseExpr, parseStmt, getAst macro routines:Zahary Karadjov2011-09-201-0/+15
| | | | | | | | | | | | | | | | | | proc parseExpr*(s: string) : expr {.magic: "ParseExprToAst".} ## Compiles the passed string to its AST representation ## Expects a single expression proc parseStmt*(s: string) : stmt {.magic: "ParseStmtToAst".} ## Compiles the passed string to its AST representation ## Expects one or more statements proc getAst*(macroOrTemplate: expr): expr {.magic: "ExpandMacroToAst".} ## Obtains the AST nodes returned from a macro or template invocation ## example: ## macro FooMacro() = ## var ast = getAst(BarTemplate()) Handling of the node.toYaml magic moved to the evaluation engine.
* preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵Araq2011-07-311-1/+1
| | | | generated C code)
* old pointer deref operator completely removedAraq2011-07-231-5/+0
|
* nicer error messages for used keywords as identifiersAraq2011-06-191-3/+3
|
* bugfix: empty object case branches produce an errorAraq2011-06-191-1/+5
|
* bugfix: endless loop in parser; added sphinx wrapperAraq2011-06-141-0/+1
|
* lexer, parser cleanup; boehm gc for mac os xAraq2011-05-171-63/+59
|
* cleaned up the tests; fixes #30; fixes #26Araq2011-05-011-36/+8
|
* slice support in system.nim; syntactic sugar for tables; cleanup of ↵Araq2011-04-231-49/+23
| | | | grammar/parser
* parser got rid of cruftAraq2011-04-221-32/+9
|
* slices are first class citizensAraq2011-04-221-24/+17
|
* grammar changes for table constructor: second partAraq2011-04-211-1/+19
|
* grammar changes for table constructor: first partAraq2011-04-211-17/+24
|
* got rid of some arcane module namesAraq2011-04-211-0/+1434