Zahary Karadjov
0b197ade6c
Multiple C lines corresponding to a single nimrod line are joined together
...
This patch greatly improves the "step over" operation available in debuggers.
In practice, there are often 4-8 lines of C code generated for each nimrod line
Each such line will be responsible to a single step in the debugger that is
a) not expected by the user
b) taking the user to an incorrect line in the nimrod code
To keep this working, all code generation should use the rope formatting
facilities when producing new lines (i.e. $n and $N).
New semantics for the format string are introduced:
$n means "soft new line" that could be joined/broken when lineDir is enabled.
$N means "hard new line" that will always appear as a new line.
As an alternative to this approach, I also tested producing code like this:
#line "code.nim" 154
foo = bar; \
foo(bar) \
This is better for readability of the final output, but unfortunately it didn't
produce the desired result across all compilers/debuggers.
2011-09-20 14:11:06 +03:00
Zahary Karadjov
0f0dfd6379
Nimrod can now compile itself with --lineDir enabled
2011-09-20 14:11:06 +03:00
Araq
fd62116f6e
bugfixes for generics; new threads implementation still broken
2011-09-20 00:56:48 +02:00
Araq
d560e84fcc
locks now in their own core module
2011-08-20 00:24:02 +02:00
Araq
5cba831c88
'pure' is now 'noStackFrame' for procs
2011-08-19 19:11:58 +02:00
Araq
ffefb736d9
small bugfix for eval
2011-08-19 09:07:23 +02:00
Araq
15440ec745
documentation for --nimcache option
2011-08-19 01:52:14 +02:00
Araq
c7b130b4e2
implemented --nimcache config option; big clean up of magic words
2011-08-19 01:46:24 +02:00
Araq
257b16ca34
inlining of 'var openarray' iterators now work
2011-08-18 18:52:05 +02:00
Araq
a0d172cd85
bugfix topenarrayrepr works again
2011-08-16 21:24:30 +02:00
Araq
b0742c5b27
finally got rid of nkPassAsOpenArray
2011-08-16 08:56:53 +02:00
Araq
2183bf77a6
added xmltree.innerText; fixes #49
2011-08-15 19:40:00 +02:00
Araq
7ad5cab17e
added system.running for threads
2011-08-11 21:22:23 +02:00
Araq
a1cdd6e7ff
bugfix: #line generation for windows
2011-08-11 01:28:37 +02:00
Araq
d5dd4669df
further tests for var T result type; ttables test now fails :-(
2011-08-10 01:16:32 +02:00
Araq
72e7a98543
added system.slurp for easy embedding of resources
2011-08-10 00:43:58 +02:00
Araq
7000cf51b7
modifyable results for generics; teventemitter works
2011-08-09 01:40:12 +02:00
Araq
12f22ba68a
fixes #35 , fixes #43
2011-08-08 01:15:09 +02:00
Araq
cb21fd4f8f
json code generation works again
2011-08-07 23:54:03 +02:00
Araq
5131b3cea4
support for C++ code generation; importcpp and importobjc pragmas
2011-08-07 21:02:09 +02:00
Araq
7a6140e3a4
fixes #42
2011-08-04 19:47:35 +02:00
Araq
f0145ba7c5
anonymous procs implemented; however no closure support yet
2011-08-01 08:39:27 +02:00
Araq
dd99fe61c0
documentation for 'var T' as return type
2011-08-01 00:21:16 +02:00
Araq
3e806a374a
'var T' for iterators
2011-07-31 22:39:17 +02:00
Araq
4f7fa05911
void type improvements; documentation improvements
2011-07-31 14:57:38 +02:00
Araq
00da785f5d
void type for generics
2011-07-31 01:11:34 +02:00
Araq
05cffb9370
'is' operator for generic code
2011-07-31 00:55:30 +02:00
Araq
6a8a409f1b
preparation for new 'is' operator; breaks bootstrapping again, sorry (use generated C code)
2011-07-31 00:21:32 +02:00
Araq
2d62738bbb
attempt to improve 'suggest' feature
2011-07-30 15:19:58 +02:00
Araq
086f0d34db
Merge branch 'master' of git@github.com:Araq/Nimrod
2011-07-30 10:43:05 +02:00
Araq
6781da5215
bugfix: forwarding of generic procs now works
2011-07-30 10:42:51 +02:00
Keita Haga
19f6750b92
c2nim,pas2nim: use the stdout.writeln to display the "unknown option" message
2011-07-29 20:21:29 +09:00
Keita Haga
d1c49caa68
c2nim,pas2nim: bugfix: --out:FILE option does not work as documented
2011-07-29 20:10:55 +09:00
Araq
dce8949b9b
bugfix: 'final' not passed to generic
2011-07-29 01:25:05 +02:00
Araq
2f066395ba
bugfixes; step one for 'var T' as return type support
2011-07-28 00:53:52 +02:00
Araq
e7135c449d
Merge branch 'master' of github.com:Araq/Nimrod
2011-07-26 00:46:55 +02:00
Araq
0e7f2ca3f1
bugfixes; added events module, sequtils module
2011-07-26 00:46:41 +02:00
Keita Haga
ba6946eca4
pas2nim: nhashes library doesn't exist
2011-07-25 23:12:28 +09:00
Araq
ef039a1325
doc improvements; added lazarus example
2011-07-24 23:07:40 +02:00
Araq
a6daf71520
old pointer deref operator completely removed
2011-07-23 20:19:05 +02:00
Araq
569c1ce5ec
bugfix: proper cache for generic instantiations
2011-07-21 00:57:39 +02:00
Araq
42e6130b2c
first steps to explicit channels for thread communication; added mainThreadId
2011-07-16 18:34:18 +02:00
Araq
fe5df368c1
0.8.12 bugfix: some files not in download package
2011-07-11 21:07:31 +02:00
Araq
5b96eaa953
preparations for 0.8.12
2011-07-10 15:48:13 +02:00
Araq
99bcc233cd
bugfix: 'set' overloadable; further steps for multi threading support
2011-07-08 01:29:15 +02:00
Araq
170573a87f
bugfix: subranges in generics properly detected
2011-06-29 19:14:35 +02:00
Araq
5c94a9e1ae
tests are green again
2011-06-28 01:31:53 +02:00
Araq
3091bc4958
importCompilerProc pragma introduced because the hacks for typeinfo.nim did not suffice
2011-06-27 08:33:03 +02:00
Araq
3e91b456e5
second attempt to fix code gen for pegs.nim
2011-06-26 23:55:47 +02:00
Araq
aa14667ca1
bugfix: pegs.nim compiles again
2011-06-26 22:43:38 +02:00