Commit graph

157 commits

Author SHA1 Message Date
Andreas Rumpf
826c1e2d78 incremental compilation: implemented basic replay logic 2018-06-02 09:41:27 +02:00
Andreas Rumpf
61fb83ecbb baby steps for incremental compilation 2018-05-30 23:50:34 +02:00
Andreas Rumpf
ddc6cec69e refactoring: move DB model to incremental.nim 2018-05-30 10:15:41 +02:00
Andreas Rumpf
688c54d8f1 compiler API: final cleanups; improve security by diabling 'gorge' and friends 2018-05-29 09:07:24 +02:00
Andreas Rumpf
b92fcacb99 more compiler API cleanups 2018-05-28 23:48:25 +02:00
Andreas Rumpf
e5281f9356 rename 'nimrodVM' to 'nimVM' 2018-05-28 18:01:56 +02:00
Andreas Rumpf
006ee79a91 make dependency analyser free of global variables 2018-05-28 00:04:55 +02:00
Andreas Rumpf
545b1582cd refactoring: make projectMainIdx typesafe 2018-05-27 22:30:36 +02:00
Andreas Rumpf
40ec7be45c refactoring: remove idents.legacy global variable and pass the IdentCache around explicitly 2018-05-27 22:09:15 +02:00
Andreas Rumpf
18a3833d60 more refactoring 2018-05-27 15:22:17 +02:00
Andreas Rumpf
669a564492 remove more global variables in the Nim compiler 2018-05-27 11:10:56 +02:00
Andreas Rumpf
a4e2b0c153 platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals 2018-05-18 15:18:00 +02:00
Andreas Rumpf
bf6c2c5ccf preparations of making compiler/msgs.nim free of global variables 2018-05-17 15:21:22 +02:00
Andreas Rumpf
c73cd5349e documentation generator works again 2018-05-15 10:03:06 +02:00
Andreas Rumpf
328e7a1005 options.nim: no global variables anymore 2018-05-13 17:52:21 +02:00
Andreas Rumpf
342e50e26c compiler compiles again; simple programs do work 2018-05-13 08:51:11 +02:00
Andreas Rumpf
b7116a28ee compiler refactoring, pass config around explicitly 2018-05-05 18:47:29 +02:00
Andreas Rumpf
33b69f0ed0 refactoring: make FileIndex a distinct type; make line information an uint16; fixes #7654 2018-04-21 08:13:37 +02:00
treeform
35b0cc67e8 Remove PHP backend. (#7606)
* remove php

* fix

* keep nimphpext

* remove targetJS enum
2018-04-18 20:40:11 +02:00
PMunch
5003942256 Renamed jsondoc2 to jsondoc, similar to doc2 (#7279)
* Update information about jsondoc/jsondoc2

Manual was missing information about jsondoc2 which made it seem like
it didn't exist at all. This commit adds mention of the jsondoc2
command along with an example.

* Renamed jsondoc2 similar to doc2 and updated docs

doc2 was recently renamed to doc while doc was renamed to doc0. This
commits renames jsondoc to jsondoc2 and jsondoc2 to jsondoc0 to behave
tha same way. The documentation for doc/jsondoc was also lagging behind
this change which has also been fixed. I interpreted this as a soft
deprecation of doc and jsondoc and therefore removed them from the
auto-complete lists.
2018-03-08 15:11:45 +01:00
Araq
f3b8d92216 new .rod file implementation; part 1: writing of the file 2018-02-17 00:40:48 +01:00
Andreas Rumpf
51c45c7201 symbol files: introduce more switches for debugging 2018-01-07 12:21:42 +01:00
Andreas Rumpf
da90657317 make the new --genDeps feature optional since it makes compilations slower 2017-12-21 17:14:31 +01:00
Andreas Rumpf
5516fee1a7 Merge branch 'compile-deps' of https://github.com/pyokagan/Nim into pyokagan-compile-deps 2017-12-21 17:00:54 +01:00
Andreas Rumpf
a4d40d137e 'nim doc' is now using version 2 of the documentation generator 2017-11-16 12:53:36 +01:00
Dmitry Atamanov
870567d083 WIP: Add a advanced compiler command 'ctags' (#6654) 2017-11-15 22:07:22 +01:00
Andreas Rumpf
7aad0d6544 added 'nim jsonscript' feature 2017-09-23 16:29:05 +02:00
Paul Tan
b06c0f97a4 writeDepsFile: write included files as well
`writeDepsFile()` does not list files which were included with the
`include` statement, e.g, with:

    import file1
    include file2

`file1` will be written to the deps file, while `file2` would not.

Fix this by modifying `writeDepsFile()` to write included files as well.
Now, both `file1` and `file2` in the above example will be written to
the deps file.
2017-08-25 17:45:33 +08:00
Paul Tan
1a50442c13 Generate deps file during C compilation
The "genDepend" command was previously taught how to generate a "deps"
file in 4910a87c6 (gendepend improvements; refs #5144). Such a deps file
is useful in integrating the Nim compiler with an external build system
or watch daemon, such that it's possible to only run the Nim compiler
when any of the source files are modified.

It's also useful to generate the deps file in the nimcache directory
during C compilation, without needing to re-run the compilation passes
with "genDepend". This would thus reduce overall project build times.
2017-08-25 17:45:33 +08:00
def
ab31b776ef Fix typo 2017-03-23 21:29:10 +01:00
Arne Döring
92c2a51bf7 removed compiler internal list implementation (#5371) 2017-02-22 17:33:12 +01:00
Andreas Rumpf
f04d21f279 refactoring: explict config state instead of globals 2017-02-01 23:39:40 +01:00
Andreas Rumpf
9753782f96 memory allocator hotfix: do not allocate tremendous amounts of memory 2017-01-13 12:07:37 +01:00
Araq
4910a87c6f gendepend improvements; refs #5144 2017-01-06 13:11:17 +01:00
Araq
7148f6f104 make gendepend work again 2016-12-29 14:08:20 +01:00
Araq
843ae830d3 Merge branch 'devel' into sighashes 2016-12-14 01:31:02 +01:00
Araq
aedafb9978 Nim compiler generates nimcache/proj.json for easier interop with external build tools 2016-12-14 01:27:44 +01:00
Araq
ba38b83dd5 refactoring: C codegen with fewer global variables 2016-12-05 12:14:24 +01:00
Araq
9e6fb3f696 new dependency tracking for nimsuggest 2016-11-05 01:19:23 +01:00
Araq
29db0d8585 refactoring complete: explicit ident cache 2016-10-31 19:47:20 +01:00
Araq
773d17cd14 big refactoring: step 1 2016-10-31 15:34:44 +01:00
Andreas Rumpf
813828f690 the Nim compiler supports the jsondoc2 command 2016-07-13 01:06:33 +02:00
Andreas Rumpf
893be3a5a4 changed the compiler's path handling; fixes #546 2016-05-31 03:04:45 +02:00
Andreas Rumpf
e00f15aa2a Nim check defines 'nimcheck' conditional symbol 2016-05-24 00:07:59 +02:00
Andreas Rumpf
35567a1eb9 first version of an PHP codegen 2016-02-06 15:39:56 +01:00
Adam Strzelecki
acb6a36656 msgs: One msgWriteln with optional flags
Instead of msgWriteln, outWriteln and stdoutWriteln doing essentially the same.
2015-10-22 22:09:15 +02:00
Araq
2fda95a4d6 added getOrDefault; bootstrapping works again 2015-10-13 03:03:05 +02:00
Araq
178275f494 split os into os and ospaths parts; ospaths is available for NimScript; better NimScript support 2015-09-04 12:22:23 +02:00
Araq
a2bb7d4c71 simplify nimscript.nim 2015-08-21 01:34:46 +02:00
Araq
d634da775d cleanup destructor building for arrays; still doesn't work 2015-08-18 13:57:37 +02:00