Nim/compiler
Zahary Karadjov 299cefdc98 make the current PContext accessible through TCandidate
the goal here is to remove all the hacks from ParamTypeMatch and to handle
all type matching in typeRel (the context there is required to evaluate any static
params and to run the compilation tests of user-defined type classes)
2013-12-25 00:58:22 +02:00
..
c2nim c2nim: added some scope operator parsing 2013-09-11 00:07:39 +02:00
pas2nim c2nim, pas2nim compile again 2013-05-07 17:19:36 +02:00
aliases.nim year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
ast.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
astalgo.nim minor improvement towards tgenericshardcases 2013-08-28 01:10:51 +03:00
babelcmd.nim Changed babel path handling. 2013-05-02 00:07:59 +01:00
bitsets.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
ccgcalls.nim preparations for the new symbol binding rules for clean templates 2013-05-18 10:05:06 +02:00
ccgexprs.nim fixes a regression where memset was used without including <string.h> 2013-12-03 01:59:38 +01:00
ccgmerge.nim nimrod dump can now produce a machine readable json report 2013-05-01 20:46:05 +03:00
ccgstmts.nim implemented top level asm statements 2013-10-07 06:38:04 +02:00
ccgthreadvars.nim Revert "Revert "bugfix: emulated thread vars used in combination with the mark & sweep GC"" 2013-08-19 01:27:05 +03:00
ccgtrav.nim Revert "Revert "bugfix: emulated thread vars used in combination with the mark & sweep GC"" 2013-08-19 01:27:05 +03:00
ccgtypes.nim remerge "allow void as field type" 2013-08-19 01:29:01 +03:00
ccgutils.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
cgen.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
cgendata.nim fixes a regression where memset was used without including <string.h> 2013-12-03 01:59:38 +01:00
cgmeth.nim fixes #332 2013-03-17 23:40:03 +01:00
charsets.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
commands.nim support for --cs:partial 2013-09-24 09:32:49 +02:00
condsyms.nim implemented computed goto support 2013-08-13 11:21:02 +02:00
crc.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
depends.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
docgen.nim next steps for the new parser/grammar 2013-04-20 01:59:39 +02:00
docgen2.nim CaaS in-memory caching 2012-11-28 01:15:13 +02:00
evalffi.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
evals.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
evaltempl.nim bugfix: evalTemplateArgs 2012-10-14 12:02:57 +02:00
extccomp.nim always call the linker; fixes #660 2013-11-19 15:41:20 +01:00
filter_tmpl.nim better treatment of var/let/const/type sections in the templating system 2013-03-29 15:28:13 +01:00
filters.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
guards.nim Merge branch 'master' of github.com:Araq/Nimrod 2013-07-20 20:18:21 +02:00
hlo.nim should fix newly introduced bugs wrt TR macros 2013-09-18 02:03:56 +02:00
idents.nim support for --cs:partial 2013-09-24 09:32:49 +02:00
idgen.nim next steps to hygienic templates 2012-08-20 08:44:17 +02:00
importer.nim the compiler can now deal with multiple modules of the same name 2013-09-26 17:34:46 +02:00
jsgen.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
jstypes.nim new JS code generator 2013-04-28 23:41:10 +02:00
lambdalifting.nim check the owners of generic instantiations properly and fix tinvalidclosure 2013-08-19 01:45:16 +03:00
lexer.nim Merge branch 'type-classes' into upstream 2013-09-03 03:14:56 +03:00
lists.nim fixes compiler.lists.bringToFront 2013-12-02 23:47:56 -06:00
llstream.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
lookups.nim small REPL improvements 2013-06-28 16:40:01 +02:00
magicsys.nim fixes #578 2013-08-30 22:47:14 +02:00
main.nim in successful compilations with verbosity:0, all output is suppressed (useful for combing with --run) 2013-12-10 01:49:30 +02:00
modules.nim 'modules' module from 'main'; minor bugfixes 2013-07-20 20:17:23 +02:00
msgs.nim simple unit test and better documentation for the user defined type classes 2013-11-17 22:50:26 +02:00
nimconf.nim Updated cfg file processing 2013-12-02 23:57:47 +01:00
nimeval.nim first steps to a new evaluation engine 2013-07-24 21:39:39 +02:00
nimlexbase.nim nimrod dump can now produce a machine readable json report 2013-05-01 20:46:05 +03:00
nimrod.dot Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
nimrod.ini support for multiple modules of the same name; niminst supports 'platforms'; minor bugfixes 2013-09-24 16:07:07 +02:00
nimrod.nim adding some provisions for writing lower-level unit tests targeting specific sub-systems of the compiler 2013-12-07 20:30:44 +02:00
nimrod.nimrod.cfg Merge branch 'master' of github.com:Araq/Nimrod into upstream 2013-12-09 00:26:04 +02:00
nimsets.nim fixed and documented computedGoto pragma 2013-08-22 08:38:47 +02:00
nversion.nim the compiler can now deal with multiple modules of the same name 2013-09-26 17:34:46 +02:00
options.nim bugfix: package names should not contain '.' 2013-10-07 21:36:31 +02:00
parampatterns.nim implemented large parts of the 'not nil' checking 2013-06-09 23:29:43 +02:00
parsecfg.nim nimrod dump can now produce a machine readable json report 2013-05-01 20:46:05 +03:00
parser.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
passaux.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
passes.nim fixes #429 and tstmtexpr 2013-05-12 21:01:39 +03:00
patterns.nim improvements for TR macros 2013-09-17 23:43:07 +02:00
pbraces.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
pendx.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
platform.nim --os:standalone works again 2013-06-30 21:15:28 +02:00
pragmas.nim fixes #576 2013-09-18 02:58:18 +02:00
pretty.nim first version of the debug GC; doesn't work yet 2013-10-01 08:44:09 +02:00
procfind.nim merged the persistent scopes work with the delayed proc compilation strategy 2013-05-12 14:41:32 +03:00
readme.txt Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
renderer.nim implemented 'import a as b' 2013-09-24 09:36:31 +02:00
rodread.nim the compiler can now deal with multiple modules of the same name 2013-09-26 17:34:46 +02:00
rodutils.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
rodwrite.nim the compiler can now deal with multiple modules of the same name 2013-09-26 17:34:46 +02:00
ropes.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
saturate.nim changed integer promotion rules; breaks bootstrapping and lots of code 2012-07-08 21:03:47 +02:00
sem.nim fixes #681 2013-11-30 03:15:14 +01:00
semcall.nim make the current PContext accessible through TCandidate 2013-12-25 00:58:22 +02:00
semdata.nim simple unit test and better documentation for the user defined type classes 2013-11-17 22:50:26 +02:00
semdestruct.nim get rid of the SymTab* procs in astalgo 2013-05-12 00:49:00 +03:00
semexprs.nim make the current PContext accessible through TCandidate 2013-12-25 00:58:22 +02:00
semfold.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
semgnrc.nim fixes #531 2013-07-24 23:07:28 +02:00
seminst.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
semmagic.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
sempass2.nim fixes #534 2013-08-07 00:01:58 +03:00
semstmts.nim fixes #696 2013-12-01 17:02:56 +01:00
semtempl.nim Merge branch 'master' of github.com:Araq/Nimrod 2013-05-14 00:59:07 +02:00
semthreads.nim 'noStackFrame' implies 'naked' in the generated C code 2013-10-06 00:10:45 +02:00
semtypes.nim make the current PContext accessible through TCandidate 2013-12-25 00:58:22 +02:00
semtypinst.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
service.nim -d:nocaas mode for easier bootstrapping on exotic OSes (Haiku) 2013-09-01 15:54:32 +02:00
sigmatch.nim make the current PContext accessible through TCandidate 2013-12-25 00:58:22 +02:00
suggest.nim make the current PContext accessible through TCandidate 2013-12-25 00:58:22 +02:00
syntaxes.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
tccgen.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
testability.nim adding some provisions for writing lower-level unit tests targeting specific sub-systems of the compiler 2013-12-07 20:30:44 +02:00
transf.nim improvements for TR macros 2013-09-17 23:43:07 +02:00
trees.nim implemented large parts of the 'not nil' checking 2013-06-09 23:29:43 +02:00
treetab.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
types.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
vm.nim cooler quote for c2nim 2013-10-10 00:45:15 +02:00
vmdef.nim cooler quote for c2nim 2013-10-10 00:45:15 +02:00
vmdeps.nim docgen: more newlines in the output to support primitive postprocessors 2013-08-29 23:18:02 +02:00
vmgen.nim static params: expr[T] is now static[T] 2013-12-19 01:06:38 +02:00
wordrecg.nim implemented the using statement 2013-08-31 19:40:36 +03:00

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