metagn
4d075dc301
clean up opensym encounters in compiler ( #24866 )
...
To protect against crashes when this stops being experimental, in most
places handled the exact same as normal symchoices (not encountered in
typed ast)
2025-04-12 08:39:11 +02:00
Andreas Rumpf
fe18ec5dc0
types refactoring; WIP ( #23086 )
2023-12-17 18:43:52 +01:00
ringabout
cca5684a17
fixes yet another strictdefs bug ( #23069 )
2023-12-15 08:13:25 +01:00
ringabout
93ced31353
use strictdefs for compiler ( #22365 )
...
* wip; use strictdefs for compiler
* checkpoint
* complete the chores
* more fixes
* first phase cleanup
* Update compiler/bitsets.nim
* cleanup
2023-08-06 14:26:21 +02:00
Andreas Rumpf
81087c949f
fixes #20572 ( #20585 )
...
* fixes #20572
* added a test case
2022-10-17 23:48:51 +02:00
metagn
de4b0346bd
store full definition AST for consts, fix noRewrite ( #20115 )
...
* continue #9582 for consts, close #9331 , fix #20114
also move extractPragma to ast to pave the way for things like {.strdefine: "abc".} etc
* changelog correctly
* fix jsgen
* update tgetimpl
* fix sighashes
* fix #19766 , add comment about postfix
* fix noRewrite LOL
refs #16620
* fix changelog
* fix destructors
2022-09-28 15:05:01 +02:00
flywind
7f6e800caf
move assertions out of system ( #19599 )
2022-03-23 20:34:53 +01:00
flywind
56bd5cbb87
fix a typo (canonilization => canonicalization) ( #18914 )
2021-09-28 03:05:22 -04:00
Timothee Cour
6e267d28b3
remove conditionals on nimHasUserErrors, nimNoNilSeqs2, nimNoNilSeqs ( #16861 )
...
* cleanup docs for type(nil) | type(nil); simplify nimHasUserErrors
* simplify nimNoNilSeqs2
* simplify nimNoNilSeqs
* fixup
2021-01-29 14:30:24 +01:00
Clyybber
7e747d11c6
Cosmetic compiler cleanup ( #12718 )
...
* Cleanup compiler code base
* Unify add calls
* Unify len invocations
* Unify range operators
* Fix oversight
* Remove {.procvar.} pragma
* initCandidate -> newCandidate where reasonable
* Unify safeLen calls
2019-11-28 17:13:04 +01:00
Clyybber
ed1d41c51e
Small ast.nim cleanup ( #12156 )
...
* Remove sonsLen
* Use Indexable
2019-09-09 11:54:15 +02:00
Andreas Rumpf
81ddc67785
[refactoring] compiler: simplified markUsed
2019-08-08 22:43:58 +02:00
Andreas Rumpf
fbb0642e27
Merge branch 'devel' into araq-detect-unused-imports
2019-07-18 18:16:32 +02:00
Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00
Araq
4137a4dbf3
[feature] detect unused imports
2019-07-17 22:36:23 +02:00
Arne Döring
b92fd30282
rename tyExpr/tyStmt to tyUntyped/tyTyped ( #11227 )
2019-05-11 10:11:08 +02:00
Clyybber
cc28eef38e
Replace countup(x, y) with x .. y
2019-05-07 12:37:28 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Araq
045e026d0e
dfa.nim: track object/tuple field accesses more precisely; sink(o.x); sink(o.y) needs to compile; activate the tuple unpacking transf.nim bugfix
2019-04-16 10:35:43 +02:00
Araq
420ed0596b
fixes more nil handling regressions
2018-08-13 17:27:44 +02:00
Andreas Rumpf
dae5450947
WIP: disallow 'nil' for strings and seqs
2018-08-13 11:41:33 +02:00
cooldome
44d82d9492
style improvements
2018-06-12 09:17:24 +01:00
cooldome
1b7cf3df51
New approach
2018-06-12 00:20:08 +01:00
Andreas Rumpf
05724645f8
more modules compile again
2018-05-12 11:58:44 +02:00
Andreas Rumpf
70ea45cdba
deprecated unary '<'
2017-10-29 08:37:13 +01:00
Andreas Rumpf
46efaf294b
big compiler refactoring; avoid globals for multi method dispatcher generation
2017-02-22 16:27:52 +01:00
Andreas Rumpf
b47d9b7b91
fixes #4371
2016-07-08 10:34:12 +02:00
Yuriy Glukhov
b6f5c12158
Fixed tr pattern matching for varargs
2016-04-07 21:24:43 +03:00
Adam Strzelecki
d681812465
compiler: Trim .nim files trailing whitespace
...
via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
2015-09-04 23:03:22 +02:00
Adam Strzelecki
13b57dbc2f
Introduce {.noRewrite.} expr pragma disabling TR
...
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"
2015-06-02 21:38:53 +02:00
Federico Ceratto
657dca5c3b
Fix typos
2015-02-15 16:20:32 +00:00
Araq
fd532b6dab
fixes #206
2014-11-16 21:59:21 +01:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
3c818c89be
fixes #1285
2014-06-30 23:36:46 +02:00
Araq
73c6efdf66
'nil' as a statement is deprecated, use an empty 'discard' instead
2014-01-19 16:54:59 +01:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
9de3bc8ef6
improvements for TR macros
2013-09-17 23:43:07 +02:00
Araq
c98696d742
lazy paths for Babel support
2012-12-11 20:06:15 +01:00
Araq
7171ae62cb
constraint now part of the parameter symbol and not of the type
2012-12-05 01:39:49 +01:00
Araq
92b449562e
tr macros now documented
2012-09-10 19:34:16 +02:00
Araq
d3d9d32c35
first steps to deprecate 'nil' statement
2012-09-09 01:08:00 +02:00
Araq
46e9ff6139
tmatrix.nim works now
2012-09-08 18:51:52 +02:00
Araq
b64eeeb430
term rewriting improvements
2012-09-08 15:43:21 +02:00
Araq
355ae07b8f
activated tests for tr macros
2012-09-06 00:23:55 +02:00
Araq
30c00aba07
bugfixes and improvements for term rewriting macros
2012-09-04 23:57:39 +02:00
Araq
6753d36854
further improvements for term rewriting macros
2012-09-04 00:55:13 +02:00
Araq
af7c92c003
term rewriting macros fully implemented; still buggy
2012-09-03 00:55:44 +02:00
Araq
1d14cb1ad8
next steps towards term rewriting macros; simple examples work
2012-08-30 22:55:32 +02:00
Araq
1786e30991
first steps towards term rewriting macros
2012-08-30 10:55:40 +02:00