Zahary Karadjov
765c682c92
fix #204 ;
2014-02-18 01:19:31 +02:00
Zahary Karadjov
b80503814d
fix #188
2014-02-17 00:47:45 +02:00
Araq
73c6efdf66
'nil' as a statement is deprecated, use an empty 'discard' instead
2014-01-19 16:54:59 +01:00
Zahary Karadjov
02533c260b
fixed #597
2014-01-02 17:55:18 +02:00
Zahary Karadjov
afddae5aaf
Merge branch 'upstream' into devel
...
Conflicts:
compiler/ccgutils.nim
compiler/msgs.nim
compiler/sem.nim
compiler/semexprs.nim
compiler/seminst.nim
compiler/semmagic.nim
compiler/semstmts.nim
compiler/semtypes.nim
compiler/semtypinst.nim
compiler/sigmatch.nim
compiler/types.nim
compiler/vmgen.nim
lib/core/macros.nim
lib/system.nim
tests/reject/tenummix.nim
web/news.txt
2013-12-29 17:21:00 +02:00
Araq
b731e6ef1c
case consistency: cs:partial bootstraps on windows
2013-12-29 03:19:10 +01:00
Araq
438703f59e
case consistency: next steps
2013-12-29 01:13:51 +01:00
Araq
9c3751a37c
case consistency part 5
2013-12-28 00:37:45 +01:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
2df9b442c6
case consistency part 1
2013-12-27 15:48:53 +01:00
Zahary Karadjov
edab4aaad0
better integration of tyStatic into typeRel
2013-12-25 22:29:44 +02:00
Zahary Karadjov
1d02f2ea53
wip type class reforms (the compiler bootstraps fine)
...
* replace tfAny and tfAll with tyAnd and tyOr
* integrate matchTypeClass into typeRel
* introduce tyBuiltInTypeClass to handle types such as tuple, object, proc, etc
2013-12-25 19:25:04 +02:00
Araq
4ffe6a8282
new VM: passes more tests
2013-12-06 01:48:02 +01:00
Zahary Karadjov
a068aaed3c
simple unit test and better documentation for the user defined type classes
2013-11-17 22:50:26 +02:00
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