Zahary Karadjov
d541815e4b
Added AST introspection routines as a part of the standard library
2011-09-20 14:13:45 +03:00
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
daa2c8732d
Merge branch 'master' of github.com:Araq/Nimrod
2011-09-20 00:57:06 +02:00
Araq
fd62116f6e
bugfixes for generics; new threads implementation still broken
2011-09-20 00:56:48 +02:00
Araq
c2d9e27f7d
Merge pull request #56 from keitahaga/doc-fixes
...
Typo fix
2011-09-10 11:20:53 -07:00
Keita Haga
8fa8ab5960
lib/wrappers/sphinx.nim: fix typo, use 'shpinx' instead of 'sphinx'
2011-09-09 19:03:33 +09:00
dom96
4896f63129
Some improvements relating to the IRC module.
2011-09-04 20:28:32 +01:00
dom96
fd01772634
Added IRC module.
2011-09-04 19:47:46 +01:00
Araq
dc3ace4f37
Merge branch 'master' of git@github.com:Araq/Nimrod
2011-08-29 01:15:42 +02:00
Araq
b9d0806e3b
added actors.nim file; compiler not up for this task
2011-08-29 01:15:29 +02:00
Araq
4839800c22
new actors implementation for nimrod; compiler's generics still not up for the task though
2011-08-29 01:14:26 +02:00
Araq
5112677904
attempt to fix tester.nim file handle leak
2011-08-29 01:13:38 +02:00
Araq
a191fba6f1
Merge pull request #53 from keitahaga/doc-fixes
...
Fix typo in strutils.splitLines doc comment
2011-08-28 06:08:11 -07:00
Keita Haga
15b1bda82b
lib/pure/strutils.nim: fix doc comment for splitLines
2011-08-25 21:04:55 +09:00
Araq
82af6387d9
bugfix: fixed built-in 'reset'
2011-08-20 15:36:26 +02:00
Araq
dd190a5c01
more occurences of 'pure' proc pragma fixed
2011-08-20 01:01:46 +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
f8ac84f863
Merge branch 'master' of git@github.com:Araq/Nimrod
2011-08-16 21:24:42 +02:00
Araq
a0d172cd85
bugfix topenarrayrepr works again
2011-08-16 21:24:30 +02:00
Araq
dd9a591f7a
Merge pull request #51 from keitahaga/fix-typo
...
Fix typo in cgi module; many thanks to keitahaga
2011-08-16 11:50:34 -07:00
Keita Haga
9da77eb5cb
lib/pure/cgi.nim: fix typo 'passwort' instead of 'password'
2011-08-17 02:08:49 +09:00
Araq
b0742c5b27
finally got rid of nkPassAsOpenArray
2011-08-16 08:56:53 +02:00
Araq
f3007cbd72
Merge branch 'master' of git@github.com:Araq/Nimrod
2011-08-15 19:40:12 +02:00
Araq
2183bf77a6
added xmltree.innerText; fixes #49
2011-08-15 19:40:00 +02:00
Araq
bbbdea244a
Merge pull request #50 from keitahaga/terminal
...
Fixed bug where the styleReverse doesn't work on Unix-like systems
2011-08-15 10:37:00 -07:00
Keita Haga
b40d55b68e
lib/pure/terminal.nim: fixed bug where the styleReverse doesn't work on Unix-like systems
2011-08-16 01:48:56 +09:00
Araq
c6038dda04
bugfix: running for threads
2011-08-12 01:24:47 +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
7748dbc0b2
Merge branch 'master' of github.com:Araq/Nimrod
2011-08-04 19:47:47 +02:00
Araq
7a6140e3a4
fixes #42
2011-08-04 19:47:35 +02:00
dom96
3e660efeb4
Fixed osproc.terminate for posix and improved some other osproc posix functions.
2011-08-03 22:38:21 +01:00
Araq
7670466d43
Merge pull request #46 from keitahaga/examples
...
Fixed examples/keyval2.nim
2011-08-02 12:55:56 -07:00
Keita Haga
74947d0185
examples/keyval2.nim: the indices of the elements of a sequence are numbered starting with zero
2011-08-02 16:59:23 +09:00
Araq
f0145ba7c5
anonymous procs implemented; however no closure support yet
2011-08-01 08:39:27 +02:00
Araq
00a4e19e8f
clean exit codes for all the tools
2011-08-01 07:56:10 +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