Commit Graph

18 Commits

Author SHA1 Message Date
Araq
2962ca7890 alias analysis as required for the code gen and the HLO 2011-12-08 23:21:08 +01:00
Araq
70cf34cbdc 'assert' is now implemented without compiler magic 2011-12-04 20:14:50 +01:00
Araq
840979b45c Merge branch 'master' of github.com:Araq/Nimrod 2011-11-26 10:49:48 +01:00
Araq
02e8e9c3ea fixed bug that kept tls emulation from working 2011-11-25 17:26:11 +01:00
Zahary Karadjov
c617479c68 New algorithm for locating and loading nimrod config files.
Some new options added to the compiler (see news.txt for details)
2011-11-25 17:29:55 +02:00
Araq
72651de710 bugfix: 'when' sections in generic objects now work, so TThread[void] compiles 2011-11-20 16:13:03 +01:00
Araq
299390a585 constant folding for cnst[i] and cnst.attr 2011-10-29 23:54:50 +02:00
Zahary Karadjov
e3deb5b502 Cleaned up the circular dependecies and remaining issues
Changed: The []= operator for strings and sequences is now capable of splicing
2011-10-07 17:10:04 +03:00
Zahary Karadjov
eaeed1f846 getAst works correctly with existing AST values as template/macro arguments 2011-10-07 17:05:54 +03:00
Araq
42516c0086 code generator supports constant sequences; more consistent compile time evaluation 2011-10-07 09:02:08 +02:00
Zahary Karadjov
dbcca9b3b9 Moved the parseAST magics to evals.nim
Added string interpolation helper routines in parserutils

Added a proof-of-concept string interpolation user-land macros (currently, only as a test case):
  the interpolated expression could either be transformed to
  concat("literal string ", $(interpolated), " end") or
  "literal string $1 end" % [$(interpolated)]

Added a very initial definition of Optional[T] generic type

A new overload of ParseIdent was added in hope to get around the fact that the 
old one doesn't work correctly in macros, but the problem persists.
2011-09-20 14:13:45 +03:00
Araq
b0742c5b27 finally got rid of nkPassAsOpenArray 2011-08-16 08:56:53 +02:00
Araq
05cffb9370 'is' operator for generic code 2011-07-31 00:55:30 +02:00
Araq
3e9dcc8be5 deprecated system.copy: use system.substr instead 2011-05-14 01:13:44 +02:00
Araq
d2e2d71d05 newStringOfCap implemented and used to optimize some procs 2011-05-08 17:38:34 +02:00
Araq
145fabeb67 const table support 2011-04-29 22:55:15 +02:00
Araq
36c67455d4 got rid of some arcane module names 2011-04-21 00:54:44 +02:00
Araq
cd292568d7 big repo cleanup 2011-04-12 01:13:42 +02:00