Nim/compiler
Zahary Karadjov 5e4ae8dbb4 fix #1858; Add support for generic templates and macros
Implementation notes:
Just after overload resolution, the resolved generic params will be added to the
call expression to be later processed in evalTemplate and evalMacroCall. These
procs have been modified to handle the increased number of parameters, but one
remaining issue is that immediate templates and macros don't go through the same
process. The next commit will outlaw the use of generic parameters with such macros.
2015-01-05 03:53:31 +02:00
..
nimfix implemented --bestEffort switch for nimfix 2014-12-26 22:43:14 +01:00
aliases.nim updated the compiler to use the new symbol names 2014-08-28 23:48:42 +02:00
ast.nim fix #1858; Add support for generic templates and macros 2015-01-05 03:53:31 +02:00
astalgo.nim fixes #1690 2014-12-18 20:15:40 +01:00
bitsets.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
canonicalizer.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
ccgcalls.nim implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
ccgexprs.nim fixes #1181, fixes #1715 2014-12-16 14:49:47 +01:00
ccgmerge.nim implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
ccgstmts.nim fixes #1742 2014-12-24 13:02:58 +01:00
ccgthreadvars.nim bugfix: c++ support for 'NimThreadVarsSize' 2014-10-08 09:10:57 +02:00
ccgtrav.nim implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
ccgtypes.nim fixes regression due to object assignment fixes 2014-12-01 22:53:50 +01:00
ccgutils.nim implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
cgen.nim fixes #1539 2014-11-27 09:41:36 +01:00
cgendata.nim updated the compiler to use the new symbol names 2014-08-28 23:48:42 +02:00
cgmeth.nim Merge branch 'devel' into bigbreak 2014-11-03 22:50:55 +01:00
commands.nim implemented 'experimental' switch 2014-12-05 10:09:29 +01:00
condsyms.nim fixes #1735 2014-12-15 02:21:44 +01:00
crc.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
depends.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
docgen.nim Merge branch 'pr_adds_code_directive_to_rst' into pr_bigbreak_adds_code_directive_to_rst 2014-11-03 15:50:05 +01:00
docgen2.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
evalffi.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
evaltempl.nim fix #1858; Add support for generic templates and macros 2015-01-05 03:53:31 +02:00
extccomp.nim Merge pull request #1569 from idlewan/prettyCC 2014-11-03 02:02:20 +01:00
filter_tmpl.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
filters.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
guards.nim implemented 'guard' annotation 2014-09-21 18:39:00 +02:00
hlo.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
idents.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
idgen.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
importer.nim Merge branch 'devel' into bigbreak 2014-10-23 23:13:49 +02:00
jsgen.nim fixes #1742 2014-12-24 13:02:58 +01:00
jstypes.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
lambdalifting.nim merged things from devel 2014-09-12 01:37:48 +02:00
lexer.nim destuctors are experimental; 'func' is now a keyword 2014-12-10 01:57:08 +01:00
lists.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
llstream.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
lookups.nim backported .deprecated statement 2014-10-11 20:31:24 +02:00
lowerings.nim fixes a tuple lowering bug 2014-12-13 13:10:50 +01:00
magicsys.nim implemented 'guard' annotation 2014-09-21 18:39:00 +02:00
main.nim implemented mixed mode codegen 2014-10-03 01:21:35 +02:00
modules.nim 'nim i' should work again 2014-09-18 09:56:13 +02:00
msgs.nim fixes #1473 2014-11-12 02:36:59 +01:00
nim.ini Update nim.ini 2014-12-30 19:45:06 -05:00
nim.nim fixes #903, fixes #1513 2014-09-03 19:45:04 +02:00
nim.nimrod.cfg fixes #1774 2014-12-31 16:07:56 +01:00
nimblecmd.nim VM supports math and a few os procs 2014-08-30 16:37:27 +02:00
nimconf.nim the codegen doesn't emit deepCopy for parallel statements 2014-11-08 15:47:00 +01:00
nimeval.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
nimlexbase.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
nimsets.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
nversion.nim implemented procCall builtin 2014-11-28 02:43:41 +01:00
options.nim implemented 'experimental' switch 2014-12-05 10:09:29 +01:00
parampatterns.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
parser.nim fixes #1120 2014-12-25 17:22:41 +01:00
passaux.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
passes.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
patterns.nim fixes #206 2014-11-16 21:59:21 +01:00
pbraces.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
platform.nim minor improvement to the barrier implementation 2014-12-09 01:03:56 +01:00
pragmas.nim cleaned up os.nim; docgen improvements 2014-12-21 14:28:46 +01:00
procfind.nim Fix #1561 2014-10-29 18:57:03 -04:00
readme.txt Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
renderer.nim cleaned up os.nim; docgen improvements 2014-12-21 14:28:46 +01:00
rodread.nim implemented 'guard' annotation 2014-09-21 18:39:00 +02:00
rodutils.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
rodwrite.nim implemented 'guard' annotation 2014-09-21 18:39:00 +02:00
ropes.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
saturate.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
sem.nim fixes #1708, fixes #871 2014-12-28 01:59:30 +01:00
semasgn.nim improvements for nimfix 2014-09-10 09:48:18 +02:00
semcall.nim fix #1858; Add support for generic templates and macros 2015-01-05 03:53:31 +02:00
semdata.nim fix #1049 2015-01-02 23:58:24 +02:00
semdestruct.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
semexprs.nim fix #1050 2015-01-02 23:58:24 +02:00
semfields.nim fixes #1352 2014-12-14 11:49:32 +01:00
semfold.nim fixes #1638 2014-12-17 21:52:01 +01:00
semgnrc.nim fix #1056 2014-12-31 04:18:35 +02:00
seminst.nim fix #1858; Add support for generic templates and macros 2015-01-05 03:53:31 +02:00
semmacrosanity.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
semmagic.nim implemented procCall builtin 2014-11-28 02:43:41 +01:00
semparallel.nim fixes #1597 2014-12-11 01:02:53 +01:00
sempass2.nim cleaned up os.nim; docgen improvements 2014-12-21 14:28:46 +01:00
semstmts.nim support for static params in the user defined type classes 2015-01-02 23:58:24 +02:00
semtempl.nim fixes #940 2014-11-17 08:28:24 +01:00
semtypes.nim support for static params in the user defined type classes 2015-01-02 23:58:24 +02:00
semtypinst.nim fixes #1187 2014-12-19 12:53:51 +01:00
service.nim fixes #903, fixes #1513 2014-09-03 19:45:04 +02:00
sigmatch.nim fix #1859 2015-01-05 03:53:31 +02:00
suggest.nim fixes #1774 2014-12-31 16:07:56 +01:00
syntaxes.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
tccgen.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
testability.nim distinguish between 'defined' and 'declared' 2014-08-11 20:38:28 +02:00
transf.nim implemented procCall builtin 2014-11-28 02:43:41 +01:00
trees.nim fixes #1547 2014-11-27 08:36:58 +01:00
treetab.nim Nimrod renamed to Nim 2014-08-28 09:38:14 +02:00
types.nim prettier type name printing for generic types featuring static parameters 2014-12-31 03:50:50 +02:00
typesrenderer.nim cleaned up os.nim; docgen improvements 2014-12-21 14:28:46 +01:00
vm.nim fix #1858; Add support for generic templates and macros 2015-01-05 03:53:31 +02:00
vmdef.nim fixes #1781 2014-12-28 00:42:24 +01:00
vmdeps.nim merged things from devel 2014-09-12 01:37:48 +02:00
vmgen.nim fix #1858; Add support for generic templates and macros 2015-01-05 03:53:31 +02:00
vmhooks.nim VM supports math and a few os procs 2014-08-30 16:37:27 +02:00
vmops.nim fixes #1473 2014-11-12 02:36:59 +01:00
wordrecg.nim destuctors are experimental; 'func' is now a keyword 2014-12-10 01:57:08 +01: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.