summary refs log tree commit diff stats
path: root/compiler/ast.nim
Commit message (Collapse)AuthorAgeFilesLines
* switch to bitsize:intAman Gupta2015-09-291-1/+1
|
* implement bitsize pragma for bitfieldsAman Gupta2015-09-281-0/+1
|
* made disjoint checker smarter; fixes regressionsAraq2015-09-231-0/+8
|
* fixes #3313Araq2015-09-181-0/+3
|
* usage of NimNode triggers .compileTime context; fixes #1679Araq2015-09-141-0/+5
|
* preparations for better handling of 'a[i]' in generics; stmt lists can be ↵Araq2015-09-121-1/+9
| | | | lvalues
* fixes a critical codegen bug triggered by .asyncAraq2015-09-101-0/+1
|
* fixes #2590; methods now require a .base annotationAraq2015-09-061-0/+1
|
* nimvm is magicYuriy Glukhov2015-09-041-1/+2
|
* first implementation of write tracking and escape analysis; still disabledAraq2015-08-311-2/+3
|
* implemented macros.getImplAraq2015-08-211-1/+1
|
* fixes #3079, fixes #1146, fixes #2879Araq2015-07-221-0/+2
|
* Linebreak TMagic by rough categoryJacek Sieka2015-07-121-35/+57
|
* fixes #3054Araq2015-07-051-1/+2
|
* macros: Introduce sameType(a, b) for node typesAdam Strzelecki2015-07-031-1/+2
| | | | | | | | | | | | | Previously introduced node comparison `==` was working somehow wrong on nodes returned from getType(a), comparing just ids of the symbols. Recently introduced `==` change 47dce2688633fad840a2f5e4073c531f1cd640ca started comparing symbol nodes pointer-wise, thus strictly. Since getType(a) always creates new symbol pointing to the type, comparing two such nodes using `==` always returns false, even they point to the same type. That is why we need a new sameType macro to be able to tell if these nodes point to the same type.
* implements varargs[untyped]; refs #2545; to be documentedAraq2015-07-021-1/+4
|
* fixes #2935Araq2015-07-011-0/+3
|
* Merge pull request #2896 from r-ku/I64-magics-goneAndreas Rumpf2015-06-121-12/+10
|\ | | | | I64 magics gone
| * Removed magics: mAbsI64rku2015-06-101-2/+2
| |
| * Removed magics: mBitnotI64rku2015-06-101-2/+2
| |
| * Removed magics: mEqI64 mLtI64 mLeI64rku2015-06-101-2/+2
| |
| * Removed magics: mShrI64, mShlI64, mBitandI64, mBitorI64, mBitxorI64rku2015-06-101-2/+0
| | | | | | | | Author: rku <rokups@zoho.com>
| * Removed magics: mAddI64, mSubI64, mMulI64, mDivI64, mModI64rku2015-06-101-4/+4
| | | | | | | | Author: rku <rokups@zoho.com>
* | Merge pull request #2892 from apense/patch-6Andreas Rumpf2015-06-101-0/+3
|\ \ | | | | | | Fixes #2886 (moves compiler function into the compiler)
| * | Moved negative indexing operator hereapense2015-06-091-0/+3
| |/ | | | | Only used here (not in standard library)
* / securehash: Keep module name consistentAdam Strzelecki2015-06-091-1/+1
|/ | | | | | 1. All other modules don't use underscore, why this should be different? 2. Wrap some imports to 80 column
* Merge pull request #2780 from flaviut/cleanup-crcAndreas Rumpf2015-06-091-1/+1
|\ | | | | Use SHA1 instead of CRC
| * Rename crc module to "secure_hash"Flaviu Tamas2015-05-231-1/+1
| |
* | fixes #2854Araq2015-06-061-1/+1
| |
* | Merge pull request #2859 from nanoant/patch/norewrite-pragmaAndreas Rumpf2015-06-051-0/+1
|\ \ | | | | | | {.noRewrite.} pragma for term rewriting
| * | Introduce {.noRewrite.} expr pragma disabling TRAdam Strzelecki2015-06-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Term rewriting macros/templates are currently greedy and they will rewrite as long as there is a match. So there was no way to ensure some rewrite happens only once, eg. when rewriting term to same term plus extra content. With new macro we can actually prevent further rewriting on marked expr or stmts, eg. with given example echo(...) will be rewritten just once: template pwnEcho{echo(x)}(x: expr) = {.noRewrite.}: echo("pwned!") echo "ab"
* | | Dropped 'T' from typespdw2015-06-041-1/+1
|/ /
* / Minor cosmetic changes.yglukhov2015-05-261-17/+5
|/
* added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin ↵Araq2015-04-221-4/+6
| | | | system to the compiler
* cleaned up some magics to make room for new magics; added '..<' and '..^' ↵Araq2015-04-221-5/+5
| | | | templates
* fixes #2505, fixes #1853, fixes #2522Araq2015-04-201-1/+3
|
* Merge branch 'devel' of https://github.com/Araq/Nim into develAraq2015-04-201-1/+1
|\
| * importing of C++ nested generics like std::vector<T>::iterator, using the ↵Zahary Karadjov2015-04-131-1/+1
| | | | | | | | apostrophe operator
* | implements .goto support for variablesAraq2015-04-191-0/+1
|/
* fixes #1691Araq2015-04-111-0/+7
|
* Get rid of deprecation warningsdef2015-04-071-3/+3
|
* first implementation of overloading of '='; missing: rewriting let/var sectionsAraq2015-04-061-1/+10
|
* GC-safety error messages are useful nowAraq2015-04-041-0/+1
|
* don't store the scope for routinesAraq2015-04-041-1/+1
|
* disallow negative indexingAraq2015-03-271-0/+1
|
* implemented a[^1] notationAraq2015-03-261-1/+1
|
* fixes #1805Araq2015-03-211-5/+3
|
* codegen doesn't produce line tracing commands anymore; fixes #1344Araq2015-03-211-4/+6
|
* 'constructor' pragma for C++ supportAraq2015-03-181-6/+4
|
* fixes #2257Araq2015-03-161-2/+6
|