Commit Graph

56 Commits

Author SHA1 Message Date
Araq
b487ebaaba new scoping rules for 'if' now active 2013-06-04 01:11:55 +02:00
Araq
8c211113f2 better error message for subtle nil errors 2013-05-31 01:27:03 +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
Araq
23bd3ccd8b Merge branch 'master' into newparser 2013-05-04 19:10:12 +02:00
Araq
1dd01e5891 revert new scope for 'if' 2013-05-02 00:36:06 +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
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
Zahary Karadjov
95b28700cc bugfix: fix linking when symbol files are used 2013-04-08 23:23:12 +03:00
Araq
5893a9195c implemented --dynlibOverride option for static linking of 'dynlib' 2013-04-08 16:38:49 +02: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
Araq
8e9b39084c Merge branch 'master' of github.com:Araq/Nimrod 2013-02-16 22:54:03 +01:00
Araq
5d119f61d1 preparations for a generational GC 2013-02-16 22:53:35 +01:00
Simon Hafner
1785c6877b EcmaScript => JS. Fixes #330
No one calls it EcmaScript anymore.
2013-02-15 11:08:30 -06:00
Araq
ab6f793408 first version of a simple mark&sweep GC; activate with --gc:markAndSweep 2013-02-07 01:57:10 +01:00
Araq
2a2b630757 cleaner GC switching 2013-01-31 16:34:39 +01:00
Zahary Karadjov
19e795e017 the mainmodule option has effect only when no explicit module is given 2013-01-28 00:26:49 +02:00
Zahary Karadjov
81a3585872 merged upstream master 2013-01-27 23:41:45 +02:00
Araq
f280ed1560 implements #295 2013-01-08 16:30:26 +01:00
Araq
3020257559 implemented --listFullPaths option for aporia 2012-12-27 00:05:23 +01:00
Araq
7148812524 first steps for FFI support at compile time 2012-12-19 02:22:39 +01:00
Araq
c98696d742 lazy paths for Babel support 2012-12-11 20:06:15 +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
e9e22ccb2a track the "owner" heap object in the ref write barrier
See the papers for reference counting with heap sliding views for details:
2012-12-01 15:37:13 +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
Zahary Karadjov
091c1b3075 caas is now drivable through stdin
* added idetools --eval
* streams.readLine recognises and applies the backspace character
2012-11-28 01:15:13 +02:00
Araq
3d40842088 doc2 improvements; small lexer bugfix: backslashes in comments 2012-11-20 17:46:11 +01:00
Araq
9f38ff0c65 next steps for exception tracking 2012-11-03 15:57:12 +01:00
Araq
224f42bbd7 bugfix: exception tracking (still disabled) 2012-11-01 19:57:48 +01: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
1d14cb1ad8 next steps towards term rewriting macros; simple examples work 2012-08-30 22:55:32 +02:00
Araq
674c05f426 made compiler more robust for idetools; implemented idetools.usages 2012-07-30 23:07:19 +02:00
Araq
538b06a123 implements #173 2012-07-28 14:16:08 +02:00
Araq
76235348f8 extracted documentation generator 2012-05-09 01:50:08 +02:00
Araq
c323ec0155 added system.getStackTrace; docgen refactoring (incomplete) 2012-05-06 01:16:36 +02:00
Zahary Karadjov
f25c638dc4 experimental support for preserving local variable names in the generated code 2012-04-13 21:03:49 +03:00
Zahary Karadjov
6d80583d5a Added `global` pragma that can be used to introduce new global variables from within procs 2012-04-05 20:43:22 +03:00
Zahary Karadjov
bc2eb0ea9b generic types can be used like type classes. distinct can be applied to type classes. 2012-03-25 20:55:21 +03:00
Araq
c25ffbf262 first steps for cleaner static/const distinction 2012-03-13 02:01:56 +01:00
Araq
4f1b89c30c year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
Zahary Karadjov
caa4766a33 the current directory is no longer taken into account when resolving module paths 2011-12-11 12:41:06 +02:00
Zahary Karadjov
d171a8b36f path canonicalization for imported modules, relative paths written in rod files 2011-12-11 11:24:52 +02:00
Zahary Karadjov
e4e74034c2 path canonicalization and proper project relative paths 2011-12-09 04:40:59 +02:00
Araq
fc9fdc2b9d cleaned up configuration file handling and documented the new behaviour 2011-11-30 00:53:41 +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
351e89e705 better code generation for constant aggregates 2011-11-02 00:55:29 +01:00
Araq
5e5e4abfee new compiler option tlsEmulation 2011-10-27 21:03:53 +02:00
Araq
a702524ae4 compilation cache: better dependency checking 2011-10-23 22:45:52 +02:00
Araq
7ebaf44897 bugfixes for ROD file generation; nimcache dir is now flat 2011-10-20 09:06:05 +02:00