Nim/compiler
2018-12-03 18:57:44 +01:00
..
nimfix implements a --nep1:on switch to make the compiler enforce the naming conventions outlined in NEP-1 2018-06-13 01:44:19 +02:00
plugins Fix locals() interaction with generic types 2018-09-21 22:35:54 +02:00
aliases.nim more modules compile again 2018-05-12 11:58:44 +02:00
ast.nim IC: further progress 2018-12-01 00:36:14 +01:00
astalgo.nim IC: further progress 2018-12-01 00:36:14 +01:00
bitsets.nim Generate populationCount const at compile time (#7583) 2018-04-16 21:52:27 +02:00
btrees.nim added btrees.contains 2018-06-03 20:15:37 +02:00
canonicalizer.nim implement sizeof and alignof operator (manually squashed #5664) (#9356) 2018-10-14 00:52:28 +02:00
ccgcalls.nim Add toOpenArray[T](ptr UncheckedArray[T]) for clarity. (#9316) 2018-10-12 17:40:07 +02:00
ccgexprs.nim gc:destructors further progress 2018-11-29 01:13:32 +01:00
ccgliterals.nim gc:destructors further progress 2018-11-29 01:13:32 +01:00
ccgmerge.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
ccgstmts.nim Fixes 9716 [backport] (#9790) 2018-11-24 10:50:48 +01:00
ccgthreadvars.nim remove the last global variables in the C code generator 2018-05-28 18:18:43 +02:00
ccgtrav.nim exploit nil seqs for performance (#8688) 2018-08-20 11:54:18 +02:00
ccgtypes.nim IC: further progress 2018-11-20 19:30:00 +01:00
ccgutils.nim name mangling: also special case the backslash character 2018-09-17 20:48:55 +02:00
cgen.nim IC: further progress 2018-12-01 00:36:14 +01:00
cgendata.nim Simplify cgen forward proc (#9635) 2018-11-07 21:08:10 +01:00
cgmeth.nim Change the order of compilation passes, transformation is made lazy at code gen (#8489) 2018-10-18 20:21:25 +02:00
closureiters.nim Fixes 9716 [backport] (#9790) 2018-11-24 10:50:48 +01:00
cmdlinehelper.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
commands.nim document the --incremental build switch; make CIs green again 2018-11-21 11:39:38 +01:00
condsyms.nim Add isInstanceOf for generic procs to the macros module (#9730) 2018-11-21 21:30:03 +01:00
configuration.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
debuginfo.nim happy new year 2017-01-07 22:35:09 +01:00
depends.nim Make the registered passes local to the ModuleGraph (#9259) 2018-10-09 19:24:02 +02:00
destroyer.nim gc:destructors further progress 2018-11-29 01:13:32 +01:00
dfa.nim destructors; fixes #9594 2018-11-02 11:29:31 +01:00
docgen.nim fix #8289 (#9828) 2018-11-30 09:09:32 +01:00
docgen2.nim Fixes #9364 and add moduleDescription to jsondoc (#9396) 2018-10-17 00:34:47 +02:00
evalffi.nim remove ast.emptyNode global; cleanup configuration.nim 2018-05-16 03:06:07 +02:00
evaltempl.nim IC: further progress 2018-12-01 00:36:14 +01:00
extccomp.nim Compile pragma. Recompile on external file compilation failure (#9455) 2018-10-22 12:49:57 +02:00
filter_tmpl.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
filters.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
forloops.nim deprecated unary '<' 2017-10-29 08:37:13 +01:00
gorgeimpl.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
guards.nim Change the order of compilation passes, transformation is made lazy at code gen (#8489) 2018-10-18 20:21:25 +02:00
hlo.nim New approach 2018-06-12 00:20:08 +01:00
idents.nim deprecate the .this pragma 2018-08-09 20:31:40 +02:00
idgen.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
importer.nim IC: further progress 2018-11-22 23:17:47 +01:00
incremental.nim IC: further progress 2018-11-20 19:30:00 +01:00
installer.ini Cleanup installer.ini (#9558) 2018-10-30 06:31:17 +01:00
jsgen.nim fixes #9675 2018-11-26 10:41:26 +01:00
jstypes.nim platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals 2018-05-18 15:18:00 +02:00
lambdalifting.nim Change the order of compilation passes, transformation is made lazy at code gen (#8489) 2018-10-18 20:21:25 +02:00
layouter.nim nimpretty: explicit --indent option; fixes #9502; refs #9510 [backport] 2018-11-11 10:39:20 +01:00
lexer.nim make hex digit error msg more helpful (#9727) 2018-11-16 13:09:19 +01:00
liftlocals.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
lineinfos.nim Of operator in vm fixes [backport] (#9717) 2018-11-15 13:03:42 +01:00
linter.nim Nim style checker: document the switch; fixes #9564 2018-10-30 15:03:28 +01:00
lists.nim removed compiler internal list implementation (#5371) 2017-02-22 17:33:12 +01:00
llstream.nim Merge branch 'devel' into araq-better-docgen 2018-09-14 15:48:07 +02:00
lookups.nim fixes #9764 2018-11-23 09:54:57 +01:00
lowerings.nim Destructors: more moves for tuples (#9808) 2018-11-27 18:59:21 +01:00
macrocacheimpl.nim completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
magicsys.nim even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
main.nim make Nim take roughly 100MB less RAM for bootstrapping via a new compiler switch -d:leanCompiler; useful for the Raberry PI 2018-11-07 18:36:52 +01:00
modulegraphs.nim added first version of a nimfind tool for the poor souls that don't have a good nimsuggest integretation 2018-11-14 16:04:54 +01:00
modulepaths.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
modules.nim IC: more things work 2018-12-03 18:57:44 +01:00
msgs.nim IC: further progress 2018-11-22 23:17:47 +01:00
ndi.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
nim.cfg compiler/nim.cfg: cleanup --path 2018-09-21 00:31:16 +02:00
nim.nim Nimscript: fixes #9246 [backport] 2018-11-06 21:55:13 +01:00
nimblecmd.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
nimconf.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
nimeval.nim test case for #9180 and re-enables the disabled tcompilerapi test (#9181) 2018-10-11 09:44:35 +02:00
nimlexbase.nim fixes an off-by-one error for nimpretty 2017-10-16 00:04:46 +02:00
nimsets.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
nodejs.nim Add "safety compilation". Improved, fixed messages 2015-06-04 07:33:27 +02:00
nversion.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
options.nim incremental compilation: bugfixes 2018-11-19 18:51:47 +01:00
packagehandling.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
parampatterns.nim Allow taking address of skForVar variables (#8632) 2018-08-14 21:28:14 +02:00
parser.nim nimpretty: explicit --indent option; fixes #9502; refs #9510 [backport] 2018-11-11 10:39:20 +01:00
passaux.nim Make the registered passes local to the ModuleGraph (#9259) 2018-10-09 19:24:02 +02:00
passes.nim Make the registered passes local to the ModuleGraph (#9259) 2018-10-09 19:24:02 +02:00
pathutils.nim pathutils: remove dead code 2018-11-21 11:39:38 +01:00
patterns.nim fixes more nil handling regressions 2018-08-13 17:27:44 +02:00
platform.nim fixes #8081 2018-09-22 13:52:40 +02:00
pluginsupport.nim refactoring: fewer global variables 2018-05-27 19:19:12 +02:00
pragmas.nim enables .raises: [] via a .push (#9834) [backport] 2018-12-01 16:12:46 +01:00
prefixmatches.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
procfind.nim make tests green again 2018-05-18 20:53:41 +02:00
readme.txt Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
renderer.nim don't crash when rendering wrong nkInfix nodes 2018-10-12 19:22:39 +02:00
reorder.nim deprecated ospaths (#9665) 2018-11-09 16:36:49 +01:00
rod.nim IC: more things work 2018-12-03 18:57:44 +01:00
rodimpl.nim IC: more things work 2018-12-03 18:57:44 +01:00
rodutils.nim fixes 8594 (#8721) 2018-08-22 12:16:18 +02:00
ropes.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
saturate.nim compiler: Trim .nim files trailing whitespace 2015-09-04 23:03:22 +02:00
scriptconfig.nim incremental compilation: simple recompilation works 2018-11-19 17:16:52 +01:00
sem.nim Destructors: more moves for tuples (#9808) 2018-11-27 18:59:21 +01:00
semasgn.nim fixes #9692 2018-11-15 16:18:28 +01:00
semcall.nim Converter bug fixes (#9700) 2018-11-15 13:14:48 +01:00
semdata.nim Fix overload resolution for pragmas evaluation (#8902) 2018-10-09 19:58:23 +02:00
semexprs.nim fix #8289 (#9828) 2018-11-30 09:09:32 +01:00
semfields.nim extended system.type/typeof to support an upcoming 'collect' macro that works much better than sugar.lc 2018-09-11 19:02:05 +02:00
semfold.nim NaN fixes for clang backend (#9652) 2018-11-08 20:17:37 +01:00
semgnrc.nim added first version of a nimfind tool for the poor souls that don't have a good nimsuggest integretation 2018-11-14 16:04:54 +01:00
seminst.nim IC: further progress 2018-12-01 00:36:14 +01:00
semmacrosanity.nim make tests green again 2018-08-13 23:16:03 +02:00
semmagic.nim fixes #7365 2018-11-26 13:02:37 +01:00
semobjconstr.nim WIP: disallow 'nil' for strings and seqs 2018-08-13 11:41:33 +02:00
semparallel.nim Field checks for everybody (#8957) 2018-10-09 19:54:12 +02:00
sempass2.nim new minor language feature: .noSideEffect blocks like .gcsafe blocks 2018-11-27 00:36:29 +01:00
semstmts.nim new minor language feature: .noSideEffect blocks like .gcsafe blocks 2018-11-27 00:36:29 +01:00
semtempl.nim nimfind: improvements 2018-11-15 12:17:12 +01:00
semtypes.nim IC: further progress 2018-12-01 00:36:14 +01:00
semtypinst.nim IC: further progress 2018-12-01 00:36:14 +01:00
sighashes.nim Merge pull request #8966 from LemonBoy/fix-8964 2018-09-14 22:28:12 +02:00
sigmatch.nim More converter fixes (#9737) 2018-11-26 09:51:13 +01:00
sizealignoffsetimpl.nim gc:destructors: more progress 2018-11-29 20:10:52 +01:00
suggest.nim make Nim take roughly 100MB less RAM for bootstrapping via a new compiler switch -d:leanCompiler; useful for the Raberry PI 2018-11-07 18:36:52 +01:00
syntaxes.nim nimpretty: explicit --indent option; fixes #9502; refs #9510 [backport] 2018-11-11 10:39:20 +01:00
tccgen.nim fixes the remaining fixable Nimrod->Nim renamings; closes #2032 2018-09-03 09:34:31 +02:00
transf.nim VM: don't inject destructor calls, refs #7041 2018-11-06 19:36:39 +01:00
trees.nim introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
treetab.nim even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
types.nim Of operator in vm fixes [backport] (#9717) 2018-11-15 13:03:42 +01:00
typesrenderer.nim even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
vm.nim Add isInstanceOf for generic procs to the macros module (#9730) 2018-11-21 21:30:03 +01:00
vmdef.nim Add isInstanceOf for generic procs to the macros module (#9730) 2018-11-21 21:30:03 +01:00
vmdeps.nim fixes #9600 (#9601) 2018-11-07 08:40:00 +01:00
vmgen.nim new minor language feature: .noSideEffect blocks like .gcsafe blocks 2018-11-27 00:36:29 +01:00
vmhooks.nim compiler refactoring; use typesafe path handing; docgen: render symbols between modules 2018-09-07 19:21:16 +02:00
vmmarshal.nim even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
vmops.nim Fixes #9671 (#9750) 2018-11-19 09:22:21 +01:00
wordrecg.nim Added "typeof" and "restrict" to special words. (#9226) 2018-11-01 17:24:02 +01:00
writetracking.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00

This directory contains the Nim compiler written in Nim. Note that this
code has been translated from a bootstrapping version written in Pascal, so
the code is **not** a poster child of good Nim code.