Commit graph

100 commits

Author SHA1 Message Date
Zahary Karadjov
6082595e96 Merge branch 'type-classes' into upstream 2013-09-03 03:14:56 +03:00
Araq
6825a69a70 -d:nocaas mode for easier bootstrapping on exotic OSes (Haiku) 2013-09-01 15:54:32 +02:00
Zahary Karadjov
b5d833b329 implemented the using statement 2013-08-31 19:40:36 +03:00
Zahary Karadjov
28d9398de7 implemented delegators and improved the error messages of unmatched type classes 2013-08-26 23:29:24 +03:00
Araq
d53f313599 implemented computed goto support 2013-08-13 11:21:02 +02:00
Zahary Karadjov
5dfc0d0d19 Take into account dirty buffers in suggest output; Fixes zah/nimrod.vim#14 2013-08-07 18:58:46 +03:00
Araq
2ca05eeb16 var tuple unpacking works at compile time 2013-06-28 08:40:49 +02:00
Araq
c156f2d493 next steps for guarded data flow analysis 2013-06-11 00:31:40 +02:00
Araq
23ef565a3c implemented large parts of the 'not nil' checking 2013-06-09 23:29:43 +02:00
Araq
2aaa8f7909 implemented dataflow analysis; activate via --warning[Uninit]:on 2013-06-04 21:58:39 +02:00
Araq
9fc98cefda Merge branch 'master' into newparser 2013-05-07 18:44:24 +02:00
Zahary Karadjov
f52ea04d22 support suggest after compile in caas mode 2013-05-05 15:12:50 +03:00
Zahary Karadjov
519d5b834a experimental support for answering idetools --def requests from
an in-memory index built during compilation in caas mode
2013-05-04 23:02:03 +03:00
Araq
23bd3ccd8b Merge branch 'master' into newparser 2013-05-04 19:10:12 +02:00
Zahary Karadjov
89f9772f15 nimrod dump can now produce a machine readable json report
The data in the report includes necessary information for starting
the compiler service and setting up the project paths in the IDE.

the default verbosity of 1 is now set in the compiler code to fix an
issue with verbosity being temporary set to 1 during config parsing
even when it's explicitly overridden on the command-line.

compiler/lexbase was temporary renamed to nimlexbase as a
work-around for a codegen naming conflict with lib/pure/lexbase
resulting in linking errors (further investigation needed).
2013-05-01 20:46:05 +03:00
Araq
03764f0aba new parser works 2013-04-20 18:46:08 +02:00
Araq
7e329db45f next steps for the new parser 2013-04-20 03:03:12 +02:00
Zahary Karadjov
e7581e7b9b experimental support for outputting code snippets in error messages; implements #301
see #301 for description.
currently, the feature is activated by setting the verbosity level to 2 or more
2013-04-09 00:15:43 +03:00
Grzegorz Adam Hankiewicz
72a3e21f28 Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
Simon Hafner
cc893b968b added isServing parameter 2013-02-26 14:36:33 -06:00
Zahary Karadjov
81a3585872 merged upstream master 2013-01-27 23:41:45 +02:00
Zahary Karadjov
0d77909b17 fixed a regression in nimrod i 2013-01-27 19:52:24 +02:00
Zahary Karadjov
8be307713e fixed a regression: compiling projects not residing in the current directory 2013-01-20 22:09:07 +02:00
Araq
3af5c99336 fixes #293 2013-01-08 20:03:02 +01:00
Araq
9ef367db62 fixed a newly introduced c2nim bug; many untested improvements to the FFI at compile time 2012-12-31 17:53:37 +01:00
Araq
3020257559 implemented --listFullPaths option for aporia 2012-12-27 00:05:23 +01:00
Araq
a22c1f444f fixes #271 2012-12-15 22:35:16 +01:00
Zahary Karadjov
d0edb1826b adds an option to interleave the generated code with snippets from the original source
Lines from the original source are outputted as comments next to line directives.
Hopefully, this will make debugging codegen problems easier.

Other changes:
The frame setup code now uses a single-line C macro. My motivation was to reduce
the noise in the generated output and make it easier to step over the boiler-plate
code, but counter-intuitively this also improved the overall compilation speed a
little bit so I applied the same treatment to line tracking too (this reduces the size of
the generated files and the explanation is that probably the I/O overhead dominates
the macro expansion costs).
2012-12-02 20:36:29 +02:00
Zahary Karadjov
36e25a6849 CaaS in-memory caching
removed some redundant filepath params and variables and
switched to canonical paths in most places
2012-11-28 01:15:13 +02:00
Araq
14fc0631d7 fixes #250 2012-11-19 00:16:25 +01:00
Zahary Karadjov
32d0ac01dc AST quasi-quoting for macros 2012-11-11 17:02:13 +02:00
Araq
de338526ec caas barely works now 2012-10-24 01:13:44 +02:00
Zahary Karadjov
d9d82fb0af syntax compatibility between do blocks and stmt blocks
See the section `do notation` in the manual for more info.

* nkMacroStmt has been removed
   Macro statements are now mapped to regular nkCall nodes.
   The support for additional clauses (such as else, except, of, etc)
   have been restored - they will now appear as additional arguments
   for the nkCall node (as nkElse, nkExcept, etc nodes)

* fixed some regressions in the `is` operator and semCompiles
2012-10-04 15:37:26 +03:00
Araq
cc51581937 next steps for 'compiler as a service' 2012-10-03 21:32:06 +02:00
Zahary Karadjov
f8184e3490 always print stack traces on errors in debug builds of nimrod
I've been using this for a while and it's really more convenient than hunting the message
in msgs.nim and grepping the error code in the whole project
2012-10-03 01:59:49 +03:00
Araq
23c3af80f6 semExpr/semStmt merged 2012-09-13 08:33:55 +02:00
Araq
d3d9d32c35 first steps to deprecate 'nil' statement 2012-09-09 01:08:00 +02:00
Araq
af7c92c003 term rewriting macros fully implemented; still buggy 2012-09-03 00:55:44 +02:00
Araq
244c14db0b top level closures should work; transf is not a pass anymore; next steps for first class iterator support 2012-08-13 17:07:49 +02:00
Araq
c7158af752 idetools: 'usages' and 'def' should work now; documented js backend 2012-08-05 12:33:23 +02:00
Araq
79aaf213d6 idetools improvements 2012-08-03 17:33:44 +02:00
Araq
7d6500f1de idetools improvements; preparation of first class iterators; fixes #183 2012-08-02 23:14:38 +02:00
Araq
976c39cdc9 more improvements for idetools 2012-07-30 01:24:54 +02:00
Araq
b595fc8347 better error handling for better idetools support 2012-07-29 23:08:28 +02:00
Araq
087b8621d3 improvements for idetools; system.compiles improved 2012-07-29 02:45:50 +02:00
Araq
538b06a123 implements #173 2012-07-28 14:16:08 +02:00
Araq
2ff8d17369 added warning for confusing var declarations 2012-07-26 08:47:54 +02:00
Araq
1c6f14deee added system.compiles 2012-07-20 08:49:42 +02:00
Araq
8d99753d63 preparations for making 'closure' the default calling convention for proc types 2012-07-16 23:00:57 +02:00
Araq
36247e0947 added devel/logging; weakrefs test; next steps for proper unsigned support 2012-07-05 00:03:33 +02:00