Commit Graph

2124 Commits

Author SHA1 Message Date
Araq
72651de710 bugfix: 'when' sections in generic objects now work, so TThread[void] compiles 2011-11-20 16:13:03 +01:00
Araq
62aa8bed3b tester: threading tests added 2011-11-19 02:05:16 +01:00
Zahary Karadjov
12bac28d23 macros and templates can be expanded anywhere where a type is expected.
This allows for various type selection algorithms to be implemented.
See tests / accept / compile / ttypeselectors.nim for examples.
2011-11-18 02:11:15 +02:00
Araq
61792dc7d6 cgen: no type canon for integral types; osproc use posix_spawn instead of fork&exec 2011-11-18 00:29:56 +01:00
Araq
7819b84475 bugfixes: objects still invalid for constants; fixed a typo concerning 'high' in eval context 2011-11-15 23:03:14 +01:00
Araq
4c5cf88c16 compilation cache: improvement: switching from codegen to 'check only' does not trigger a recompilation 2011-11-15 00:11:49 +01:00
Araq
bec06a0649 bugfix: s[1..n] = @[] produced wrong C code 2011-11-14 08:33:44 +01:00
Araq
3b6d831549 Merge branch 'master' of github.com:Araq/Nimrod 2011-11-12 01:21:10 +01:00
Araq
8fc15ca0d5 added another test case 2011-11-12 01:02:06 +01:00
Zahary Karadjov
489340658e Added system.program_results for controlling the exit code of the program under normal circumstances
Implemented operators like +=, -=, etc for ordinals, floats and string

Programs using the UnitTest module will now report the number of failed tests as the exit code of test runs (0 for successful run)
2011-11-10 04:10:03 +02:00
Araq
68be801f63 operator precedence changed: assignment like operators are supported; escaping of operators with \ is supported 2011-11-09 01:42:05 +01:00
Araq
089e287c6e compilation cache: fixed recently introduced bug (lazy loading of bodies) 2011-11-06 01:11:38 +01:00
Araq
dc08a033d9 memfiles now uses winlean; changed the interface to raise EOS 2011-11-05 12:16:49 +01:00
Zahary Karadjov
b72480ec88 new kind of AST printer that prints indented trees
AST-to-string conversion procs renamed to repr, treeRepr and lispRepr for better consistency
new dumpTree and dumpLisp procs for quick AST inspection of arbitrary nimrod blocks
2011-11-04 04:56:40 +02:00
Araq
d819350145 bugfix: new GCC version requires -ldl to come after object files 2011-11-03 20:17:46 +01:00
Araq
64e74cf484 bugfix: code gen for constant sequences 2011-11-02 19:47:33 +01:00
Araq
93be594eca fix of recently introduced parsing bug 2011-11-02 19:04:40 +01:00
Araq
cacb200eff fixes #2 2011-11-02 02:47:34 +01:00
Araq
77222b2aad fixes #59 2011-11-02 02:36:01 +01:00
Araq
1f6725e59e small bugfixes to make more tests green 2011-11-02 02:28:18 +01:00
Araq
95df3ee1ce Merge branch 'master' of github.com:Araq/Nimrod 2011-11-02 00:55:45 +01:00
Araq
351e89e705 better code generation for constant aggregates 2011-11-02 00:55:29 +01:00
dom96
e1a82987af Fixed the tester. Some fixes and additions for the JS backend. 2011-10-31 15:39:01 +00:00
Araq
47f523cfb8 bugfix: template t(f_no_Type) does not crash the compiler anymore in 'check' mode 2011-10-30 21:27:02 +01:00
Araq
c517639155 lazy loading of body ast implemented 2011-10-30 20:53:04 +01:00
Araq
78f37b2336 compilation cache: slurped files are a dependency too 2011-10-30 01:02:15 +02:00
Araq
299390a585 constant folding for cnst[i] and cnst.attr 2011-10-29 23:54:50 +02:00
Araq
a0a8934a4f eval context for macros lives as long as the current module is compiled 2011-10-28 01:38:41 +02:00
Araq
fe9bb1869d JS backend: supports methods (untested) 2011-10-28 00:14:19 +02:00
Araq
5e5e4abfee new compiler option tlsEmulation 2011-10-27 21:03:53 +02:00
Araq
abe9dfafe8 compilation cache: DLL interfacing now works 2011-10-27 18:02:01 +02:00
Araq
90db9171a2 compilation cache: various bugfixes; works for the compiler itself 2011-10-27 00:41:42 +02:00
Araq
9fb36bd20c compilation cache: mostly working; generics not yet 2011-10-25 15:26:36 +02:00
Araq
9fb97e24bf compilation cache: multi methods now work 2011-10-24 00:56:47 +02:00
Araq
a702524ae4 compilation cache: better dependency checking 2011-10-23 22:45:52 +02:00
Araq
627d33da08 compilation cache: small fixes; methods still not working 2011-10-23 21:39:02 +02:00
Araq
bd1cb9e77b compilation cache: methods have a chance to work 2011-10-23 11:24:52 +02:00
Araq
dce8d3d1ab rod files: next trivial examples working 2011-10-22 22:49:51 +02:00
Araq
235bd1c474 preparations for proper memmap'ed files 2011-10-22 11:08:52 +02:00
Araq
ded7f6a6d5 bugfix: nil -> emptyNode 2011-10-22 09:00:01 +02:00
Araq
182ab85dc8 trivial change scenario works with symbol files 2011-10-22 01:51:30 +02:00
Araq
ddbad192a4 got rid of gToTypeInfoId 2011-10-21 21:39:12 +02:00
Araq
d871cadbb3 got rid of gGeneratedSyms 2011-10-21 21:02:03 +02:00
Araq
43eace163a further steps for incremental C code generation 2011-10-21 19:07:01 +02:00
Araq
a6f90d4cdd first steps to C file merge operation for incremental compilation 2011-10-21 01:06:24 +02:00
Araq
7ebaf44897 bugfixes for ROD file generation; nimcache dir is now flat 2011-10-20 09:06:05 +02:00
Araq
69e0acb761 much more efficient rod file generation 2011-10-18 17:22:27 +02:00
Araq
4de84024e5 much more efficient rod file generation 2011-10-18 17:21:51 +02:00
Araq
51e01879ba 'bind' as a declarative statement 2011-10-10 02:04:15 +02:00
Araq
c138cc36b4 new syntactic construct: a{i} 2011-10-08 02:14:42 +02:00