Nim/compiler
Quelklef f2b6efb7dc Make pragmas look clickable in docs (#8176)
* Visual cues for hidden pragmas in docs.
* Add hover cue
2018-07-17 12:14:31 +02: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 baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
aliases.nim more modules compile again 2018-05-12 11:58:44 +02:00
ast.nim Custom pragmas in proc types (#8205) 2018-07-09 12:11:03 +02:00
astalgo.nim Gdb pretty printers (#8263) 2018-07-16 19:30:05 +02: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 deprecated unary '<' 2017-10-29 08:37:13 +01:00
ccgcalls.nim codgen refactoring: prepare for alternative string/seq implementations 2018-06-29 11:34:39 +02:00
ccgexprs.nim Don't depend on string.h in codegen (#8299) 2018-07-13 17:41:59 +02:00
ccgliterals.nim C code generator compiles again 2018-05-12 23:45:51 +02:00
ccgmerge.nim platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals 2018-05-18 15:18:00 +02:00
ccgstmts.nim fix #7405 and #8195 (#8198) 2018-07-16 13:34:44 +02:00
ccgthreadvars.nim remove the last global variables in the C code generator 2018-05-28 18:18:43 +02:00
ccgtrav.nim codgen refactoring: prepare for alternative string/seq implementations 2018-06-29 11:34:39 +02:00
ccgtypes.nim Bugfix for modules with multi byte characters in the name (#8319) 2018-07-14 16:00:51 +02:00
ccgutils.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
cgen.nim Don't depend on string.h in codegen (#8299) 2018-07-13 17:41:59 +02:00
cgendata.nim fixex merge conflicts 2018-06-08 19:50:36 +02:00
cgmeth.nim Pick the and symbol we need explicitly (#8249) 2018-07-08 22:00:32 +02:00
closureiters.nim fixex merge conflicts 2018-06-08 19:50:36 +02:00
commands.nim Warn the user if the specified verbosity level is wrong 2018-06-25 15:46:38 +02:00
condsyms.nim A minimal patch enabling the new typedesc and static types syntax 2018-06-16 16:46:32 +03: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 incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
destroyer.nim baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
dfa.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
docgen.nim Make pragmas look clickable in docs (#8176) 2018-07-17 12:14:31 +02:00
docgen2.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
evalffi.nim remove ast.emptyNode global; cleanup configuration.nim 2018-05-16 03:06:07 +02:00
evaltempl.nim baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
extccomp.nim Give different names to objects coming from cpp files (#8278) 2018-07-13 15:23:41 +02:00
filter_tmpl.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
filters.nim big refactoring: magicsys compiles again 2018-05-10 13:12:42 +02:00
forloops.nim deprecated unary '<' 2017-10-29 08:37:13 +01:00
gorgeimpl.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
guards.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
hlo.nim New approach 2018-06-12 00:20:08 +01:00
idents.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
idgen.nim big refactoring: parser compiles again 2018-05-10 10:49:51 +02:00
importer.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
incremental.nim incremental compilation: save the configuration 2018-06-11 00:14:29 +02:00
installer.ini Nintendo switch support (#8069) 2018-06-27 12:35:09 +02:00
jsgen.nim AST change: keep nkStaticStmt in the AST for incremental compilation support 2018-06-03 20:16:29 +02: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 fixes yet another merge conflict 2018-06-11 17:17:34 +02:00
layouter.nim nimpretty: detect '; vs ,' style based on the first usage of the token in parameter lists 2018-06-26 01:43:41 +02:00
lexer.nim Deprecate 'c', 'C' prefix for octal literals, fixes #8082 (#8178) 2018-07-03 01:56:36 +02: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 fix #7405 and #8195 (#8198) 2018-07-16 13:34:44 +02:00
linter.nim 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
lists.nim removed compiler internal list implementation (#5371) 2017-02-22 17:33:12 +01:00
llstream.nim closes #5070 2017-10-15 20:55:38 +02:00
lookups.nim baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
lowerings.nim allow referencing other parameters in default parameter values 2018-06-16 16:46:32 +03:00
macrocacheimpl.nim completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
magicsys.nim baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
main.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
modulegraphs.nim completed VM support for incremental compilations 2018-06-04 01:01:08 +02:00
modulepaths.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
modules.nim toy program works with incremental compilation 2018-06-07 18:24:16 +02:00
msgs.nim make basic debugging possible 2018-06-26 01:42:36 +02:00
ndi.nim preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
nim.cfg disable -d:nimIncremental for devel 2018-06-11 17:08:25 +02:00
nim.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
nimblecmd.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
nimconf.nim fixex merge conflicts 2018-06-08 19:50:36 +02:00
nimeval.nim make tests green again 2018-06-11 01:23:14 +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 remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
options.nim code cleanup: remove newScopeForIf switch 2018-07-04 20:04:08 +02:00
packagehandling.nim guards.nim does compile 2018-05-11 13:07:16 +02:00
parampatterns.nim guards.nim does compile 2018-05-11 13:07:16 +02:00
parser.nim Merge branch 'devel' into typedesc-reforms 2018-06-26 18:33:51 +02:00
passaux.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
passes.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
patterns.nim style improvements 2018-06-12 09:17:24 +01:00
platform.nim Nintendo switch support (#8069) 2018-06-27 12:35:09 +02:00
pluginsupport.nim refactoring: fewer global variables 2018-05-27 19:19:12 +02:00
pragmas.nim Don't remove extension of source files twice, if filenames contain dots 2018-06-26 20:08:40 +09: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 Fixes #8287 (#8288) 2018-07-12 11:03:08 +02:00
reorder.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
rod.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
rodimpl.nim incremental compilation: save the configuration 2018-06-11 00:14:29 +02:00
rodutils.nim new .rod file implementation; part 1: writing of the file 2018-02-17 00:40:48 +01:00
ropes.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
saturate.nim compiler: Trim .nim files trailing whitespace 2015-09-04 23:03:22 +02:00
scriptconfig.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
sem.nim make runnableExamples use a private nimcache so that they can be tested in parallel (#8281) 2018-07-12 11:06:20 +02:00
semasgn.nim enable destructors without the --newruntime switch 2018-07-04 20:36:15 +02:00
semcall.nim allow referencing other parameters in default parameter values 2018-06-16 16:46:32 +03:00
semdata.nim Implement the is operator for the new static and typedesc type classes 2018-06-16 16:46:32 +03:00
semexprs.nim fix #7405 and #8195 (#8198) 2018-07-16 13:34:44 +02:00
semfields.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
semfold.nim More concept fixes 2018-06-24 15:13:34 +02:00
semgnrc.nim Fix use of custom pragmas in generic procs (#8165) 2018-07-01 08:06:58 +02:00
seminst.nim allow referencing other parameters in default parameter values 2018-06-16 16:46:32 +03:00
semmacrosanity.nim more modules compile again 2018-05-12 11:58:44 +02:00
semmagic.nim Do not consider enums with holes as ordinals (#8264) 2018-07-12 18:08:45 +02:00
semobjconstr.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
semparallel.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
sempass2.nim Custom pragmas in proc types (#8205) 2018-07-09 12:11:03 +02:00
semstmts.nim code cleanup: remove newScopeForIf switch 2018-07-04 20:04:08 +02:00
semtempl.nim code cleanup: remove newScopeForIf switch 2018-07-04 20:04:08 +02:00
semtypes.nim Resolve converter call to constants in case arms (#8336) 2018-07-16 16:19:31 +02:00
semtypinst.nim enable destructors without the --newruntime switch 2018-07-04 20:36:15 +02:00
sighashes.nim Correctly hash inferred types (#8286) 2018-07-12 13:00:11 +02:00
sigmatch.nim Do not crash while instantiating a generic outside a call (#8279) 2018-07-14 01:44:40 +02:00
suggest.nim incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
syntaxes.nim remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
tccgen.nim nimrod is obsolete 2015-11-03 14:52:36 +01:00
transf.nim make tests green again 2018-07-05 15:51:04 +02:00
trees.nim introduce nkTupleConstr AST node for unary tuple construction; breaking change 2018-04-13 17:45:58 +02:00
treetab.nim compiler: Trim .nim files trailing whitespace 2015-09-04 23:03:22 +02:00
types.nim Do not consider enums with holes as ordinals (#8264) 2018-07-12 18:08:45 +02:00
typesrenderer.nim avoid more global variables 2018-05-11 15:01:28 +02:00
vm.nim Fix vm regression (#8163) 2018-06-30 13:38:52 +02:00
vmdef.nim Improve vm support for ref types 2018-06-26 21:25:27 +02:00
vmdeps.nim Custom pragmas in proc types (#8205) 2018-07-09 12:11:03 +02:00
vmgen.nim Fixed uncaught exception in vm gen 2018-06-13 15:39:45 +03:00
vmhooks.nim stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
vmmarshal.nim refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
vmops.nim compiler API: final cleanups; improve security by diabling 'gorge' and friends 2018-05-29 09:07:24 +02:00
wordrecg.nim remove dead code elimination option (#7669) 2018-04-23 11:02:38 +02: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.