summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--.bzrignore12
-rw-r--r--[-rwxr-xr-x]Nimrod.geany0
-rw-r--r--[-rwxr-xr-x]cogapp.py0
-rw-r--r--[-rwxr-xr-x]config/doctempl.cfg0
-rw-r--r--[-rwxr-xr-x]config/nimrod.cfg290
-rw-r--r--[-rwxr-xr-x]configure0
-rw-r--r--[-rwxr-xr-x]data/advopt.txt0
-rw-r--r--[-rwxr-xr-x]data/ast.yml0
-rw-r--r--[-rwxr-xr-x]data/basicopt.txt0
-rw-r--r--[-rwxr-xr-x]data/ccomps.txt0
-rw-r--r--[-rwxr-xr-x]data/changes.txt0
-rw-r--r--[-rwxr-xr-x]data/keywords.txt0
-rw-r--r--[-rwxr-xr-x]data/magic.yml0
-rw-r--r--[-rwxr-xr-x]data/messages.yml0
-rw-r--r--[-rwxr-xr-x]data/pas_keyw.yml0
-rw-r--r--[-rwxr-xr-x]data/readme.txt0
-rw-r--r--[-rwxr-xr-x]dist/empty.txt0
-rw-r--r--[-rwxr-xr-x]doc/docs.txt0
-rw-r--r--[-rwxr-xr-x]doc/endb.txt0
-rw-r--r--[-rwxr-xr-x]doc/filelist.txt0
-rw-r--r--[-rwxr-xr-x]doc/grammar.txt0
-rw-r--r--[-rwxr-xr-x]doc/html/empty.txt0
-rw-r--r--[-rwxr-xr-x]doc/intern.txt84
-rw-r--r--[-rwxr-xr-x]doc/lib.txt0
-rw-r--r--[-rwxr-xr-x]doc/manual.txt0
-rw-r--r--[-rwxr-xr-x]doc/nimdoc.css0
-rw-r--r--[-rwxr-xr-x]doc/nimrodc.txt0
-rw-r--r--[-rwxr-xr-x]doc/overview.txt0
-rw-r--r--[-rwxr-xr-x]doc/posix.txt0
-rw-r--r--[-rwxr-xr-x]doc/readme.txt0
-rw-r--r--[-rwxr-xr-x]doc/regexprs.txt0
-rw-r--r--[-rwxr-xr-x]doc/rst.txt0
-rw-r--r--[-rwxr-xr-x]doc/spec.txt0
-rw-r--r--[-rwxr-xr-x]doc/theindex.txt2873
-rw-r--r--[-rwxr-xr-x]doc/tutorial.txt0
-rw-r--r--[-rwxr-xr-x]dos2unix.py0
-rw-r--r--[-rwxr-xr-x]gcccpuopt.sh0
-rw-r--r--[-rwxr-xr-x]ide/main.nim0
-rw-r--r--[-rwxr-xr-x]ide/nimide.glade0
-rw-r--r--[-rwxr-xr-x]install.txt46
-rw-r--r--[-rwxr-xr-x]koch.py129
-rw-r--r--[-rwxr-xr-x]kochmod.py0
-rw-r--r--[-rwxr-xr-x]lib/amd64.asm.in0
-rw-r--r--[-rwxr-xr-x]lib/ansi_c.nim0
-rw-r--r--[-rwxr-xr-x]lib/arithm.nim0
-rw-r--r--[-rwxr-xr-x]lib/assign.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/dialogs.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/atk.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/gdk2.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/gdk2pixbuf.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/gdkglext.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/glib2.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/gtk2.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/gtkglext.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/gtkhtml.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/libglade2.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/pango.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/gtk/pangoutils.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/nregex.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/pcre.nim0
-rw-r--r--[-rwxr-xr-x]lib/base/pcre_all.c0
-rw-r--r--[-rwxr-xr-x]lib/base/regexprs.nim0
-rw-r--r--[-rwxr-xr-x]lib/cntbits.nim0
-rw-r--r--[-rwxr-xr-x]lib/complex.nim0
-rw-r--r--[-rwxr-xr-x]lib/copying.txt0
-rw-r--r--[-rwxr-xr-x]lib/debugger.nim0
-rw-r--r--[-rwxr-xr-x]lib/dlmalloc.c0
-rw-r--r--[-rwxr-xr-x]lib/dlmalloc.h0
-rw-r--r--[-rwxr-xr-x]lib/dyncalls.nim0
-rw-r--r--[-rwxr-xr-x]lib/excpt.nim0
-rw-r--r--[-rwxr-xr-x]lib/gc.nim0
-rw-r--r--[-rwxr-xr-x]lib/hti.nim0
-rw-r--r--[-rwxr-xr-x]lib/i386.asm.in0
-rw-r--r--[-rwxr-xr-x]lib/int64s.nim0
-rw-r--r--[-rwxr-xr-x]lib/lgpl.txt0
-rw-r--r--[-rwxr-xr-x]lib/locks.nim0
-rw-r--r--[-rwxr-xr-x]lib/math.nim0
-rw-r--r--[-rwxr-xr-x]lib/memman.nim0
-rw-r--r--[-rwxr-xr-x]lib/nimbase.h0
-rw-r--r--[-rwxr-xr-x]lib/optparse.nim0
-rw-r--r--[-rwxr-xr-x]lib/os.nim7
-rw-r--r--[-rwxr-xr-x]lib/posix/posix.nim0
-rw-r--r--[-rwxr-xr-x]lib/powerpc.asm.in0
-rw-r--r--[-rwxr-xr-x]lib/process.nim0
-rw-r--r--[-rwxr-xr-x]lib/ptrset.nim0
-rw-r--r--[-rwxr-xr-x]lib/repr.nim0
-rw-r--r--[-rwxr-xr-x]lib/sets.nim0
-rw-r--r--[-rwxr-xr-x]lib/strutils.nim0
-rw-r--r--[-rwxr-xr-x]lib/sysio.nim0
-rw-r--r--[-rwxr-xr-x]lib/sysstr.nim0
-rw-r--r--[-rwxr-xr-x]lib/system.nim0
-rw-r--r--[-rwxr-xr-x]lib/times.nim0
-rw-r--r--[-rwxr-xr-x]lib/typeinfo.nim0
-rw-r--r--[-rwxr-xr-x]lib/unicode.nim0
-rw-r--r--[-rwxr-xr-x]lib/windows/mmsystem.nim0
-rw-r--r--[-rwxr-xr-x]lib/windows/nb30.nim0
-rw-r--r--[-rwxr-xr-x]lib/windows/ole2.nim0
-rw-r--r--[-rwxr-xr-x]lib/windows/shellapi.nim0
-rw-r--r--[-rwxr-xr-x]lib/windows/shfolder.nim0
-rw-r--r--[-rwxr-xr-x]lib/windows/windows.nim0
-rw-r--r--[-rwxr-xr-x]makefile0
-rw-r--r--[-rwxr-xr-x]nim/ast.pas0
-rw-r--r--[-rwxr-xr-x]nim/astalgo.pas0
-rw-r--r--[-rwxr-xr-x]nim/backends.pas0
-rw-r--r--[-rwxr-xr-x]nim/bitsets.pas0
-rw-r--r--[-rwxr-xr-x]nim/ccgexprs.pas0
-rw-r--r--[-rwxr-xr-x]nim/ccgstmts.pas0
-rw-r--r--[-rwxr-xr-x]nim/ccgtypes.pas0
-rw-r--r--[-rwxr-xr-x]nim/ccgutils.pas0
-rw-r--r--[-rwxr-xr-x]nim/cgen.pas5
-rw-r--r--[-rwxr-xr-x]nim/charsets.pas0
-rw-r--r--[-rwxr-xr-x]nim/commands.pas0
-rw-r--r--[-rwxr-xr-x]nim/condsyms.pas0
-rw-r--r--[-rwxr-xr-x]nim/config.inc0
-rw-r--r--[-rwxr-xr-x]nim/copying.txt0
-rw-r--r--[-rwxr-xr-x]nim/crc.pas0
-rw-r--r--[-rwxr-xr-x]nim/docgen.pas0
-rw-r--r--[-rwxr-xr-x]nim/eval.pas0
-rw-r--r--[-rwxr-xr-x]nim/extccomp.pas19
-rw-r--r--[-rwxr-xr-x]nim/genhelp.pas0
-rw-r--r--[-rwxr-xr-x]nim/gpl.html0
-rw-r--r--[-rwxr-xr-x]nim/hashes.pas0
-rw-r--r--[-rwxr-xr-x]nim/highlite.pas0
-rw-r--r--[-rwxr-xr-x]nim/idents.pas0
-rw-r--r--[-rwxr-xr-x]nim/importer.pas0
-rw-r--r--[-rwxr-xr-x]nim/instgen.pas0
-rw-r--r--[-rwxr-xr-x]nim/lexbase.pas0
-rw-r--r--[-rwxr-xr-x]nim/lists.pas0
-rw-r--r--[-rwxr-xr-x]nim/llvmdyn.pas0
-rw-r--r--[-rwxr-xr-x]nim/llvmstat.pas0
-rw-r--r--[-rwxr-xr-x]nim/lookup.pas0
-rw-r--r--[-rwxr-xr-x]nim/magicsys.pas0
-rw-r--r--[-rwxr-xr-x]nim/main.pas0
-rw-r--r--[-rwxr-xr-x]nim/msgs.pas0
-rw-r--r--[-rwxr-xr-x]nim/nimconf.pas0
-rw-r--r--[-rwxr-xr-x]nim/nimrod.pas0
-rw-r--r--[-rwxr-xr-x]nim/nimsets.pas0
-rw-r--r--[-rwxr-xr-x]nim/nmath.pas0
-rw-r--r--[-rwxr-xr-x]nim/nos.pas0
-rw-r--r--[-rwxr-xr-x]nim/nsystem.pas0
-rw-r--r--[-rwxr-xr-x]nim/ntime.pas0
-rw-r--r--[-rwxr-xr-x]nim/nversion.pas82
-rw-r--r--[-rwxr-xr-x]nim/options.pas0
-rw-r--r--[-rwxr-xr-x]nim/paslex.pas0
-rw-r--r--[-rwxr-xr-x]nim/pasparse.pas0
-rw-r--r--[-rwxr-xr-x]nim/platform.pas0
-rw-r--r--[-rwxr-xr-x]nim/pnimsyn.pas0
-rw-r--r--[-rwxr-xr-x]nim/pragmas.pas0
-rw-r--r--[-rwxr-xr-x]nim/procfind.pas0
-rw-r--r--[-rwxr-xr-x]nim/readme.txt0
-rw-r--r--[-rwxr-xr-x]nim/rnimsyn.pas0
-rw-r--r--[-rwxr-xr-x]nim/rodgen.pas0
-rw-r--r--[-rwxr-xr-x]nim/ropes.pas0
-rw-r--r--[-rwxr-xr-x]nim/rst.pas0
-rw-r--r--[-rwxr-xr-x]nim/scanner.pas0
-rw-r--r--[-rwxr-xr-x]nim/sem.pas0
-rw-r--r--[-rwxr-xr-x]nim/semexprs.pas0
-rw-r--r--[-rwxr-xr-x]nim/semfold.pas0
-rw-r--r--[-rwxr-xr-x]nim/semstmts.pas0
-rw-r--r--[-rwxr-xr-x]nim/semtempl.pas0
-rw-r--r--[-rwxr-xr-x]nim/semtypes.pas0
-rw-r--r--[-rwxr-xr-x]nim/sigmatch.pas0
-rw-r--r--[-rwxr-xr-x]nim/strutils.pas0
-rw-r--r--[-rwxr-xr-x]nim/syntaxes.pas0
-rw-r--r--[-rwxr-xr-x]nim/transf.pas0
-rw-r--r--[-rwxr-xr-x]nim/transtmp.pas0
-rw-r--r--[-rwxr-xr-x]nim/trees.pas0
-rw-r--r--[-rwxr-xr-x]nim/treetab.pas0
-rw-r--r--[-rwxr-xr-x]nim/types.pas0
-rw-r--r--[-rwxr-xr-x]nim/vis.pas0
-rw-r--r--[-rwxr-xr-x]nim/wordrecg.pas0
-rw-r--r--[-rwxr-xr-x]nimrod.aip0
-rw-r--r--[-rwxr-xr-x]obj/empty.txt0
-rw-r--r--[-rwxr-xr-x]readme.txt4
-rw-r--r--[-rwxr-xr-x]rod/readme.txt0
-rw-r--r--[-rwxr-xr-x]tests/bench/GCBench.c0
-rw-r--r--[-rwxr-xr-x]tests/bench/GCBench.cpp0
-rw-r--r--[-rwxr-xr-x]tests/bench/GCBench.java0
-rw-r--r--[-rwxr-xr-x]tests/bench/GCBench_OGC.cpp0
-rw-r--r--[-rwxr-xr-x]tests/bench/gcbench.nim0
-rw-r--r--[-rwxr-xr-x]tests/bench/prof.c0
-rw-r--r--[-rwxr-xr-x]tests/gc.bpf0
-rw-r--r--[-rwxr-xr-x]tests/gc.bpr0
-rw-r--r--[-rwxr-xr-x]tests/gctest.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex1.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex2.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex3.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex4.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex5.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex6.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex7.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex8.nim0
-rw-r--r--[-rwxr-xr-x]tests/gtk/ex9.nim0
-rw-r--r--[-rwxr-xr-x]tests/hallo.bpf0
-rw-r--r--[-rwxr-xr-x]tests/hallo.bpr0
-rw-r--r--[-rwxr-xr-x]tests/iotest.bpf0
-rw-r--r--[-rwxr-xr-x]tests/iotest.bpr0
-rw-r--r--[-rwxr-xr-x]tests/mambsym1.nim0
-rw-r--r--[-rwxr-xr-x]tests/mambsym2.nim0
-rw-r--r--[-rwxr-xr-x]tests/mambsys1.nim0
-rw-r--r--[-rwxr-xr-x]tests/mambsys2.nim0
-rw-r--r--[-rwxr-xr-x]tests/minit.nim0
-rw-r--r--[-rwxr-xr-x]tests/mnamspc1.nim0
-rw-r--r--[-rwxr-xr-x]tests/mnamspc2.nim0
-rw-r--r--[-rwxr-xr-x]tests/mopaque.nim0
-rw-r--r--[-rwxr-xr-x]tests/mrecmod.nim0
-rw-r--r--[-rwxr-xr-x]tests/mvarious.nim0
-rw-r--r--[-rwxr-xr-x]tests/readme.txt0
-rw-r--r--[-rwxr-xr-x]tests/rectest/rectest.nim0
-rw-r--r--[-rwxr-xr-x]tests/scantest.nim0
-rw-r--r--[-rwxr-xr-x]tests/sdltest.nim0
-rw-r--r--[-rwxr-xr-x]tests/seqcon.bpf0
-rw-r--r--[-rwxr-xr-x]tests/seqcon.bpr0
-rw-r--r--[-rwxr-xr-x]tests/tack.nim0
-rw-r--r--[-rwxr-xr-x]tests/tambsym.nim0
-rw-r--r--[-rwxr-xr-x]tests/tambsys.nim0
-rw-r--r--[-rwxr-xr-x]tests/tarray.nim0
-rw-r--r--[-rwxr-xr-x]tests/tarrindx.nim0
-rw-r--r--[-rwxr-xr-x]tests/tassert.nim0
-rw-r--r--[-rwxr-xr-x]tests/tassign.nim0
-rw-r--r--[-rwxr-xr-x]tests/tblock1.nim0
-rw-r--r--[-rwxr-xr-x]tests/tcasestm.nim0
-rw-r--r--[-rwxr-xr-x]tests/tcmdline.nim0
-rw-r--r--[-rwxr-xr-x]tests/tconstr1.nim0
-rw-r--r--[-rwxr-xr-x]tests/tconstr2.nim0
-rw-r--r--[-rwxr-xr-x]tests/tcopy.nim0
-rw-r--r--[-rwxr-xr-x]tests/tdialogs.nim0
-rw-r--r--[-rwxr-xr-x]tests/tendian.nim0
-rw-r--r--[-rwxr-xr-x]tests/tenum.nim0
-rw-r--r--[-rwxr-xr-x]tests/tformat.nim0
-rw-r--r--[-rwxr-xr-x]tests/tforwty.nim0
-rw-r--r--[-rwxr-xr-x]tests/tforwty2.nim0
-rw-r--r--[-rwxr-xr-x]tests/tgeneric.nim0
-rw-r--r--[-rwxr-xr-x]tests/tgtk.nim0
-rw-r--r--[-rwxr-xr-x]tests/thallo.dot0
-rw-r--r--[-rwxr-xr-x]tests/thallo.nim0
-rw-r--r--[-rwxr-xr-x]tests/tillrec.nim0
-rw-r--r--[-rwxr-xr-x]tests/tinit.nim0
-rw-r--r--[-rwxr-xr-x]tests/tinout.nim0
-rw-r--r--[-rwxr-xr-x]tests/tinvwhen.nim0
-rw-r--r--[-rwxr-xr-x]tests/tio.nim0
-rw-r--r--[-rwxr-xr-x]tests/titer.nim0
-rw-r--r--[-rwxr-xr-x]tests/tlastmod.nim0
-rw-r--r--[-rwxr-xr-x]tests/tloops.nim0
-rw-r--r--[-rwxr-xr-x]tests/tlowhigh.nim0
-rw-r--r--[-rwxr-xr-x]tests/tmath.nim0
-rw-r--r--[-rwxr-xr-x]tests/tnamspc.nim0
-rw-r--r--[-rwxr-xr-x]tests/tnestif.nim0
-rw-r--r--[-rwxr-xr-x]tests/tnew.bpf0
-rw-r--r--[-rwxr-xr-x]tests/tnew.bpr0
-rw-r--r--[-rwxr-xr-x]tests/tnew.nim0
-rw-r--r--[-rwxr-xr-x]tests/tnewsets.nim0
-rw-r--r--[-rwxr-xr-x]tests/tnewuns.nim0
-rw-r--r--[-rwxr-xr-x]tests/tnoop.nim0
-rw-r--r--[-rwxr-xr-x]tests/tobject2.nim0
-rw-r--r--[-rwxr-xr-x]tests/tobjects.nim0
-rw-r--r--[-rwxr-xr-x]tests/topaque.nim0
-rw-r--r--[-rwxr-xr-x]tests/toptions.nim0
-rw-r--r--[-rwxr-xr-x]tests/toverflw.nim0
-rw-r--r--[-rwxr-xr-x]tests/toverl.nim0
-rw-r--r--[-rwxr-xr-x]tests/toverlop.nim0
-rw-r--r--[-rwxr-xr-x]tests/toverwr.nim0
-rw-r--r--[-rwxr-xr-x]tests/tovfint.nim0
-rw-r--r--[-rwxr-xr-x]tests/tparedef.nim0
-rw-r--r--[-rwxr-xr-x]tests/tpos.nim0
-rw-r--r--[-rwxr-xr-x]tests/tposix.nim0
-rw-r--r--[-rwxr-xr-x]tests/tprep.nim0
-rw-r--r--[-rwxr-xr-x]tests/tprintf.nim0
-rw-r--r--[-rwxr-xr-x]tests/tprocvar.nim0
-rw-r--r--[-rwxr-xr-x]tests/tpush.nim0
-rw-r--r--[-rwxr-xr-x]tests/tquit.nim0
-rw-r--r--[-rwxr-xr-x]tests/trawstr.nim0
-rw-r--r--[-rwxr-xr-x]tests/treadln.nim0
-rw-r--r--[-rwxr-xr-x]tests/trecmod.nim0
-rw-r--r--[-rwxr-xr-x]tests/trectype.nim0
-rw-r--r--[-rwxr-xr-x]tests/trefs.nim0
-rw-r--r--[-rwxr-xr-x]tests/tregex.nim0
-rw-r--r--[-rwxr-xr-x]tests/treguse.nim0
-rw-r--r--[-rwxr-xr-x]tests/trepr.nim0
-rw-r--r--[-rwxr-xr-x]tests/tseqcon.nim0
-rw-r--r--[-rwxr-xr-x]tests/tsets.nim0
-rw-r--r--[-rwxr-xr-x]tests/tsimtych.nim0
-rw-r--r--[-rwxr-xr-x]tests/tsizeof.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstatret.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstmtexp.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstrace.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstrange.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstrdesc.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstrdist.nim0
-rw-r--r--[-rwxr-xr-x]tests/tstrutil.nim0
-rw-r--r--[-rwxr-xr-x]tests/ttime.nim0
-rw-r--r--[-rwxr-xr-x]tests/tvardecl.nim0
-rw-r--r--[-rwxr-xr-x]tests/tvarious.nim0
-rw-r--r--[-rwxr-xr-x]tests/tvarnums.nim0
-rw-r--r--[-rwxr-xr-x]tests/twalker.nim0
-rw-r--r--[-rwxr-xr-x]tests/typredef.nim0
-rw-r--r--[-rwxr-xr-x]tests/walker.bpf0
-rw-r--r--[-rwxr-xr-x]tests/walker.bpr0
-rw-r--r--[-rwxr-xr-x]tests/wingui.nim0
-rw-r--r--[-rwxr-xr-x]todo.txt0
-rw-r--r--[-rwxr-xr-x]unix2dos.py0
-rw-r--r--[-rwxr-xr-x]web/documentation.txt0
-rw-r--r--[-rwxr-xr-x]web/docutils.tmpl0
-rw-r--r--[-rwxr-xr-x]web/download.txt5
-rw-r--r--[-rwxr-xr-x]web/genweb.py0
-rw-r--r--[-rwxr-xr-x]web/index.txt12
-rw-r--r--[-rwxr-xr-x]web/links.txt2
-rw-r--r--[-rwxr-xr-x]web/news.txt7
-rw-r--r--[-rwxr-xr-x]web/question.txt12
-rw-r--r--[-rwxr-xr-x]web/style/back.pngbin224 -> 224 bytes
-rw-r--r--[-rwxr-xr-x]web/style/graphic.jpgbin2002 -> 2002 bytes
-rw-r--r--[-rwxr-xr-x]web/style/link.pngbin186 -> 186 bytes
-rw-r--r--[-rwxr-xr-x]web/style/logo.jpgbin16985 -> 16985 bytes
-rw-r--r--[-rwxr-xr-x]web/style/menu.pngbin165 -> 165 bytes
-rw-r--r--[-rwxr-xr-x]web/style/menu_hover.pngbin166 -> 166 bytes
-rw-r--r--[-rwxr-xr-x]web/style/sbi_header.pngbin201 -> 201 bytes
-rw-r--r--[-rwxr-xr-x]web/style/style.css0
-rw-r--r--[-rwxr-xr-x]web/sunset.tmpl0
-rw-r--r--[-rwxr-xr-x]web/theindex.txt0
-rw-r--r--[-rwxr-xr-x]web/voidspace.css0
-rw-r--r--[-rwxr-xr-x]whiteutils.py0
321 files changed, 1783 insertions, 1806 deletions
diff --git a/.bzrignore b/.bzrignore
new file mode 100644
index 000000000..df975890f
--- /dev/null
+++ b/.bzrignore
@@ -0,0 +1,12 @@
+web/*.html
+doc/*.html
+*.o
+*.pyc
+*.pyo
+*.obj
+*.ppu
+*.exe
+*.dll
+*.zip
+*.tar.gz
+dist
diff --git a/Nimrod.geany b/Nimrod.geany
index bd40069c9..bd40069c9 100755..100644
--- a/Nimrod.geany
+++ b/Nimrod.geany
diff --git a/cogapp.py b/cogapp.py
index 4c2e92bf0..4c2e92bf0 100755..100644
--- a/cogapp.py
+++ b/cogapp.py
diff --git a/config/doctempl.cfg b/config/doctempl.cfg
index 21869072e..21869072e 100755..100644
--- a/config/doctempl.cfg
+++ b/config/doctempl.cfg
diff --git a/config/nimrod.cfg b/config/nimrod.cfg
index c393d93cc..8653b0449 100755..100644
--- a/config/nimrod.cfg
+++ b/config/nimrod.cfg
@@ -1,150 +1,140 @@
-# Configuration file for the Nimrod Compiler.
-# Generated by the koch.py script.
-# (c) 2008 Andreas Rumpf
-
-# Feel free to edit the default values as you need.
-
-# You may set environment variables with
-# @putenv "key" "val"
-# Environment variables cannot be used in the options, however!
-
-# Just call the compiler with several options:
-cc = @if unix: gcc @else: bcc @end
-lib="$nimrod/lib"
-path="$lib/base"
-path="$lib/base/gtk"
-path="$lib/base/cairo"
-path="$lib/base/x11"
-path="$lib/windows"
-path="$lib/posix"
-path="$lib/extra"
-
-# additional defines:
-#define=""
-# additional options always passed to the compiler:
-c_file_cache=on
-line_dir=off
-
-hint[LineTooLong]=off
-hint[XDeclaredButNotUsed]=off
-
-@if unix:
-  passl= "-ldl"
-  path = "$lib/base/gtk"
-@end
-
-@if icc:
-  passl = "-cxxlib"
-  passc = "-cxxlib"
-@end
-
-# Configuration for the Borland C++ Compiler:
-@if windows:
-  bcc.path = r"C:\eigenes\compiler\cbuilder5\bin"
-@end
-bcc.options.debug = ""
-# turn off warnings about unreachable code and inline procs:
-bcc.options.always = "-w- -H- -q -RT- -a8 -w-8027 -w-8066"
-bcc.options.speed = "-O2 -6"
-bcc.options.size = "-O1 -6"
-
-# Configuration for the Visual C/C++ compiler:
-@if vcc:
-  @prepend_env path r"C:\Eigenes\compiler\vcc2005\Common7\IDE;"
-  @prepend_env INCLUDE r"C:\Eigenes\compiler\vcc2005\VC\include;C:\Eigenes\compiler\vcc2005\VC\ATLMFC\INCLUDE;"
-  @prepend_env LIB r"C:\Eigenes\compiler\vcc2005\VC\lib;C:\Eigenes\compiler\vcc2005\SDK\v2.0\Lib;"
-  #~ @prepend_env VSINSTALLDIR C:\eigenes\compiler\vcc2005
-  #~ @prepend_env VCINSTALLDIR C:\eigenes\compiler\vcc2005\VC
-  #~ @prepend_env FrameworkDir C:\WINDOWS\Microsoft.NET\Framework
-  #~ @prepend_env FrameworkVersion v2.0.50727
-  #~ @prepend_env FrameworkSDKDir C:\eigenes\compiler\vcc2005\SDK\v2.0
-  #~ @set DevEnvDir=C:\eigenes\compiler\vcc2005\Common7\IDE
-  #~ @prepend_env PATH %DevEnvDir%;%VCINSTALLDIR%\BIN;%VSINSTALLDIR%\Common7\Tools;%VSINSTALLDIR%\Common7\Tools\bin;%VCINSTALLDIR%\PlatformSDK\bin;%FrameworkSDKDir%\bin;%FrameworkDir%\%FrameworkVersion%;%VCINSTALLDIR%\VCPackages;%PATH%
-  #~ @prepend_env INCLUDE %VCINSTALLDIR%\ATLMFC\INCLUDE;%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\PlatformSDK\include;%FrameworkSDKDir%\include;%INCLUDE%
-  #~ @prepend_env LIB %VCINSTALLDIR%\ATLMFC\LIB;%VCINSTALLDIR%\LIB;%VCINSTALLDIR%\PlatformSDK\lib;%FrameworkSDKDir%\lib;%LIB%
-  #~ @prepend_env LIBPATH %FrameworkDir%\%FrameworkVersion%;%VCINSTALLDIR%\ATLMFC\LIB
-@end
-@if windows:
-  vcc.path = r"C:\Eigenes\compiler\vcc2005\VC\bin"
-@end
-vcc.options.debug = "/GZ /ZI"
-vcc.options.always = "/nologo"
-vcc.options.speed = "/Ogityb2 /G7 /arch:SSE2"
-vcc.options.size = "/O1 /G7"
-
-# Configuration for the Watcom C/C++ compiler:
-@if windows:
-  wcc.path = r"C:\eigenes\compiler\watcom\binnt"
-@end
-wcc.options.debug = "-d2"
-wcc.options.always = "-6 -zw -w-"
-wcc.options.speed = "-ox -on -6 -d0 -fp6 -zW"
-wcc.options.size = "-ox -on -6 -d0 -fp6 -zW"
-
-# Configuration for the GNU C/C++ compiler:
-@if windows:
-  gcc.path = r"C:\eigenes\compiler\mingw\bin"
-@end
-gcc.options.debug = "-g"
-@if macosx:
-  gcc.options.always = "-Wall -g -fasm-blocks"
-@else:
-  gcc.options.always = "-Wall -g"
-@end
-gcc.options.speed = "-O3 -ffast-math"
-gcc.options.size = "-Os -ffast-math"
-
-# Configuration for the Digital Mars C/C++ compiler:
-@if windows:
-  dmc.path = r"C:\eigenes\compiler\d\dm\bin"
-@end
-dmc.options.debug = "-g"
-dmc.options.always = "-Jm"
-dmc.options.speed = "-ff -o -6"
-dmc.options.size = "-ff -o -6"
-
-# Configuration for the LCC compiler:
-@if windows:
-  lcc.path = r"C:\eigenes\compiler\lcc\bin"
-@end
-lcc.options.debug = "-g5"
-lcc.options.always = "-e1"
-lcc.options.speed = "-O -p6"
-lcc.options.size = "-O -p6"
-
-# Configuration for the Tiny C Compiler:
-@if windows:
-  tcc.path = r"C:\eigenes\compiler\tcc\bin"
-@end
-tcc.options.debug = "-b"
-tcc.options.always = ""
-tcc.options.speed = ""
-tcc.options.size = ""
-
-# Configuration for the Pelles C compiler:
-@if windows:
-  pcc.path = r"C:\eigenes\compiler\pellesc\bin"
-@end
-pcc.options.debug = "-Zi"
-pcc.options.always = "-Ze"
-pcc.options.speed = "-Ox"
-pcc.options.size = "-Os"
-
-# Configuration for the LLVM GCC compiler:
-@if windows:
-  llvm_gcc.path = r"c:\eignes\compiler\llvm-gcc\bin"
-@end
-llvm_gcc.options.debug = "-g"
-llvm_gcc.options.always = "-w"
-llvm_gcc.options.speed = "-O3 -ffast-math"
-llvm_gcc.options.size = "-Os -ffast-math"
-
-@if windows:
-  icc.path = r"c:\eignes\compiler\icc\bin"
-@end
-icc.options.debug = "-g"
-icc.options.always = "-w"
-icc.options.speed = "-O3 -ffast-math"
-icc.options.size = "-Os -ffast-math"
-
-@write "used default config file"
+# Configuration file for the Nimrod Compiler.

+# Generated by the koch.py script.

+# (c) 2008 Andreas Rumpf

+

+# Feel free to edit the default values as you need.

+

+# You may set environment variables with

+# @putenv "key" "val"

+# Environment variables cannot be used in the options, however!

+

+# Just call the compiler with several options:

+cc = @if unix: gcc @else: llvm_gcc @end

+lib="$nimrod/lib"

+path="$lib/base"

+path="$lib/base/gtk"

+path="$lib/base/cairo"

+path="$lib/base/x11"

+path="$lib/windows"

+path="$lib/posix"

+path="$lib/extra"

+

+# additional defines:

+#define=""

+# additional options always passed to the compiler:

+force_build

+line_dir=off

+

+hint[LineTooLong]=off

+hint[XDeclaredButNotUsed]=off

+

+@if unix:

+  passl= "-ldl"

+  path = "$lib/base/gtk"

+@end

+

+@if icc:

+  passl = "-cxxlib"

+  passc = "-cxxlib"

+@end

+

+# Configuration for the LLVM GCC compiler:

+@if windows:

+  llvm_gcc.path = r"dist\llvm-gcc4.2\bin"

+@end

+llvm_gcc.options.debug = "-g"

+llvm_gcc.options.always = "-w"

+llvm_gcc.options.speed = "-O3 -ffast-math"

+llvm_gcc.options.size = "-Os -ffast-math"

+

+# Configuration for the Borland C++ Compiler:

+@if windows:

+  bcc.path = r"C:\eigenes\compiler\cbuilder5\bin"

+@end

+bcc.options.debug = ""

+# turn off warnings about unreachable code and inline procs:

+bcc.options.always = "-w- -H- -q -RT- -a8 -w-8027 -w-8066"

+bcc.options.speed = "-O2 -6"

+bcc.options.size = "-O1 -6"

+

+# Configuration for the Visual C/C++ compiler:

+@if vcc:

+  @prepend_env path r"C:\Eigenes\compiler\vcc2005\Common7\IDE;"

+  @prepend_env INCLUDE r"C:\Eigenes\compiler\vcc2005\VC\include;C:\Eigenes\compiler\vcc2005\VC\ATLMFC\INCLUDE;"

+  @prepend_env LIB r"C:\Eigenes\compiler\vcc2005\VC\lib;C:\Eigenes\compiler\vcc2005\SDK\v2.0\Lib;"

+@end

+@if windows:

+  vcc.path = r"C:\Eigenes\compiler\vcc2005\VC\bin"

+@end

+vcc.options.debug = "/GZ /ZI"

+vcc.options.always = "/nologo"

+vcc.options.speed = "/Ogityb2 /G7 /arch:SSE2"

+vcc.options.size = "/O1 /G7"

+

+# Configuration for the Watcom C/C++ compiler:

+@if windows:

+  wcc.path = r"C:\eigenes\compiler\watcom\binnt"

+@end

+wcc.options.debug = "-d2"

+wcc.options.always = "-6 -zw -w-"

+wcc.options.speed = "-ox -on -6 -d0 -fp6 -zW"

+wcc.options.size = "-ox -on -6 -d0 -fp6 -zW"

+

+# Configuration for the GNU C/C++ compiler:

+@if windows:

+  gcc.path = r"C:\eigenes\compiler\mingw\bin"

+@end

+gcc.options.debug = "-g"

+@if macosx:

+  gcc.options.always = "-w -fasm-blocks"

+@else:

+  gcc.options.always = "-w"

+@end

+gcc.options.speed = "-O3 -ffast-math"

+gcc.options.size = "-Os -ffast-math"

+

+# Configuration for the Digital Mars C/C++ compiler:

+@if windows:

+  dmc.path = r"C:\eigenes\compiler\d\dm\bin"

+@end

+dmc.options.debug = "-g"

+dmc.options.always = "-Jm"

+dmc.options.speed = "-ff -o -6"

+dmc.options.size = "-ff -o -6"

+

+# Configuration for the LCC compiler:

+@if windows:

+  lcc.path = r"C:\eigenes\compiler\lcc\bin"

+@end

+lcc.options.debug = "-g5"

+lcc.options.always = "-e1"

+lcc.options.speed = "-O -p6"

+lcc.options.size = "-O -p6"

+

+# Configuration for the Tiny C Compiler:

+@if windows:

+  tcc.path = r"C:\eigenes\compiler\tcc\bin"

+@end

+tcc.options.debug = "-b"

+tcc.options.always = ""

+tcc.options.speed = ""

+tcc.options.size = ""

+

+# Configuration for the Pelles C compiler:

+@if windows:

+  pcc.path = r"C:\eigenes\compiler\pellesc\bin"

+@end

+pcc.options.debug = "-Zi"

+pcc.options.always = "-Ze"

+pcc.options.speed = "-Ox"

+pcc.options.size = "-Os"

+

+@if windows:

+  icc.path = r"c:\eignes\compiler\icc\bin"

+@end

+icc.options.debug = "-g"

+icc.options.always = "-w"

+icc.options.speed = "-O3 -ffast-math"

+icc.options.size = "-Os -ffast-math"

+

+@write "used default config file"

diff --git a/configure b/configure
index d3fe66d92..d3fe66d92 100755..100644
--- a/configure
+++ b/configure
diff --git a/data/advopt.txt b/data/advopt.txt
index 626a000e4..626a000e4 100755..100644
--- a/data/advopt.txt
+++ b/data/advopt.txt
diff --git a/data/ast.yml b/data/ast.yml
index ee688909d..ee688909d 100755..100644
--- a/data/ast.yml
+++ b/data/ast.yml
diff --git a/data/basicopt.txt b/data/basicopt.txt
index a6f6ffee5..a6f6ffee5 100755..100644
--- a/data/basicopt.txt
+++ b/data/basicopt.txt
diff --git a/data/ccomps.txt b/data/ccomps.txt
index 0dcad7c08..0dcad7c08 100755..100644
--- a/data/ccomps.txt
+++ b/data/ccomps.txt
diff --git a/data/changes.txt b/data/changes.txt
index a449b7a62..a449b7a62 100755..100644
--- a/data/changes.txt
+++ b/data/changes.txt
diff --git a/data/keywords.txt b/data/keywords.txt
index 4e5a1c8e6..4e5a1c8e6 100755..100644
--- a/data/keywords.txt
+++ b/data/keywords.txt
diff --git a/data/magic.yml b/data/magic.yml
index a126b8075..a126b8075 100755..100644
--- a/data/magic.yml
+++ b/data/magic.yml
diff --git a/data/messages.yml b/data/messages.yml
index e45c41754..e45c41754 100755..100644
--- a/data/messages.yml
+++ b/data/messages.yml
diff --git a/data/pas_keyw.yml b/data/pas_keyw.yml
index 7f2d26960..7f2d26960 100755..100644
--- a/data/pas_keyw.yml
+++ b/data/pas_keyw.yml
diff --git a/data/readme.txt b/data/readme.txt
index 9cea8806a..9cea8806a 100755..100644
--- a/data/readme.txt
+++ b/data/readme.txt
diff --git a/dist/empty.txt b/dist/empty.txt
index 20f9a91e3..20f9a91e3 100755..100644
--- a/dist/empty.txt
+++ b/dist/empty.txt
diff --git a/doc/docs.txt b/doc/docs.txt
index f58a16f48..f58a16f48 100755..100644
--- a/doc/docs.txt
+++ b/doc/docs.txt
diff --git a/doc/endb.txt b/doc/endb.txt
index b69a6ec6d..b69a6ec6d 100755..100644
--- a/doc/endb.txt
+++ b/doc/endb.txt
diff --git a/doc/filelist.txt b/doc/filelist.txt
index cdb06cb9c..cdb06cb9c 100755..100644
--- a/doc/filelist.txt
+++ b/doc/filelist.txt
diff --git a/doc/grammar.txt b/doc/grammar.txt
index 6bbf2c3e7..6bbf2c3e7 100755..100644
--- a/doc/grammar.txt
+++ b/doc/grammar.txt
diff --git a/doc/html/empty.txt b/doc/html/empty.txt
index 20f9a91e3..20f9a91e3 100755..100644
--- a/doc/html/empty.txt
+++ b/doc/html/empty.txt
diff --git a/doc/intern.txt b/doc/intern.txt
index 4f1a7a15f..382eea947 100755..100644
--- a/doc/intern.txt
+++ b/doc/intern.txt
@@ -82,7 +82,7 @@ Coding standards
 ================
 
 The compiler is written in a subset of Pascal with special annotations so
-that it can be translated to Nimrod code automatically. As a generell rule,
+that it can be translated to Nimrod code automatically. As a general rule,
 Pascal code that does not translate to Nimrod automatically is forbidden.
 
 
@@ -126,55 +126,6 @@ We already knew the type information as a graph in the compiler.
 Thus we need to serialize this graph as RTTI for C code generation.
 Look at the files ``lib/typeinfo.nim``, ``lib/hti.nim`` for more information.
 
-However, generating type information proved to be difficult and the format
-wastes memory. Variant records make problems too. We use a mix of iterator
-procedures and constant data structures:
-
-.. code-block:: Nimrod
-  type
-    TNimTypeSlot {.export.} = record
-      offset: int
-      typ: int
-      name: CString
-    TSlotIterator = proc (obj: pointer, field: int): ptr TNimTypeSlot
-    TNimType {.export.} = record
-      Kind: TNimTypeKind
-      baseType, indexType: int
-      size, len: int
-      slots: TSlotIterator # instead of: ptr array [0..10_000, TNimTypeSlot]
-
-This is not easy to understand either. Best is to use just the ``rodgen``
-module and store type information as string constants.
-
-After thinking I came to the conclusion that this is again premature
-optimization. We should just construct the type graph at runtime. In the init
-section new types should be constructed and registered:
-
-.. code-block:: Nimrod
-  type
-    TSlotTriple = record
-      offset: int
-      typ: PRTL_Type
-      name: Cstring
-    PSlots = ptr TSlots
-    TSlots = record
-      case kind
-      of linear:
-        fields: array [TSlotTriple]
-      of nested:
-        discriminant: TSlotTriple
-        otherSlots: array [discriminant, PSlots]
-
-    TTypeKind = enum ...
-    RTL_Type = record
-      size: int
-      base: PRTL_Type
-      case kind
-      of tyArray, tySequence:
-        elemSize: int
-      of tyRecord, tyObject, tyEnum:
-        slots: PSlots
-
 
 The Garbage Collector
 =====================
@@ -457,39 +408,6 @@ the CCG. Therefore the module ``magicsys`` contains a table
 (``compilerprocs``) with all symbols that are marked as ``compilerproc``.
 
 
-How separate compilation will work
-==================================
-
-Soon compiling from scratch every module that's needed will become too slow as
-programs grow. For easier cleaning all generated files are generated in the
-directory: ``$base/rod_gen``. This cannot be changed. The generated C files
-get the names of the modules they result from. A compiled Nimrod module has the
-extension ``.rod`` and is a binary file. The format may change from release
-to release. The rod-file is mostly a binary representation of the parse trees.
-
-Nimrod currently compiles any module into its own C file. Some things like
-type-information, common string literals, common constant sets need to be
-shared though. We deal with this problem by writing the shared data
-in the main C file. Only "headers" are generated in the other modules. However,
-each precompiled Nimrod module lists the shared data it depends on. The same
-holds for procedures that have to generated from generics.
-
-A big problem is that the data must get the same name each time it is compiled.
-
-The C compiler is only called for the C files, that changed after the last
-compilation (or if their object file does not exist anymore). To work
-reliably, in the header comment of the C file these things are listed, so
-that the C compiler is called again should they change:
-
-* Nimrod's Version
-* the target CC
-* the target OS
-* the target CPU
-
-The version is questionable: If the resulting C file is the same, it does not
-matter that Nimrods's version has increased. We do it anyway to be on the safe
-side.
-
 
 Generation of dynamic link libraries
 ====================================
diff --git a/doc/lib.txt b/doc/lib.txt
index 4e4f9caa0..4e4f9caa0 100755..100644
--- a/doc/lib.txt
+++ b/doc/lib.txt
diff --git a/doc/manual.txt b/doc/manual.txt
index 8debb92a5..8debb92a5 100755..100644
--- a/doc/manual.txt
+++ b/doc/manual.txt
diff --git a/doc/nimdoc.css b/doc/nimdoc.css
index 6154f0b2e..6154f0b2e 100755..100644
--- a/doc/nimdoc.css
+++ b/doc/nimdoc.css
diff --git a/doc/nimrodc.txt b/doc/nimrodc.txt
index 72e2d205f..72e2d205f 100755..100644
--- a/doc/nimrodc.txt
+++ b/doc/nimrodc.txt
diff --git a/doc/overview.txt b/doc/overview.txt
index 242039086..242039086 100755..100644
--- a/doc/overview.txt
+++ b/doc/overview.txt
diff --git a/doc/posix.txt b/doc/posix.txt
index e71b08f53..e71b08f53 100755..100644
--- a/doc/posix.txt
+++ b/doc/posix.txt
diff --git a/doc/readme.txt b/doc/readme.txt
index 02d7477d4..02d7477d4 100755..100644
--- a/doc/readme.txt
+++ b/doc/readme.txt
diff --git a/doc/regexprs.txt b/doc/regexprs.txt
index 572a39260..572a39260 100755..100644
--- a/doc/regexprs.txt
+++ b/doc/regexprs.txt
diff --git a/doc/rst.txt b/doc/rst.txt
index c4f3805b3..c4f3805b3 100755..100644
--- a/doc/rst.txt
+++ b/doc/rst.txt
diff --git a/doc/spec.txt b/doc/spec.txt
index 3bad06e97..3bad06e97 100755..100644
--- a/doc/spec.txt
+++ b/doc/spec.txt
diff --git a/doc/theindex.txt b/doc/theindex.txt
index 034f07a9f..c681f21ed 100755..100644
--- a/doc/theindex.txt
+++ b/doc/theindex.txt
@@ -1,1436 +1,1439 @@
-
-=====
-Index
-=====
-
-.. index::
-
-
-   `!=`:idx:
-     `system.html#235 <system.html#235>`_
-
-   `$`:idx:
-     * `system.html#326 <system.html#326>`_
-     * `system.html#327 <system.html#327>`_
-     * `system.html#328 <system.html#328>`_
-     * `system.html#329 <system.html#329>`_
-     * `system.html#330 <system.html#330>`_
-     * `system.html#331 <system.html#331>`_
-     * `system.html#332 <system.html#332>`_
-     * `times.html#109 <times.html#109>`_
-     * `times.html#110 <times.html#110>`_
-
-   `%`:idx:
-     * `strutils.html#128 <strutils.html#128>`_
-     * `strutils.html#129 <strutils.html#129>`_
-
-   `%%`:idx:
-     * `system.html#318 <system.html#318>`_
-     * `system.html#319 <system.html#319>`_
-
-   `&`:idx:
-     * `system.html#245 <system.html#245>`_
-     * `system.html#246 <system.html#246>`_
-     * `system.html#247 <system.html#247>`_
-     * `system.html#248 <system.html#248>`_
-     * `system.html#349 <system.html#349>`_
-     * `system.html#350 <system.html#350>`_
-     * `system.html#351 <system.html#351>`_
-     * `system.html#352 <system.html#352>`_
-
-   `*`:idx:
-     * `system.html#159 <system.html#159>`_
-     * `system.html#178 <system.html#178>`_
-     * `system.html#196 <system.html#196>`_
-     * `system.html#207 <system.html#207>`_
-     * `complex.html#107 <complex.html#107>`_
-
-   `*%`:idx:
-     * `system.html#314 <system.html#314>`_
-     * `system.html#315 <system.html#315>`_
-
-   `+`:idx:
-     * `system.html#154 <system.html#154>`_
-     * `system.html#157 <system.html#157>`_
-     * `system.html#173 <system.html#173>`_
-     * `system.html#176 <system.html#176>`_
-     * `system.html#192 <system.html#192>`_
-     * `system.html#194 <system.html#194>`_
-     * `system.html#208 <system.html#208>`_
-     * `complex.html#103 <complex.html#103>`_
-
-   `+%`:idx:
-     * `system.html#310 <system.html#310>`_
-     * `system.html#311 <system.html#311>`_
-
-   `-`:idx:
-     * `system.html#155 <system.html#155>`_
-     * `system.html#158 <system.html#158>`_
-     * `system.html#174 <system.html#174>`_
-     * `system.html#177 <system.html#177>`_
-     * `system.html#193 <system.html#193>`_
-     * `system.html#195 <system.html#195>`_
-     * `system.html#209 <system.html#209>`_
-     * `complex.html#104 <complex.html#104>`_
-     * `complex.html#105 <complex.html#105>`_
-     * `times.html#113 <times.html#113>`_
-
-   `-%`:idx:
-     * `system.html#312 <system.html#312>`_
-     * `system.html#313 <system.html#313>`_
-
-   `-+-`:idx:
-     `system.html#210 <system.html#210>`_
-
-   `/`:idx:
-     * `system.html#197 <system.html#197>`_
-     * `os.html#117 <os.html#117>`_
-     * `complex.html#106 <complex.html#106>`_
-
-   `/%`:idx:
-     * `system.html#316 <system.html#316>`_
-     * `system.html#317 <system.html#317>`_
-
-   `/../`:idx:
-     `os.html#121 <os.html#121>`_
-
-   `<`:idx:
-     * `system.html#169 <system.html#169>`_
-     * `system.html#188 <system.html#188>`_
-     * `system.html#200 <system.html#200>`_
-     * `system.html#227 <system.html#227>`_
-     * `system.html#228 <system.html#228>`_
-     * `system.html#229 <system.html#229>`_
-     * `system.html#230 <system.html#230>`_
-     * `system.html#231 <system.html#231>`_
-     * `system.html#232 <system.html#232>`_
-     * `system.html#233 <system.html#233>`_
-     * `system.html#234 <system.html#234>`_
-
-   `<%`:idx:
-     * `system.html#322 <system.html#322>`_
-     * `system.html#323 <system.html#323>`_
-
-   `<=`:idx:
-     * `system.html#168 <system.html#168>`_
-     * `system.html#187 <system.html#187>`_
-     * `system.html#199 <system.html#199>`_
-     * `system.html#220 <system.html#220>`_
-     * `system.html#221 <system.html#221>`_
-     * `system.html#222 <system.html#222>`_
-     * `system.html#223 <system.html#223>`_
-     * `system.html#224 <system.html#224>`_
-     * `system.html#225 <system.html#225>`_
-     * `system.html#226 <system.html#226>`_
-
-   `<=%`:idx:
-     * `system.html#320 <system.html#320>`_
-     * `system.html#321 <system.html#321>`_
-
-   `==`:idx:
-     * `system.html#167 <system.html#167>`_
-     * `system.html#186 <system.html#186>`_
-     * `system.html#198 <system.html#198>`_
-     * `system.html#211 <system.html#211>`_
-     * `system.html#212 <system.html#212>`_
-     * `system.html#213 <system.html#213>`_
-     * `system.html#214 <system.html#214>`_
-     * `system.html#215 <system.html#215>`_
-     * `system.html#216 <system.html#216>`_
-     * `system.html#217 <system.html#217>`_
-     * `system.html#218 <system.html#218>`_
-     * `system.html#219 <system.html#219>`_
-     * `system.html#353 <system.html#353>`_
-     * `complex.html#102 <complex.html#102>`_
-
-   `>`:idx:
-     `system.html#237 <system.html#237>`_
-
-   `>%`:idx:
-     `system.html#325 <system.html#325>`_
-
-   `>=`:idx:
-     `system.html#236 <system.html#236>`_
-
-   `>=%`:idx:
-     `system.html#324 <system.html#324>`_
-
-   `[ESC]`:idx:
-     `manual.html#134 <manual.html#134>`_
-
-   `abs`:idx:
-     * `system.html#170 <system.html#170>`_
-     * `system.html#189 <system.html#189>`_
-     * `system.html#201 <system.html#201>`_
-     * `complex.html#108 <complex.html#108>`_
-
-   `add`:idx:
-     * `system.html#249 <system.html#249>`_
-     * `system.html#250 <system.html#250>`_
-     * `system.html#251 <system.html#251>`_
-     * `system.html#252 <system.html#252>`_
-     * `system.html#253 <system.html#253>`_
-
-   `addQuitProc`:idx:
-     `system.html#287 <system.html#287>`_
-
-   `alert`:idx:
-     `manual.html#131 <manual.html#131>`_
-
-   `allCharsInSet`:idx:
-     `strutils.html#133 <strutils.html#133>`_
-
-   `alloc`:idx:
-     `system.html#296 <system.html#296>`_
-
-   `alloc0`:idx:
-     `system.html#297 <system.html#297>`_
-
-   `AltSep`:idx:
-     `os.html#104 <os.html#104>`_
-
-   `and`:idx:
-     * `system.html#164 <system.html#164>`_
-     * `system.html#183 <system.html#183>`_
-     * `system.html#204 <system.html#204>`_
-
-   `apostrophe`:idx:
-     `manual.html#129 <manual.html#129>`_
-
-   `AppendFileExt`:idx:
-     `os.html#127 <os.html#127>`_
-
-   `arccos`:idx:
-     `math.html#110 <math.html#110>`_
-
-   `arcsin`:idx:
-     `math.html#111 <math.html#111>`_
-
-   `arctan`:idx:
-     `math.html#112 <math.html#112>`_
-
-   `arctan2`:idx:
-     `math.html#113 <math.html#113>`_
-
-   `array`:idx:
-     `system.html#108 <system.html#108>`_
-
-   `Arrays`:idx:
-     `manual.html#153 <manual.html#153>`_
-
-   `assembler`:idx:
-     `manual.html#198 <manual.html#198>`_
-
-   `assert`:idx:
-     `system.html#301 <system.html#301>`_
-
-   `Automatic type conversion`:idx:
-     `manual.html#145 <manual.html#145>`_
-
-   `backslash`:idx:
-     * `manual.html#127 <manual.html#127>`_
-     * `regexprs.html#101 <regexprs.html#101>`_
-
-   `backspace`:idx:
-     `manual.html#132 <manual.html#132>`_
-
-   `BiggestFloat`:idx:
-     `system.html#257 <system.html#257>`_
-
-   `BiggestInt`:idx:
-     `system.html#256 <system.html#256>`_
-
-   `block`:idx:
-     `manual.html#194 <manual.html#194>`_
-
-   `boolean`:idx:
-     `manual.html#147 <manual.html#147>`_
-
-   `break`:idx:
-     `manual.html#195 <manual.html#195>`_
-
-   `breakpoint`:idx:
-     `endb.html#103 <endb.html#103>`_
-
-   `Byte`:idx:
-     `system.html#113 <system.html#113>`_
-
-   `C`:idx:
-     `manual.html#136 <manual.html#136>`_
-
-   `calling conventions`:idx:
-     `manual.html#164 <manual.html#164>`_
-
-   `capitalize`:idx:
-     `strutils.html#110 <strutils.html#110>`_
-
-   `card`:idx:
-     `system.html#151 <system.html#151>`_
-
-   `carriage return`:idx:
-     `manual.html#122 <manual.html#122>`_
-
-   `case`:idx:
-     `manual.html#182 <manual.html#182>`_
-
-   `cchar`:idx:
-     `system.html#258 <system.html#258>`_
-
-   `cdecl`:idx:
-     `manual.html#166 <manual.html#166>`_
-
-   `cdouble`:idx:
-     `system.html#265 <system.html#265>`_
-
-   `cfloat`:idx:
-     `system.html#264 <system.html#264>`_
-
-   `ChangeFileExt`:idx:
-     `os.html#128 <os.html#128>`_
-
-   `character type`:idx:
-     `manual.html#148 <manual.html#148>`_
-
-   `character with decimal value d`:idx:
-     `manual.html#130 <manual.html#130>`_
-
-   `character with hex value HH`:idx:
-     `manual.html#135 <manual.html#135>`_
-
-   `checked runtime error`:idx:
-     `manual.html#110 <manual.html#110>`_
-
-   `chr`:idx:
-     `system.html#153 <system.html#153>`_
-
-   `cint`:idx:
-     `system.html#261 <system.html#261>`_
-
-   `classify`:idx:
-     `math.html#123 <math.html#123>`_
-
-   `clong`:idx:
-     `system.html#262 <system.html#262>`_
-
-   `clongdouble`:idx:
-     `system.html#266 <system.html#266>`_
-
-   `clonglong`:idx:
-     `system.html#263 <system.html#263>`_
-
-   `CloseFile`:idx:
-     `system.html#367 <system.html#367>`_
-
-   `closure`:idx:
-     `manual.html#171 <manual.html#171>`_
-
-   `cmp`:idx:
-     * `system.html#243 <system.html#243>`_
-     * `system.html#244 <system.html#244>`_
-
-   `cmpIgnoreCase`:idx:
-     `strutils.html#119 <strutils.html#119>`_
-
-   `cmpIgnoreStyle`:idx:
-     `strutils.html#120 <strutils.html#120>`_
-
-   `cmpPaths`:idx:
-     `os.html#126 <os.html#126>`_
-
-   `comment pieces`:idx:
-     `manual.html#115 <manual.html#115>`_
-
-   `Comments`:idx:
-     `manual.html#114 <manual.html#114>`_
-
-   `CompileDate`:idx:
-     `system.html#275 <system.html#275>`_
-
-   `CompileTime`:idx:
-     `system.html#276 <system.html#276>`_
-
-   `complex statements`:idx:
-     `manual.html#176 <manual.html#176>`_
-
-   `const`:idx:
-     `manual.html#180 <manual.html#180>`_
-
-   `constant expressions`:idx:
-     `manual.html#108 <manual.html#108>`_
-
-   `Constants`:idx:
-     `manual.html#140 <manual.html#140>`_
-
-   `continue`:idx:
-     `manual.html#197 <manual.html#197>`_
-
-   `copy`:idx:
-     * `system.html#288 <system.html#288>`_
-     * `system.html#289 <system.html#289>`_
-
-   `copyFile`:idx:
-     `os.html#131 <os.html#131>`_
-
-   `copyMem`:idx:
-     `system.html#293 <system.html#293>`_
-
-   `cos`:idx:
-     `math.html#114 <math.html#114>`_
-
-   `cosh`:idx:
-     `math.html#115 <math.html#115>`_
-
-   `countBits`:idx:
-     `math.html#103 <math.html#103>`_
-
-   `countdown`:idx:
-     `system.html#341 <system.html#341>`_
-
-   `countup`:idx:
-     `system.html#342 <system.html#342>`_
-
-   `cpuEndian`:idx:
-     `system.html#281 <system.html#281>`_
-
-   `createDir`:idx:
-     `os.html#135 <os.html#135>`_
-
-   `cschar`:idx:
-     `system.html#259 <system.html#259>`_
-
-   `cshort`:idx:
-     `system.html#260 <system.html#260>`_
-
-   `cstringArray`:idx:
-     `system.html#267 <system.html#267>`_
-
-   `CurDir`:idx:
-     `os.html#101 <os.html#101>`_
-
-   `dangling else problem`:idx:
-     `manual.html#177 <manual.html#177>`_
-
-   `dbgLineHook`:idx:
-     `system.html#337 <system.html#337>`_
-
-   `dealloc`:idx:
-     `system.html#299 <system.html#299>`_
-
-   `debugger`:idx:
-     `nimrodc.html#108 <nimrodc.html#108>`_
-
-   `dec`:idx:
-     `system.html#144 <system.html#144>`_
-
-   `define`:idx:
-     `manual.html#224 <manual.html#224>`_
-
-   `defined`:idx:
-     `system.html#101 <system.html#101>`_
-
-   `deleteStr`:idx:
-     `strutils.html#115 <strutils.html#115>`_
-
-   `DirSep`:idx:
-     `os.html#103 <os.html#103>`_
-
-   `discard`:idx:
-     `manual.html#178 <manual.html#178>`_
-
-   `div`:idx:
-     * `system.html#160 <system.html#160>`_
-     * `system.html#179 <system.html#179>`_
-
-   `domain specific languages`:idx:
-     `manual.html#213 <manual.html#213>`_
-
-   `dynamic type`:idx:
-     `manual.html#104 <manual.html#104>`_
-
-   `EAccessViolation`:idx:
-     `system.html#128 <system.html#128>`_
-
-   `EArithmetic`:idx:
-     `system.html#125 <system.html#125>`_
-
-   `EAssertionFailed`:idx:
-     `system.html#129 <system.html#129>`_
-
-   `EAsynch`:idx:
-     `system.html#119 <system.html#119>`_
-
-   `E_Base`:idx:
-     `system.html#118 <system.html#118>`_
-
-   `echo`:idx:
-     `system.html#380 <system.html#380>`_
-
-   `EControlC`:idx:
-     `system.html#130 <system.html#130>`_
-
-   `EDivByZero`:idx:
-     `system.html#126 <system.html#126>`_
-
-   `EInvalidIndex`:idx:
-     `system.html#133 <system.html#133>`_
-
-   `EInvalidObjectAssignment`:idx:
-     * `manual.html#157 <manual.html#157>`_
-     * `system.html#137 <system.html#137>`_
-
-   `EInvalidObjectConversion`:idx:
-     `system.html#138 <system.html#138>`_
-
-   `EInvalidRegEx`:idx:
-     `regexprs.html#104 <regexprs.html#104>`_
-
-   `EInvalidValue`:idx:
-     * `manual.html#146 <manual.html#146>`_
-     * `system.html#131 <system.html#131>`_
-
-   `EIO`:idx:
-     `system.html#122 <system.html#122>`_
-
-   `Embedded Nimrod Debugger`:idx:
-     `endb.html#101 <endb.html#101>`_
-
-   `ENDB`:idx:
-     `endb.html#102 <endb.html#102>`_
-
-   `EndOfFile`:idx:
-     `system.html#368 <system.html#368>`_
-
-   `endsWith`:idx:
-     `strutils.html#132 <strutils.html#132>`_
-
-   `ENoExceptionToReraise`:idx:
-     * `manual.html#186 <manual.html#186>`_
-     * `system.html#136 <system.html#136>`_
-
-   `Enumeration`:idx:
-     `manual.html#149 <manual.html#149>`_
-
-   `EOS`:idx:
-     `system.html#123 <system.html#123>`_
-
-   `EOutOfMemory`:idx:
-     `system.html#132 <system.html#132>`_
-
-   `EOutOfRange`:idx:
-     `system.html#134 <system.html#134>`_
-
-   `EOverflow`:idx:
-     `system.html#127 <system.html#127>`_
-
-   `equalMem`:idx:
-     `system.html#295 <system.html#295>`_
-
-   `ERessourceExhausted`:idx:
-     `system.html#124 <system.html#124>`_
-
-   `error`:idx:
-     * `manual.html#223 <manual.html#223>`_
-     * `manual.html#226 <manual.html#226>`_
-
-   `escape`:idx:
-     `manual.html#133 <manual.html#133>`_
-
-   `escape sequences`:idx:
-     `manual.html#120 <manual.html#120>`_
-
-   `EStackOverflow`:idx:
-     `system.html#135 <system.html#135>`_
-
-   `ESynch`:idx:
-     `system.html#120 <system.html#120>`_
-
-   `ESystem`:idx:
-     `system.html#121 <system.html#121>`_
-
-   `except`:idx:
-     `manual.html#189 <manual.html#189>`_
-
-   `exception handlers`:idx:
-     `manual.html#188 <manual.html#188>`_
-
-   `excl`:idx:
-     `system.html#150 <system.html#150>`_
-
-   `executeProcess`:idx:
-     `os.html#129 <os.html#129>`_
-
-   `executeShellCommand`:idx:
-     `os.html#130 <os.html#130>`_
-
-   `existsDir`:idx:
-     `os.html#136 <os.html#136>`_
-
-   `existsEnv`:idx:
-     `os.html#140 <os.html#140>`_
-
-   `ExistsFile`:idx:
-     `os.html#115 <os.html#115>`_
-
-   `exp`:idx:
-     `math.html#108 <math.html#108>`_
-
-   `expandFilename`:idx:
-     `os.html#114 <os.html#114>`_
-
-   `extractDir`:idx:
-     `os.html#124 <os.html#124>`_
-
-   `extractFilename`:idx:
-     `os.html#125 <os.html#125>`_
-
-   `ExtSep`:idx:
-     `os.html#107 <os.html#107>`_
-
-   `fastcall`:idx:
-     `manual.html#169 <manual.html#169>`_
-
-   `fatal`:idx:
-     `manual.html#227 <manual.html#227>`_
-
-   `FileSystemCaseSensitive`:idx:
-     `os.html#106 <os.html#106>`_
-
-   `finally`:idx:
-     `manual.html#190 <manual.html#190>`_
-
-   `find`:idx:
-     * `regexprs.html#109 <regexprs.html#109>`_
-     * `regexprs.html#110 <regexprs.html#110>`_
-
-   `findSubStr`:idx:
-     * `strutils.html#112 <strutils.html#112>`_
-     * `strutils.html#113 <strutils.html#113>`_
-
-   `FlushFile`:idx:
-     `system.html#370 <system.html#370>`_
-
-   `for`:idx:
-     `manual.html#205 <manual.html#205>`_
-
-   `form feed`:idx:
-     `manual.html#124 <manual.html#124>`_
-
-   `forward`:idx:
-     `manual.html#202 <manual.html#202>`_
-
-   `frexp`:idx:
-     `math.html#109 <math.html#109>`_
-
-   `functional`:idx:
-     `manual.html#163 <manual.html#163>`_
-
-   `funtions`:idx:
-     `manual.html#200 <manual.html#200>`_
-
-   `GC_disable`:idx:
-     `system.html#354 <system.html#354>`_
-
-   `GC_disableMarkAndSweep`:idx:
-     `system.html#360 <system.html#360>`_
-
-   `GC_enable`:idx:
-     `system.html#355 <system.html#355>`_
-
-   `GC_enableMarkAndSweep`:idx:
-     `system.html#359 <system.html#359>`_
-
-   `GC_fullCollect`:idx:
-     `system.html#356 <system.html#356>`_
-
-   `GC_setStrategy`:idx:
-     `system.html#358 <system.html#358>`_
-
-   `generic character types`:idx:
-     `regexprs.html#102 <regexprs.html#102>`_
-
-   `Generics`:idx:
-     `manual.html#209 <manual.html#209>`_
-
-   `getApplicationDir`:idx:
-     `os.html#108 <os.html#108>`_
-
-   `getApplicationFilename`:idx:
-     `os.html#109 <os.html#109>`_
-
-   `getClockStr`:idx:
-     `times.html#112 <times.html#112>`_
-
-   `getConfigDir`:idx:
-     `os.html#113 <os.html#113>`_
-
-   `getCurrentDir`:idx:
-     `os.html#110 <os.html#110>`_
-
-   `getCurrentExceptionMsg`:idx:
-     * `manual.html#184 <manual.html#184>`_
-     * `system.html#334 <system.html#334>`_
-
-   `getDateStr`:idx:
-     `times.html#111 <times.html#111>`_
-
-   `getEnv`:idx:
-     `os.html#139 <os.html#139>`_
-
-   `getFilePos`:idx:
-     `system.html#389 <system.html#389>`_
-
-   `getFileSize`:idx:
-     `system.html#381 <system.html#381>`_
-
-   `getFreeMem`:idx:
-     `system.html#339 <system.html#339>`_
-
-   `getGMTime`:idx:
-     `times.html#107 <times.html#107>`_
-
-   `getHomeDir`:idx:
-     `os.html#112 <os.html#112>`_
-
-   `getLastModificationTime`:idx:
-     `os.html#137 <os.html#137>`_
-
-   `getLocalTime`:idx:
-     `times.html#106 <times.html#106>`_
-
-   `getOccupiedMem`:idx:
-     `system.html#338 <system.html#338>`_
-
-   `getRefcount`:idx:
-     `system.html#333 <system.html#333>`_
-
-   `getStartMilsecs`:idx:
-     `times.html#114 <times.html#114>`_
-
-   `getTime`:idx:
-     `times.html#105 <times.html#105>`_
-
-   `getTotalMem`:idx:
-     `system.html#340 <system.html#340>`_
-
-   `header`:idx:
-     `nimrodc.html#103 <nimrodc.html#103>`_
-
-   `high`:idx:
-     `system.html#105 <system.html#105>`_
-
-   `hint`:idx:
-     * `manual.html#221 <manual.html#221>`_
-     * `manual.html#229 <manual.html#229>`_
-
-   `hypot`:idx:
-     `math.html#116 <math.html#116>`_
-
-   `identifier`:idx:
-     `manual.html#105 <manual.html#105>`_
-
-   `Identifiers`:idx:
-     `manual.html#116 <manual.html#116>`_
-
-   `if`:idx:
-     `manual.html#181 <manual.html#181>`_
-
-   `implicit block`:idx:
-     `manual.html#207 <manual.html#207>`_
-
-   `import`:idx:
-     `manual.html#217 <manual.html#217>`_
-
-   `in`:idx:
-     `system.html#239 <system.html#239>`_
-
-   `inc`:idx:
-     `system.html#143 <system.html#143>`_
-
-   `incl`:idx:
-     `system.html#149 <system.html#149>`_
-
-   `indentation sensitive`:idx:
-     `manual.html#113 <manual.html#113>`_
-
-   `inf`:idx:
-     `system.html#335 <system.html#335>`_
-
-   `information hiding`:idx:
-     `manual.html#215 <manual.html#215>`_
-
-   `inline`:idx:
-     `manual.html#168 <manual.html#168>`_
-
-   `in_Operator`:idx:
-     * `strutils.html#121 <strutils.html#121>`_
-     * `strutils.html#122 <strutils.html#122>`_
-
-   `in_Operator`:idx:
-     `system.html#238 <system.html#238>`_
-
-   `intToStr`:idx:
-     `strutils.html#124 <strutils.html#124>`_
-
-   `is`:idx:
-     `system.html#241 <system.html#241>`_
-
-   `is_not`:idx:
-     `system.html#242 <system.html#242>`_
-
-   `isPowerOfTwo`:idx:
-     `math.html#102 <math.html#102>`_
-
-   `items`:idx:
-     * `system.html#343 <system.html#343>`_
-     * `system.html#344 <system.html#344>`_
-     * `system.html#345 <system.html#345>`_
-     * `system.html#346 <system.html#346>`_
-     * `system.html#347 <system.html#347>`_
-     * `system.html#348 <system.html#348>`_
-
-   `iterator`:idx:
-     `manual.html#206 <manual.html#206>`_
-
-   `iterOverEnvironment`:idx:
-     `os.html#144 <os.html#144>`_
-
-   `JoinPath`:idx:
-     * `os.html#116 <os.html#116>`_
-     * `os.html#118 <os.html#118>`_
-
-   `keywords`:idx:
-     `manual.html#117 <manual.html#117>`_
-
-   `l-values`:idx:
-     `manual.html#107 <manual.html#107>`_
-
-   `len`:idx:
-     * `system.html#145 <system.html#145>`_
-     * `system.html#146 <system.html#146>`_
-     * `system.html#147 <system.html#147>`_
-     * `system.html#148 <system.html#148>`_
-
-   `line feed`:idx:
-     `manual.html#123 <manual.html#123>`_
-
-   `line_dir`:idx:
-     `nimrodc.html#105 <nimrodc.html#105>`_
-
-   `lines`:idx:
-     `system.html#390 <system.html#390>`_
-
-   `line_trace`:idx:
-     `nimrodc.html#107 <nimrodc.html#107>`_
-
-   `Literal strings`:idx:
-     `manual.html#119 <manual.html#119>`_
-
-   `ln`:idx:
-     `math.html#107 <math.html#107>`_
-
-   `locations`:idx:
-     `manual.html#101 <manual.html#101>`_
-
-   `log10`:idx:
-     `math.html#117 <math.html#117>`_
-
-   `low`:idx:
-     `system.html#106 <system.html#106>`_
-
-   `Macros`:idx:
-     `manual.html#212 <manual.html#212>`_
-
-   `match`:idx:
-     * `regexprs.html#106 <regexprs.html#106>`_
-     * `regexprs.html#107 <regexprs.html#107>`_
-
-   `matchLen`:idx:
-     `regexprs.html#108 <regexprs.html#108>`_
-
-   `max`:idx:
-     * `system.html#172 <system.html#172>`_
-     * `system.html#191 <system.html#191>`_
-     * `system.html#203 <system.html#203>`_
-
-   `MaxSubpatterns`:idx:
-     `regexprs.html#105 <regexprs.html#105>`_
-
-   `methods`:idx:
-     `manual.html#199 <manual.html#199>`_
-
-   `min`:idx:
-     * `system.html#171 <system.html#171>`_
-     * `system.html#190 <system.html#190>`_
-     * `system.html#202 <system.html#202>`_
-
-   `mod`:idx:
-     * `system.html#161 <system.html#161>`_
-     * `system.html#180 <system.html#180>`_
-
-   `module`:idx:
-     `manual.html#214 <manual.html#214>`_
-
-   `moveFile`:idx:
-     `os.html#132 <os.html#132>`_
-
-   `moveMem`:idx:
-     `system.html#294 <system.html#294>`_
-
-   `nan`:idx:
-     `system.html#336 <system.html#336>`_
-
-   `Natural`:idx:
-     `system.html#114 <system.html#114>`_
-
-   `new`:idx:
-     * `system.html#103 <system.html#103>`_
-     * `system.html#104 <system.html#104>`_
-
-   `newline`:idx:
-     `manual.html#121 <manual.html#121>`_
-
-   `newString`:idx:
-     `system.html#291 <system.html#291>`_
-
-   `nextPowerOfTwo`:idx:
-     `math.html#101 <math.html#101>`_
-
-   `nimcall`:idx:
-     `manual.html#170 <manual.html#170>`_
-
-   `NimrodMajor`:idx:
-     `system.html#278 <system.html#278>`_
-
-   `NimrodMinor`:idx:
-     `system.html#279 <system.html#279>`_
-
-   `NimrodPatch`:idx:
-     `system.html#280 <system.html#280>`_
-
-   `NimrodVersion`:idx:
-     `system.html#277 <system.html#277>`_
-
-   `nl`:idx:
-     `strutils.html#104 <strutils.html#104>`_
-
-   `noconv`:idx:
-     `manual.html#173 <manual.html#173>`_
-
-   `no_decl`:idx:
-     `nimrodc.html#101 <nimrodc.html#101>`_
-
-   `normalize`:idx:
-     `strutils.html#111 <strutils.html#111>`_
-
-   `no_static`:idx:
-     `nimrodc.html#104 <nimrodc.html#104>`_
-
-   `not`:idx:
-     * `system.html#102 <system.html#102>`_
-     * `system.html#156 <system.html#156>`_
-     * `system.html#175 <system.html#175>`_
-
-   `not_in`:idx:
-     `system.html#240 <system.html#240>`_
-
-   `Numerical constants`:idx:
-     `manual.html#137 <manual.html#137>`_
-
-   `object`:idx:
-     `manual.html#156 <manual.html#156>`_
-
-   `openarray`:idx:
-     `system.html#109 <system.html#109>`_
-
-   `OpenFile`:idx:
-     `system.html#366 <system.html#366>`_
-
-   `operator`:idx:
-     `manual.html#139 <manual.html#139>`_
-
-   `Operators`:idx:
-     `manual.html#204 <manual.html#204>`_
-
-   `or`:idx:
-     * `system.html#165 <system.html#165>`_
-     * `system.html#184 <system.html#184>`_
-     * `system.html#205 <system.html#205>`_
-
-   `ord`:idx:
-     `system.html#152 <system.html#152>`_
-
-   `Ordinal types`:idx:
-     `manual.html#142 <manual.html#142>`_
-
-   `paramCount`:idx:
-     `os.html#141 <os.html#141>`_
-
-   `paramStr`:idx:
-     `os.html#142 <os.html#142>`_
-
-   `ParDir`:idx:
-     `os.html#102 <os.html#102>`_
-
-   `parentDir`:idx:
-     `os.html#120 <os.html#120>`_
-
-   `ParseFloat`:idx:
-     `strutils.html#126 <strutils.html#126>`_
-
-   `ParseInt`:idx:
-     `strutils.html#125 <strutils.html#125>`_
-
-   `PathSep`:idx:
-     `os.html#105 <os.html#105>`_
-
-   `PFloat32`:idx:
-     `system.html#269 <system.html#269>`_
-
-   `PFloat64`:idx:
-     `system.html#270 <system.html#270>`_
-
-   `PInt32`:idx:
-     `system.html#272 <system.html#272>`_
-
-   `PInt64`:idx:
-     `system.html#271 <system.html#271>`_
-
-   `PObject`:idx:
-     `system.html#117 <system.html#117>`_
-
-   `pointers`:idx:
-     `manual.html#159 <manual.html#159>`_
-
-   `Positive`:idx:
-     `system.html#115 <system.html#115>`_
-
-   `pow`:idx:
-     `math.html#121 <math.html#121>`_
-
-   `pred`:idx:
-     `system.html#142 <system.html#142>`_
-
-   `procedural type`:idx:
-     `manual.html#162 <manual.html#162>`_
-
-   `procedures`:idx:
-     `manual.html#201 <manual.html#201>`_
-
-   `push/pop`:idx:
-     `manual.html#230 <manual.html#230>`_
-
-   `putEnv`:idx:
-     `os.html#138 <os.html#138>`_
-
-   `quit`:idx:
-     `system.html#286 <system.html#286>`_
-
-   `QuitFailure`:idx:
-     `system.html#274 <system.html#274>`_
-
-   `QuitSuccess`:idx:
-     `system.html#273 <system.html#273>`_
-
-   `quotation mark`:idx:
-     `manual.html#128 <manual.html#128>`_
-
-   `random`:idx:
-     `math.html#104 <math.html#104>`_
-
-   `randomize`:idx:
-     `math.html#105 <math.html#105>`_
-
-   `range`:idx:
-     `system.html#107 <system.html#107>`_
-
-   `re-raised`:idx:
-     `manual.html#185 <manual.html#185>`_
-
-   `readBuffer`:idx:
-     `system.html#384 <system.html#384>`_
-
-   `ReadBytes`:idx:
-     `system.html#382 <system.html#382>`_
-
-   `readChar`:idx:
-     `system.html#369 <system.html#369>`_
-
-   `ReadChars`:idx:
-     `system.html#383 <system.html#383>`_
-
-   `readFile`:idx:
-     `system.html#371 <system.html#371>`_
-
-   `readLine`:idx:
-     `system.html#378 <system.html#378>`_
-
-   `realloc`:idx:
-     `system.html#298 <system.html#298>`_
-
-   `record`:idx:
-     `manual.html#155 <manual.html#155>`_
-
-   `Recursive module dependancies`:idx:
-     `manual.html#218 <manual.html#218>`_
-
-   `register`:idx:
-     `nimrodc.html#110 <nimrodc.html#110>`_
-
-   `removeDir`:idx:
-     `os.html#134 <os.html#134>`_
-
-   `removeFile`:idx:
-     `os.html#133 <os.html#133>`_
-
-   `repeatChar`:idx:
-     `strutils.html#130 <strutils.html#130>`_
-
-   `replaceStr`:idx:
-     `strutils.html#114 <strutils.html#114>`_
-
-   `repr`:idx:
-     `system.html#254 <system.html#254>`_
-
-   `result`:idx:
-     * `manual.html#192 <manual.html#192>`_
-     * `manual.html#203 <manual.html#203>`_
-
-   `return`:idx:
-     `manual.html#191 <manual.html#191>`_
-
-   `safe`:idx:
-     `manual.html#112 <manual.html#112>`_
-
-   `safecall`:idx:
-     `manual.html#167 <manual.html#167>`_
-
-   `sameFile`:idx:
-     `os.html#143 <os.html#143>`_
-
-   `scope`:idx:
-     * `manual.html#106 <manual.html#106>`_
-     * `manual.html#219 <manual.html#219>`_
-
-   `separate compilation`:idx:
-     `manual.html#216 <manual.html#216>`_
-
-   `seq`:idx:
-     `system.html#110 <system.html#110>`_
-
-   `Sequences`:idx:
-     `manual.html#154 <manual.html#154>`_
-
-   `set`:idx:
-     `system.html#111 <system.html#111>`_
-
-   `set type`:idx:
-     `manual.html#158 <manual.html#158>`_
-
-   `setCurrentDir`:idx:
-     `os.html#111 <os.html#111>`_
-
-   `setFilePos`:idx:
-     `system.html#388 <system.html#388>`_
-
-   `setLen`:idx:
-     * `system.html#290 <system.html#290>`_
-     * `system.html#300 <system.html#300>`_
-
-   `shl`:idx:
-     * `system.html#163 <system.html#163>`_
-     * `system.html#182 <system.html#182>`_
-
-   `shr`:idx:
-     * `system.html#162 <system.html#162>`_
-     * `system.html#181 <system.html#181>`_
-
-   `simple assertions`:idx:
-     `regexprs.html#103 <regexprs.html#103>`_
-
-   `simple statements`:idx:
-     `manual.html#175 <manual.html#175>`_
-
-   `sinh`:idx:
-     `math.html#118 <math.html#118>`_
-
-   `sizeof`:idx:
-     `system.html#140 <system.html#140>`_
-
-   `split`:idx:
-     `strutils.html#117 <strutils.html#117>`_
-
-   `SplitFilename`:idx:
-     `os.html#123 <os.html#123>`_
-
-   `SplitPath`:idx:
-     `os.html#119 <os.html#119>`_
-
-   `splitSeq`:idx:
-     `strutils.html#118 <strutils.html#118>`_
-
-   `sqrt`:idx:
-     * `math.html#106 <math.html#106>`_
-     * `complex.html#109 <complex.html#109>`_
-
-   `stack_trace`:idx:
-     `nimrodc.html#106 <nimrodc.html#106>`_
-
-   `startsWith`:idx:
-     `strutils.html#131 <strutils.html#131>`_
-
-   `Statements`:idx:
-     `manual.html#174 <manual.html#174>`_
-
-   `static error`:idx:
-     `manual.html#109 <manual.html#109>`_
-
-   `static type`:idx:
-     `manual.html#103 <manual.html#103>`_
-
-   `stdcall`:idx:
-     `manual.html#165 <manual.html#165>`_
-
-   `stderr`:idx:
-     `system.html#365 <system.html#365>`_
-
-   `stdin`:idx:
-     `system.html#363 <system.html#363>`_
-
-   `stdout`:idx:
-     `system.html#364 <system.html#364>`_
-
-   `string`:idx:
-     `manual.html#151 <manual.html#151>`_
-
-   `strip`:idx:
-     `strutils.html#105 <strutils.html#105>`_
-
-   `strStart`:idx:
-     `strutils.html#103 <strutils.html#103>`_
-
-   `structured type`:idx:
-     `manual.html#152 <manual.html#152>`_
-
-   `style-insensitive`:idx:
-     `manual.html#118 <manual.html#118>`_
-
-   `subrange`:idx:
-     `manual.html#150 <manual.html#150>`_
-
-   `succ`:idx:
-     `system.html#141 <system.html#141>`_
-
-   `swap`:idx:
-     `system.html#302 <system.html#302>`_
-
-   `syscall`:idx:
-     `manual.html#172 <manual.html#172>`_
-
-   `system`:idx:
-     `manual.html#220 <manual.html#220>`_
-
-   `tabulator`:idx:
-     `manual.html#125 <manual.html#125>`_
-
-   `TAddress`:idx:
-     `system.html#255 <system.html#255>`_
-
-   `tan`:idx:
-     `math.html#119 <math.html#119>`_
-
-   `tanh`:idx:
-     `math.html#120 <math.html#120>`_
-
-   `TCharSet`:idx:
-     `strutils.html#101 <strutils.html#101>`_
-
-   `TComplex`:idx:
-     `complex.html#101 <complex.html#101>`_
-
-   `template`:idx:
-     `manual.html#211 <manual.html#211>`_
-
-   `TEndian`:idx:
-     `system.html#268 <system.html#268>`_
-
-   `TFile`:idx:
-     `system.html#361 <system.html#361>`_
-
-   `TFileMode`:idx:
-     `system.html#362 <system.html#362>`_
-
-   `TFloatClass`:idx:
-     `math.html#122 <math.html#122>`_
-
-   `TGC_Strategy`:idx:
-     `system.html#357 <system.html#357>`_
-
-   `TimeInfoToTime`:idx:
-     `times.html#108 <times.html#108>`_
-
-   `TMonth`:idx:
-     `times.html#101 <times.html#101>`_
-
-   `toBiggestFloat`:idx:
-     `system.html#283 <system.html#283>`_
-
-   `toBiggestInt`:idx:
-     `system.html#285 <system.html#285>`_
-
-   `toBin`:idx:
-     `strutils.html#135 <strutils.html#135>`_
-
-   `TObject`:idx:
-     `system.html#116 <system.html#116>`_
-
-   `toFloat`:idx:
-     `system.html#282 <system.html#282>`_
-
-   `toHex`:idx:
-     `strutils.html#123 <strutils.html#123>`_
-
-   `toInt`:idx:
-     `system.html#284 <system.html#284>`_
-
-   `toLower`:idx:
-     * `strutils.html#106 <strutils.html#106>`_
-     * `strutils.html#107 <strutils.html#107>`_
-
-   `toOct`:idx:
-     `strutils.html#134 <strutils.html#134>`_
-
-   `toOctal`:idx:
-     `strutils.html#116 <strutils.html#116>`_
-
-   `toString`:idx:
-     `strutils.html#127 <strutils.html#127>`_
-
-   `toU16`:idx:
-     `system.html#308 <system.html#308>`_
-
-   `toU32`:idx:
-     `system.html#309 <system.html#309>`_
-
-   `toU8`:idx:
-     `system.html#307 <system.html#307>`_
-
-   `toUpper`:idx:
-     * `strutils.html#108 <strutils.html#108>`_
-     * `strutils.html#109 <strutils.html#109>`_
-
-   `traced`:idx:
-     `manual.html#160 <manual.html#160>`_
-
-   `TResult`:idx:
-     `system.html#139 <system.html#139>`_
-
-   `try`:idx:
-     `manual.html#187 <manual.html#187>`_
-
-   `TTime`:idx:
-     `times.html#103 <times.html#103>`_
-
-   `TTimeInfo`:idx:
-     `times.html#104 <times.html#104>`_
-
-   `tuple`:idx:
-     `system.html#112 <system.html#112>`_
-
-   `TWeekDay`:idx:
-     `times.html#102 <times.html#102>`_
-
-   `type`:idx:
-     * `manual.html#102 <manual.html#102>`_
-     * `manual.html#141 <manual.html#141>`_
-     * `manual.html#208 <manual.html#208>`_
-
-   `type parameters`:idx:
-     `manual.html#210 <manual.html#210>`_
-
-   `type suffix`:idx:
-     `manual.html#138 <manual.html#138>`_
-
-   `unchecked runtime error`:idx:
-     `manual.html#111 <manual.html#111>`_
-
-   `undef`:idx:
-     `manual.html#225 <manual.html#225>`_
-
-   `UnixToNativePath`:idx:
-     `os.html#122 <os.html#122>`_
-
-   `unsigned integer`:idx:
-     `manual.html#143 <manual.html#143>`_
-
-   `unsigned operations`:idx:
-     `manual.html#144 <manual.html#144>`_
-
-   `untraced`:idx:
-     `manual.html#161 <manual.html#161>`_
-
-   `Var`:idx:
-     `manual.html#179 <manual.html#179>`_
-
-   `varargs`:idx:
-     `nimrodc.html#102 <nimrodc.html#102>`_
-
-   `vertical tabulator`:idx:
-     `manual.html#126 <manual.html#126>`_
-
-   `volatile`:idx:
-     `nimrodc.html#109 <nimrodc.html#109>`_
-
-   `walkFiles`:idx:
-     `os.html#145 <os.html#145>`_
-
-   `warning`:idx:
-     * `manual.html#222 <manual.html#222>`_
-     * `manual.html#228 <manual.html#228>`_
-
-   `when`:idx:
-     `manual.html#183 <manual.html#183>`_
-
-   `while`:idx:
-     `manual.html#196 <manual.html#196>`_
-
-   `Whitespace`:idx:
-     `strutils.html#102 <strutils.html#102>`_
-
-   `write`:idx:
-     * `system.html#372 <system.html#372>`_
-     * `system.html#373 <system.html#373>`_
-     * `system.html#374 <system.html#374>`_
-     * `system.html#375 <system.html#375>`_
-     * `system.html#376 <system.html#376>`_
-     * `system.html#377 <system.html#377>`_
-
-   `writeBuffer`:idx:
-     `system.html#387 <system.html#387>`_
-
-   `writeBytes`:idx:
-     `system.html#385 <system.html#385>`_
-
-   `writeChars`:idx:
-     `system.html#386 <system.html#386>`_
-
-   `writeln`:idx:
-     `system.html#379 <system.html#379>`_
-
-   `xor`:idx:
-     * `system.html#166 <system.html#166>`_
-     * `system.html#185 <system.html#185>`_
-     * `system.html#206 <system.html#206>`_
-
-   `yield`:idx:
-     `manual.html#193 <manual.html#193>`_
-
-   `ze`:idx:
-     * `system.html#303 <system.html#303>`_
-     * `system.html#304 <system.html#304>`_
-     * `system.html#306 <system.html#306>`_
-
-   `ze64`:idx:
-     `system.html#305 <system.html#305>`_
-
-   `zeroMem`:idx:
+

+=====

+Index

+=====

+

+.. index::

+

+

+   `!=`:idx:

+     `system.html#235 <system.html#235>`_

+

+   `$`:idx:

+     * `system.html#326 <system.html#326>`_

+     * `system.html#327 <system.html#327>`_

+     * `system.html#328 <system.html#328>`_

+     * `system.html#329 <system.html#329>`_

+     * `system.html#330 <system.html#330>`_

+     * `system.html#331 <system.html#331>`_

+     * `system.html#332 <system.html#332>`_

+     * `times.html#109 <times.html#109>`_

+     * `times.html#110 <times.html#110>`_

+

+   `%`:idx:

+     * `strutils.html#128 <strutils.html#128>`_

+     * `strutils.html#129 <strutils.html#129>`_

+

+   `%%`:idx:

+     * `system.html#318 <system.html#318>`_

+     * `system.html#319 <system.html#319>`_

+

+   `&`:idx:

+     * `system.html#245 <system.html#245>`_

+     * `system.html#246 <system.html#246>`_

+     * `system.html#247 <system.html#247>`_

+     * `system.html#248 <system.html#248>`_

+     * `system.html#349 <system.html#349>`_

+     * `system.html#350 <system.html#350>`_

+     * `system.html#351 <system.html#351>`_

+     * `system.html#352 <system.html#352>`_

+

+   `*`:idx:

+     * `system.html#159 <system.html#159>`_

+     * `system.html#178 <system.html#178>`_

+     * `system.html#196 <system.html#196>`_

+     * `system.html#207 <system.html#207>`_

+     * `complex.html#107 <complex.html#107>`_

+

+   `*%`:idx:

+     * `system.html#314 <system.html#314>`_

+     * `system.html#315 <system.html#315>`_

+

+   `+`:idx:

+     * `system.html#154 <system.html#154>`_

+     * `system.html#157 <system.html#157>`_

+     * `system.html#173 <system.html#173>`_

+     * `system.html#176 <system.html#176>`_

+     * `system.html#192 <system.html#192>`_

+     * `system.html#194 <system.html#194>`_

+     * `system.html#208 <system.html#208>`_

+     * `complex.html#103 <complex.html#103>`_

+

+   `+%`:idx:

+     * `system.html#310 <system.html#310>`_

+     * `system.html#311 <system.html#311>`_

+

+   `-`:idx:

+     * `system.html#155 <system.html#155>`_

+     * `system.html#158 <system.html#158>`_

+     * `system.html#174 <system.html#174>`_

+     * `system.html#177 <system.html#177>`_

+     * `system.html#193 <system.html#193>`_

+     * `system.html#195 <system.html#195>`_

+     * `system.html#209 <system.html#209>`_

+     * `complex.html#104 <complex.html#104>`_

+     * `complex.html#105 <complex.html#105>`_

+     * `times.html#113 <times.html#113>`_

+

+   `-%`:idx:

+     * `system.html#312 <system.html#312>`_

+     * `system.html#313 <system.html#313>`_

+

+   `-+-`:idx:

+     `system.html#210 <system.html#210>`_

+

+   `/`:idx:

+     * `system.html#197 <system.html#197>`_

+     * `os.html#117 <os.html#117>`_

+     * `complex.html#106 <complex.html#106>`_

+

+   `/%`:idx:

+     * `system.html#316 <system.html#316>`_

+     * `system.html#317 <system.html#317>`_

+

+   `/../`:idx:

+     `os.html#121 <os.html#121>`_

+

+   `<`:idx:

+     * `system.html#169 <system.html#169>`_

+     * `system.html#188 <system.html#188>`_

+     * `system.html#200 <system.html#200>`_

+     * `system.html#227 <system.html#227>`_

+     * `system.html#228 <system.html#228>`_

+     * `system.html#229 <system.html#229>`_

+     * `system.html#230 <system.html#230>`_

+     * `system.html#231 <system.html#231>`_

+     * `system.html#232 <system.html#232>`_

+     * `system.html#233 <system.html#233>`_

+     * `system.html#234 <system.html#234>`_

+

+   `<%`:idx:

+     * `system.html#322 <system.html#322>`_

+     * `system.html#323 <system.html#323>`_

+

+   `<=`:idx:

+     * `system.html#168 <system.html#168>`_

+     * `system.html#187 <system.html#187>`_

+     * `system.html#199 <system.html#199>`_

+     * `system.html#220 <system.html#220>`_

+     * `system.html#221 <system.html#221>`_

+     * `system.html#222 <system.html#222>`_

+     * `system.html#223 <system.html#223>`_

+     * `system.html#224 <system.html#224>`_

+     * `system.html#225 <system.html#225>`_

+     * `system.html#226 <system.html#226>`_

+

+   `<=%`:idx:

+     * `system.html#320 <system.html#320>`_

+     * `system.html#321 <system.html#321>`_

+

+   `==`:idx:

+     * `system.html#167 <system.html#167>`_

+     * `system.html#186 <system.html#186>`_

+     * `system.html#198 <system.html#198>`_

+     * `system.html#211 <system.html#211>`_

+     * `system.html#212 <system.html#212>`_

+     * `system.html#213 <system.html#213>`_

+     * `system.html#214 <system.html#214>`_

+     * `system.html#215 <system.html#215>`_

+     * `system.html#216 <system.html#216>`_

+     * `system.html#217 <system.html#217>`_

+     * `system.html#218 <system.html#218>`_

+     * `system.html#219 <system.html#219>`_

+     * `system.html#353 <system.html#353>`_

+     * `complex.html#102 <complex.html#102>`_

+

+   `>`:idx:

+     `system.html#237 <system.html#237>`_

+

+   `>%`:idx:

+     `system.html#325 <system.html#325>`_

+

+   `>=`:idx:

+     `system.html#236 <system.html#236>`_

+

+   `>=%`:idx:

+     `system.html#324 <system.html#324>`_

+

+   `[ESC]`:idx:

+     `manual.html#134 <manual.html#134>`_

+

+   `abs`:idx:

+     * `system.html#170 <system.html#170>`_

+     * `system.html#189 <system.html#189>`_

+     * `system.html#201 <system.html#201>`_

+     * `complex.html#108 <complex.html#108>`_

+

+   `add`:idx:

+     * `system.html#249 <system.html#249>`_

+     * `system.html#250 <system.html#250>`_

+     * `system.html#251 <system.html#251>`_

+     * `system.html#252 <system.html#252>`_

+     * `system.html#253 <system.html#253>`_

+

+   `addQuitProc`:idx:

+     `system.html#287 <system.html#287>`_

+

+   `alert`:idx:

+     `manual.html#131 <manual.html#131>`_

+

+   `allCharsInSet`:idx:

+     `strutils.html#133 <strutils.html#133>`_

+

+   `alloc`:idx:

+     `system.html#296 <system.html#296>`_

+

+   `alloc0`:idx:

+     `system.html#297 <system.html#297>`_

+

+   `AltSep`:idx:

+     `os.html#104 <os.html#104>`_

+

+   `and`:idx:

+     * `system.html#164 <system.html#164>`_

+     * `system.html#183 <system.html#183>`_

+     * `system.html#204 <system.html#204>`_

+

+   `apostrophe`:idx:

+     `manual.html#129 <manual.html#129>`_

+

+   `AppendFileExt`:idx:

+     `os.html#127 <os.html#127>`_

+

+   `arccos`:idx:

+     `math.html#110 <math.html#110>`_

+

+   `arcsin`:idx:

+     `math.html#111 <math.html#111>`_

+

+   `arctan`:idx:

+     `math.html#112 <math.html#112>`_

+

+   `arctan2`:idx:

+     `math.html#113 <math.html#113>`_

+

+   `array`:idx:

+     `system.html#108 <system.html#108>`_

+

+   `Arrays`:idx:

+     `manual.html#153 <manual.html#153>`_

+

+   `assembler`:idx:

+     `manual.html#198 <manual.html#198>`_

+

+   `assert`:idx:

+     `system.html#301 <system.html#301>`_

+

+   `Automatic type conversion`:idx:

+     `manual.html#145 <manual.html#145>`_

+

+   `backslash`:idx:

+     * `manual.html#127 <manual.html#127>`_

+     * `regexprs.html#101 <regexprs.html#101>`_

+

+   `backspace`:idx:

+     `manual.html#132 <manual.html#132>`_

+

+   `BiggestFloat`:idx:

+     `system.html#257 <system.html#257>`_

+

+   `BiggestInt`:idx:

+     `system.html#256 <system.html#256>`_

+

+   `block`:idx:

+     `manual.html#194 <manual.html#194>`_

+

+   `boolean`:idx:

+     `manual.html#147 <manual.html#147>`_

+

+   `break`:idx:

+     `manual.html#195 <manual.html#195>`_

+

+   `breakpoint`:idx:

+     `endb.html#103 <endb.html#103>`_

+

+   `Byte`:idx:

+     `system.html#113 <system.html#113>`_

+

+   `C`:idx:

+     `manual.html#136 <manual.html#136>`_

+

+   `calling conventions`:idx:

+     `manual.html#164 <manual.html#164>`_

+

+   `capitalize`:idx:

+     `strutils.html#110 <strutils.html#110>`_

+

+   `card`:idx:

+     `system.html#151 <system.html#151>`_

+

+   `carriage return`:idx:

+     `manual.html#122 <manual.html#122>`_

+

+   `case`:idx:

+     `manual.html#182 <manual.html#182>`_

+

+   `cchar`:idx:

+     `system.html#258 <system.html#258>`_

+

+   `cdecl`:idx:

+     `manual.html#166 <manual.html#166>`_

+

+   `cdouble`:idx:

+     `system.html#265 <system.html#265>`_

+

+   `cfloat`:idx:

+     `system.html#264 <system.html#264>`_

+

+   `ChangeFileExt`:idx:

+     `os.html#128 <os.html#128>`_

+

+   `character type`:idx:

+     `manual.html#148 <manual.html#148>`_

+

+   `character with decimal value d`:idx:

+     `manual.html#130 <manual.html#130>`_

+

+   `character with hex value HH`:idx:

+     `manual.html#135 <manual.html#135>`_

+

+   `checked runtime error`:idx:

+     `manual.html#110 <manual.html#110>`_

+

+   `chr`:idx:

+     `system.html#153 <system.html#153>`_

+

+   `cint`:idx:

+     `system.html#261 <system.html#261>`_

+

+   `classify`:idx:

+     `math.html#123 <math.html#123>`_

+

+   `clong`:idx:

+     `system.html#262 <system.html#262>`_

+

+   `clongdouble`:idx:

+     `system.html#266 <system.html#266>`_

+

+   `clonglong`:idx:

+     `system.html#263 <system.html#263>`_

+

+   `CloseFile`:idx:

+     `system.html#367 <system.html#367>`_

+

+   `closure`:idx:

+     `manual.html#171 <manual.html#171>`_

+

+   `cmp`:idx:

+     * `system.html#243 <system.html#243>`_

+     * `system.html#244 <system.html#244>`_

+

+   `cmpIgnoreCase`:idx:

+     `strutils.html#119 <strutils.html#119>`_

+

+   `cmpIgnoreStyle`:idx:

+     `strutils.html#120 <strutils.html#120>`_

+

+   `cmpPaths`:idx:

+     `os.html#126 <os.html#126>`_

+

+   `comment pieces`:idx:

+     `manual.html#115 <manual.html#115>`_

+

+   `Comments`:idx:

+     `manual.html#114 <manual.html#114>`_

+

+   `CompileDate`:idx:

+     `system.html#275 <system.html#275>`_

+

+   `CompileTime`:idx:

+     `system.html#276 <system.html#276>`_

+

+   `complex statements`:idx:

+     `manual.html#176 <manual.html#176>`_

+

+   `const`:idx:

+     `manual.html#180 <manual.html#180>`_

+

+   `constant expressions`:idx:

+     `manual.html#108 <manual.html#108>`_

+

+   `Constants`:idx:

+     `manual.html#140 <manual.html#140>`_

+

+   `continue`:idx:

+     `manual.html#197 <manual.html#197>`_

+

+   `copy`:idx:

+     * `system.html#288 <system.html#288>`_

+     * `system.html#289 <system.html#289>`_

+

+   `copyFile`:idx:

+     `os.html#131 <os.html#131>`_

+

+   `copyMem`:idx:

+     `system.html#293 <system.html#293>`_

+

+   `cos`:idx:

+     `math.html#114 <math.html#114>`_

+

+   `cosh`:idx:

+     `math.html#115 <math.html#115>`_

+

+   `countBits`:idx:

+     `math.html#103 <math.html#103>`_

+

+   `countdown`:idx:

+     `system.html#341 <system.html#341>`_

+

+   `countup`:idx:

+     `system.html#342 <system.html#342>`_

+

+   `cpuEndian`:idx:

+     `system.html#281 <system.html#281>`_

+

+   `createDir`:idx:

+     `os.html#135 <os.html#135>`_

+

+   `cschar`:idx:

+     `system.html#259 <system.html#259>`_

+

+   `cshort`:idx:

+     `system.html#260 <system.html#260>`_

+

+   `cstringArray`:idx:

+     `system.html#267 <system.html#267>`_

+

+   `CurDir`:idx:

+     `os.html#101 <os.html#101>`_

+

+   `dangling else problem`:idx:

+     `manual.html#177 <manual.html#177>`_

+

+   `dbgLineHook`:idx:

+     `system.html#337 <system.html#337>`_

+

+   `dealloc`:idx:

+     `system.html#299 <system.html#299>`_

+

+   `debugger`:idx:

+     `nimrodc.html#108 <nimrodc.html#108>`_

+

+   `dec`:idx:

+     `system.html#144 <system.html#144>`_

+

+   `define`:idx:

+     `manual.html#224 <manual.html#224>`_

+

+   `defined`:idx:

+     `system.html#101 <system.html#101>`_

+

+   `deleteStr`:idx:

+     `strutils.html#115 <strutils.html#115>`_

+

+   `DirSep`:idx:

+     `os.html#103 <os.html#103>`_

+

+   `discard`:idx:

+     `manual.html#178 <manual.html#178>`_

+

+   `div`:idx:

+     * `system.html#160 <system.html#160>`_

+     * `system.html#179 <system.html#179>`_

+

+   `domain specific languages`:idx:

+     `manual.html#213 <manual.html#213>`_

+

+   `dynamic type`:idx:

+     `manual.html#104 <manual.html#104>`_

+

+   `EAccessViolation`:idx:

+     `system.html#128 <system.html#128>`_

+

+   `EArithmetic`:idx:

+     `system.html#125 <system.html#125>`_

+

+   `EAssertionFailed`:idx:

+     `system.html#129 <system.html#129>`_

+

+   `EAsynch`:idx:

+     `system.html#119 <system.html#119>`_

+

+   `E_Base`:idx:

+     `system.html#118 <system.html#118>`_

+

+   `echo`:idx:

+     `system.html#380 <system.html#380>`_

+

+   `EControlC`:idx:

+     `system.html#130 <system.html#130>`_

+

+   `EDivByZero`:idx:

+     `system.html#126 <system.html#126>`_

+

+   `EInvalidIndex`:idx:

+     `system.html#133 <system.html#133>`_

+

+   `EInvalidObjectAssignment`:idx:

+     * `manual.html#157 <manual.html#157>`_

+     * `system.html#137 <system.html#137>`_

+

+   `EInvalidObjectConversion`:idx:

+     `system.html#138 <system.html#138>`_

+

+   `EInvalidRegEx`:idx:

+     `regexprs.html#104 <regexprs.html#104>`_

+

+   `EInvalidValue`:idx:

+     * `manual.html#146 <manual.html#146>`_

+     * `system.html#131 <system.html#131>`_

+

+   `EIO`:idx:

+     `system.html#122 <system.html#122>`_

+

+   `Embedded Nimrod Debugger`:idx:

+     `endb.html#101 <endb.html#101>`_

+

+   `ENDB`:idx:

+     `endb.html#102 <endb.html#102>`_

+

+   `EndOfFile`:idx:

+     `system.html#368 <system.html#368>`_

+

+   `endsWith`:idx:

+     `strutils.html#132 <strutils.html#132>`_

+

+   `ENoExceptionToReraise`:idx:

+     * `manual.html#186 <manual.html#186>`_

+     * `system.html#136 <system.html#136>`_

+

+   `Enumeration`:idx:

+     `manual.html#149 <manual.html#149>`_

+

+   `EOS`:idx:

+     `system.html#123 <system.html#123>`_

+

+   `EOutOfMemory`:idx:

+     `system.html#132 <system.html#132>`_

+

+   `EOutOfRange`:idx:

+     `system.html#134 <system.html#134>`_

+

+   `EOverflow`:idx:

+     `system.html#127 <system.html#127>`_

+

+   `equalMem`:idx:

+     `system.html#295 <system.html#295>`_

+

+   `ERessourceExhausted`:idx:

+     `system.html#124 <system.html#124>`_

+

+   `error`:idx:

+     * `manual.html#223 <manual.html#223>`_

+     * `manual.html#226 <manual.html#226>`_

+

+   `escape`:idx:

+     `manual.html#133 <manual.html#133>`_

+

+   `escape sequences`:idx:

+     `manual.html#120 <manual.html#120>`_

+

+   `EStackOverflow`:idx:

+     `system.html#135 <system.html#135>`_

+

+   `ESynch`:idx:

+     `system.html#120 <system.html#120>`_

+

+   `ESystem`:idx:

+     `system.html#121 <system.html#121>`_

+

+   `except`:idx:

+     `manual.html#189 <manual.html#189>`_

+

+   `exception handlers`:idx:

+     `manual.html#188 <manual.html#188>`_

+

+   `excl`:idx:

+     `system.html#150 <system.html#150>`_

+

+   `executeProcess`:idx:

+     `os.html#129 <os.html#129>`_

+

+   `executeShellCommand`:idx:

+     `os.html#130 <os.html#130>`_

+

+   `existsDir`:idx:

+     `os.html#136 <os.html#136>`_

+

+   `existsEnv`:idx:

+     `os.html#141 <os.html#141>`_

+

+   `ExistsFile`:idx:

+     `os.html#115 <os.html#115>`_

+

+   `exp`:idx:

+     `math.html#108 <math.html#108>`_

+

+   `expandFilename`:idx:

+     `os.html#114 <os.html#114>`_

+

+   `extractDir`:idx:

+     `os.html#124 <os.html#124>`_

+

+   `extractFilename`:idx:

+     `os.html#125 <os.html#125>`_

+

+   `ExtSep`:idx:

+     `os.html#107 <os.html#107>`_

+

+   `fastcall`:idx:

+     `manual.html#169 <manual.html#169>`_

+

+   `fatal`:idx:

+     `manual.html#227 <manual.html#227>`_

+

+   `fileNewer`:idx:

+     `os.html#138 <os.html#138>`_

+

+   `FileSystemCaseSensitive`:idx:

+     `os.html#106 <os.html#106>`_

+

+   `finally`:idx:

+     `manual.html#190 <manual.html#190>`_

+

+   `find`:idx:

+     * `regexprs.html#109 <regexprs.html#109>`_

+     * `regexprs.html#110 <regexprs.html#110>`_

+

+   `findSubStr`:idx:

+     * `strutils.html#112 <strutils.html#112>`_

+     * `strutils.html#113 <strutils.html#113>`_

+

+   `FlushFile`:idx:

+     `system.html#370 <system.html#370>`_

+

+   `for`:idx:

+     `manual.html#205 <manual.html#205>`_

+

+   `form feed`:idx:

+     `manual.html#124 <manual.html#124>`_

+

+   `forward`:idx:

+     `manual.html#202 <manual.html#202>`_

+

+   `frexp`:idx:

+     `math.html#109 <math.html#109>`_

+

+   `functional`:idx:

+     `manual.html#163 <manual.html#163>`_

+

+   `funtions`:idx:

+     `manual.html#200 <manual.html#200>`_

+

+   `GC_disable`:idx:

+     `system.html#354 <system.html#354>`_

+

+   `GC_disableMarkAndSweep`:idx:

+     `system.html#360 <system.html#360>`_

+

+   `GC_enable`:idx:

+     `system.html#355 <system.html#355>`_

+

+   `GC_enableMarkAndSweep`:idx:

+     `system.html#359 <system.html#359>`_

+

+   `GC_fullCollect`:idx:

+     `system.html#356 <system.html#356>`_

+

+   `GC_setStrategy`:idx:

+     `system.html#358 <system.html#358>`_

+

+   `generic character types`:idx:

+     `regexprs.html#102 <regexprs.html#102>`_

+

+   `Generics`:idx:

+     `manual.html#209 <manual.html#209>`_

+

+   `getApplicationDir`:idx:

+     `os.html#108 <os.html#108>`_

+

+   `getApplicationFilename`:idx:

+     `os.html#109 <os.html#109>`_

+

+   `getClockStr`:idx:

+     `times.html#112 <times.html#112>`_

+

+   `getConfigDir`:idx:

+     `os.html#113 <os.html#113>`_

+

+   `getCurrentDir`:idx:

+     `os.html#110 <os.html#110>`_

+

+   `getCurrentExceptionMsg`:idx:

+     * `manual.html#184 <manual.html#184>`_

+     * `system.html#334 <system.html#334>`_

+

+   `getDateStr`:idx:

+     `times.html#111 <times.html#111>`_

+

+   `getEnv`:idx:

+     `os.html#140 <os.html#140>`_

+

+   `getFilePos`:idx:

+     `system.html#389 <system.html#389>`_

+

+   `getFileSize`:idx:

+     `system.html#381 <system.html#381>`_

+

+   `getFreeMem`:idx:

+     `system.html#339 <system.html#339>`_

+

+   `getGMTime`:idx:

+     `times.html#107 <times.html#107>`_

+

+   `getHomeDir`:idx:

+     `os.html#112 <os.html#112>`_

+

+   `getLastModificationTime`:idx:

+     `os.html#137 <os.html#137>`_

+

+   `getLocalTime`:idx:

+     `times.html#106 <times.html#106>`_

+

+   `getOccupiedMem`:idx:

+     `system.html#338 <system.html#338>`_

+

+   `getRefcount`:idx:

+     `system.html#333 <system.html#333>`_

+

+   `getStartMilsecs`:idx:

+     `times.html#114 <times.html#114>`_

+

+   `getTime`:idx:

+     `times.html#105 <times.html#105>`_

+

+   `getTotalMem`:idx:

+     `system.html#340 <system.html#340>`_

+

+   `header`:idx:

+     `nimrodc.html#103 <nimrodc.html#103>`_

+

+   `high`:idx:

+     `system.html#105 <system.html#105>`_

+

+   `hint`:idx:

+     * `manual.html#221 <manual.html#221>`_

+     * `manual.html#229 <manual.html#229>`_

+

+   `hypot`:idx:

+     `math.html#116 <math.html#116>`_

+

+   `identifier`:idx:

+     `manual.html#105 <manual.html#105>`_

+

+   `Identifiers`:idx:

+     `manual.html#116 <manual.html#116>`_

+

+   `if`:idx:

+     `manual.html#181 <manual.html#181>`_

+

+   `implicit block`:idx:

+     `manual.html#207 <manual.html#207>`_

+

+   `import`:idx:

+     `manual.html#217 <manual.html#217>`_

+

+   `in`:idx:

+     `system.html#239 <system.html#239>`_

+

+   `inc`:idx:

+     `system.html#143 <system.html#143>`_

+

+   `incl`:idx:

+     `system.html#149 <system.html#149>`_

+

+   `indentation sensitive`:idx:

+     `manual.html#113 <manual.html#113>`_

+

+   `inf`:idx:

+     `system.html#335 <system.html#335>`_

+

+   `information hiding`:idx:

+     `manual.html#215 <manual.html#215>`_

+

+   `inline`:idx:

+     `manual.html#168 <manual.html#168>`_

+

+   `in_Operator`:idx:

+     * `strutils.html#121 <strutils.html#121>`_

+     * `strutils.html#122 <strutils.html#122>`_

+

+   `in_Operator`:idx:

+     `system.html#238 <system.html#238>`_

+

+   `intToStr`:idx:

+     `strutils.html#124 <strutils.html#124>`_

+

+   `is`:idx:

+     `system.html#241 <system.html#241>`_

+

+   `is_not`:idx:

+     `system.html#242 <system.html#242>`_

+

+   `isPowerOfTwo`:idx:

+     `math.html#102 <math.html#102>`_

+

+   `items`:idx:

+     * `system.html#343 <system.html#343>`_

+     * `system.html#344 <system.html#344>`_

+     * `system.html#345 <system.html#345>`_

+     * `system.html#346 <system.html#346>`_

+     * `system.html#347 <system.html#347>`_

+     * `system.html#348 <system.html#348>`_

+

+   `iterator`:idx:

+     `manual.html#206 <manual.html#206>`_

+

+   `iterOverEnvironment`:idx:

+     `os.html#145 <os.html#145>`_

+

+   `JoinPath`:idx:

+     * `os.html#116 <os.html#116>`_

+     * `os.html#118 <os.html#118>`_

+

+   `keywords`:idx:

+     `manual.html#117 <manual.html#117>`_

+

+   `l-values`:idx:

+     `manual.html#107 <manual.html#107>`_

+

+   `len`:idx:

+     * `system.html#145 <system.html#145>`_

+     * `system.html#146 <system.html#146>`_

+     * `system.html#147 <system.html#147>`_

+     * `system.html#148 <system.html#148>`_

+

+   `line feed`:idx:

+     `manual.html#123 <manual.html#123>`_

+

+   `line_dir`:idx:

+     `nimrodc.html#105 <nimrodc.html#105>`_

+

+   `lines`:idx:

+     `system.html#390 <system.html#390>`_

+

+   `line_trace`:idx:

+     `nimrodc.html#107 <nimrodc.html#107>`_

+

+   `Literal strings`:idx:

+     `manual.html#119 <manual.html#119>`_

+

+   `ln`:idx:

+     `math.html#107 <math.html#107>`_

+

+   `locations`:idx:

+     `manual.html#101 <manual.html#101>`_

+

+   `log10`:idx:

+     `math.html#117 <math.html#117>`_

+

+   `low`:idx:

+     `system.html#106 <system.html#106>`_

+

+   `Macros`:idx:

+     `manual.html#212 <manual.html#212>`_

+

+   `match`:idx:

+     * `regexprs.html#106 <regexprs.html#106>`_

+     * `regexprs.html#107 <regexprs.html#107>`_

+

+   `matchLen`:idx:

+     `regexprs.html#108 <regexprs.html#108>`_

+

+   `max`:idx:

+     * `system.html#172 <system.html#172>`_

+     * `system.html#191 <system.html#191>`_

+     * `system.html#203 <system.html#203>`_

+

+   `MaxSubpatterns`:idx:

+     `regexprs.html#105 <regexprs.html#105>`_

+

+   `methods`:idx:

+     `manual.html#199 <manual.html#199>`_

+

+   `min`:idx:

+     * `system.html#171 <system.html#171>`_

+     * `system.html#190 <system.html#190>`_

+     * `system.html#202 <system.html#202>`_

+

+   `mod`:idx:

+     * `system.html#161 <system.html#161>`_

+     * `system.html#180 <system.html#180>`_

+

+   `module`:idx:

+     `manual.html#214 <manual.html#214>`_

+

+   `moveFile`:idx:

+     `os.html#132 <os.html#132>`_

+

+   `moveMem`:idx:

+     `system.html#294 <system.html#294>`_

+

+   `nan`:idx:

+     `system.html#336 <system.html#336>`_

+

+   `Natural`:idx:

+     `system.html#114 <system.html#114>`_

+

+   `new`:idx:

+     * `system.html#103 <system.html#103>`_

+     * `system.html#104 <system.html#104>`_

+

+   `newline`:idx:

+     `manual.html#121 <manual.html#121>`_

+

+   `newString`:idx:

+     `system.html#291 <system.html#291>`_

+

+   `nextPowerOfTwo`:idx:

+     `math.html#101 <math.html#101>`_

+

+   `nimcall`:idx:

+     `manual.html#170 <manual.html#170>`_

+

+   `NimrodMajor`:idx:

+     `system.html#278 <system.html#278>`_

+

+   `NimrodMinor`:idx:

+     `system.html#279 <system.html#279>`_

+

+   `NimrodPatch`:idx:

+     `system.html#280 <system.html#280>`_

+

+   `NimrodVersion`:idx:

+     `system.html#277 <system.html#277>`_

+

+   `nl`:idx:

+     `strutils.html#104 <strutils.html#104>`_

+

+   `noconv`:idx:

+     `manual.html#173 <manual.html#173>`_

+

+   `no_decl`:idx:

+     `nimrodc.html#101 <nimrodc.html#101>`_

+

+   `normalize`:idx:

+     `strutils.html#111 <strutils.html#111>`_

+

+   `no_static`:idx:

+     `nimrodc.html#104 <nimrodc.html#104>`_

+

+   `not`:idx:

+     * `system.html#102 <system.html#102>`_

+     * `system.html#156 <system.html#156>`_

+     * `system.html#175 <system.html#175>`_

+

+   `not_in`:idx:

+     `system.html#240 <system.html#240>`_

+

+   `Numerical constants`:idx:

+     `manual.html#137 <manual.html#137>`_

+

+   `object`:idx:

+     `manual.html#156 <manual.html#156>`_

+

+   `openarray`:idx:

+     `system.html#109 <system.html#109>`_

+

+   `OpenFile`:idx:

+     `system.html#366 <system.html#366>`_

+

+   `operator`:idx:

+     `manual.html#139 <manual.html#139>`_

+

+   `Operators`:idx:

+     `manual.html#204 <manual.html#204>`_

+

+   `or`:idx:

+     * `system.html#165 <system.html#165>`_

+     * `system.html#184 <system.html#184>`_

+     * `system.html#205 <system.html#205>`_

+

+   `ord`:idx:

+     `system.html#152 <system.html#152>`_

+

+   `Ordinal types`:idx:

+     `manual.html#142 <manual.html#142>`_

+

+   `paramCount`:idx:

+     `os.html#142 <os.html#142>`_

+

+   `paramStr`:idx:

+     `os.html#143 <os.html#143>`_

+

+   `ParDir`:idx:

+     `os.html#102 <os.html#102>`_

+

+   `parentDir`:idx:

+     `os.html#120 <os.html#120>`_

+

+   `ParseFloat`:idx:

+     `strutils.html#126 <strutils.html#126>`_

+

+   `ParseInt`:idx:

+     `strutils.html#125 <strutils.html#125>`_

+

+   `PathSep`:idx:

+     `os.html#105 <os.html#105>`_

+

+   `PFloat32`:idx:

+     `system.html#269 <system.html#269>`_

+

+   `PFloat64`:idx:

+     `system.html#270 <system.html#270>`_

+

+   `PInt32`:idx:

+     `system.html#272 <system.html#272>`_

+

+   `PInt64`:idx:

+     `system.html#271 <system.html#271>`_

+

+   `PObject`:idx:

+     `system.html#117 <system.html#117>`_

+

+   `pointers`:idx:

+     `manual.html#159 <manual.html#159>`_

+

+   `Positive`:idx:

+     `system.html#115 <system.html#115>`_

+

+   `pow`:idx:

+     `math.html#121 <math.html#121>`_

+

+   `pred`:idx:

+     `system.html#142 <system.html#142>`_

+

+   `procedural type`:idx:

+     `manual.html#162 <manual.html#162>`_

+

+   `procedures`:idx:

+     `manual.html#201 <manual.html#201>`_

+

+   `push/pop`:idx:

+     `manual.html#230 <manual.html#230>`_

+

+   `putEnv`:idx:

+     `os.html#139 <os.html#139>`_

+

+   `quit`:idx:

+     `system.html#286 <system.html#286>`_

+

+   `QuitFailure`:idx:

+     `system.html#274 <system.html#274>`_

+

+   `QuitSuccess`:idx:

+     `system.html#273 <system.html#273>`_

+

+   `quotation mark`:idx:

+     `manual.html#128 <manual.html#128>`_

+

+   `random`:idx:

+     `math.html#104 <math.html#104>`_

+

+   `randomize`:idx:

+     `math.html#105 <math.html#105>`_

+

+   `range`:idx:

+     `system.html#107 <system.html#107>`_

+

+   `re-raised`:idx:

+     `manual.html#185 <manual.html#185>`_

+

+   `readBuffer`:idx:

+     `system.html#384 <system.html#384>`_

+

+   `ReadBytes`:idx:

+     `system.html#382 <system.html#382>`_

+

+   `readChar`:idx:

+     `system.html#369 <system.html#369>`_

+

+   `ReadChars`:idx:

+     `system.html#383 <system.html#383>`_

+

+   `readFile`:idx:

+     `system.html#371 <system.html#371>`_

+

+   `readLine`:idx:

+     `system.html#378 <system.html#378>`_

+

+   `realloc`:idx:

+     `system.html#298 <system.html#298>`_

+

+   `record`:idx:

+     `manual.html#155 <manual.html#155>`_

+

+   `Recursive module dependancies`:idx:

+     `manual.html#218 <manual.html#218>`_

+

+   `register`:idx:

+     `nimrodc.html#110 <nimrodc.html#110>`_

+

+   `removeDir`:idx:

+     `os.html#134 <os.html#134>`_

+

+   `removeFile`:idx:

+     `os.html#133 <os.html#133>`_

+

+   `repeatChar`:idx:

+     `strutils.html#130 <strutils.html#130>`_

+

+   `replaceStr`:idx:

+     `strutils.html#114 <strutils.html#114>`_

+

+   `repr`:idx:

+     `system.html#254 <system.html#254>`_

+

+   `result`:idx:

+     * `manual.html#192 <manual.html#192>`_

+     * `manual.html#203 <manual.html#203>`_

+

+   `return`:idx:

+     `manual.html#191 <manual.html#191>`_

+

+   `safe`:idx:

+     `manual.html#112 <manual.html#112>`_

+

+   `safecall`:idx:

+     `manual.html#167 <manual.html#167>`_

+

+   `sameFile`:idx:

+     `os.html#144 <os.html#144>`_

+

+   `scope`:idx:

+     * `manual.html#106 <manual.html#106>`_

+     * `manual.html#219 <manual.html#219>`_

+

+   `separate compilation`:idx:

+     `manual.html#216 <manual.html#216>`_

+

+   `seq`:idx:

+     `system.html#110 <system.html#110>`_

+

+   `Sequences`:idx:

+     `manual.html#154 <manual.html#154>`_

+

+   `set`:idx:

+     `system.html#111 <system.html#111>`_

+

+   `set type`:idx:

+     `manual.html#158 <manual.html#158>`_

+

+   `setCurrentDir`:idx:

+     `os.html#111 <os.html#111>`_

+

+   `setFilePos`:idx:

+     `system.html#388 <system.html#388>`_

+

+   `setLen`:idx:

+     * `system.html#290 <system.html#290>`_

+     * `system.html#300 <system.html#300>`_

+

+   `shl`:idx:

+     * `system.html#163 <system.html#163>`_

+     * `system.html#182 <system.html#182>`_

+

+   `shr`:idx:

+     * `system.html#162 <system.html#162>`_

+     * `system.html#181 <system.html#181>`_

+

+   `simple assertions`:idx:

+     `regexprs.html#103 <regexprs.html#103>`_

+

+   `simple statements`:idx:

+     `manual.html#175 <manual.html#175>`_

+

+   `sinh`:idx:

+     `math.html#118 <math.html#118>`_

+

+   `sizeof`:idx:

+     `system.html#140 <system.html#140>`_

+

+   `split`:idx:

+     `strutils.html#117 <strutils.html#117>`_

+

+   `SplitFilename`:idx:

+     `os.html#123 <os.html#123>`_

+

+   `SplitPath`:idx:

+     `os.html#119 <os.html#119>`_

+

+   `splitSeq`:idx:

+     `strutils.html#118 <strutils.html#118>`_

+

+   `sqrt`:idx:

+     * `math.html#106 <math.html#106>`_

+     * `complex.html#109 <complex.html#109>`_

+

+   `stack_trace`:idx:

+     `nimrodc.html#106 <nimrodc.html#106>`_

+

+   `startsWith`:idx:

+     `strutils.html#131 <strutils.html#131>`_

+

+   `Statements`:idx:

+     `manual.html#174 <manual.html#174>`_

+

+   `static error`:idx:

+     `manual.html#109 <manual.html#109>`_

+

+   `static type`:idx:

+     `manual.html#103 <manual.html#103>`_

+

+   `stdcall`:idx:

+     `manual.html#165 <manual.html#165>`_

+

+   `stderr`:idx:

+     `system.html#365 <system.html#365>`_

+

+   `stdin`:idx:

+     `system.html#363 <system.html#363>`_

+

+   `stdout`:idx:

+     `system.html#364 <system.html#364>`_

+

+   `string`:idx:

+     `manual.html#151 <manual.html#151>`_

+

+   `strip`:idx:

+     `strutils.html#105 <strutils.html#105>`_

+

+   `strStart`:idx:

+     `strutils.html#103 <strutils.html#103>`_

+

+   `structured type`:idx:

+     `manual.html#152 <manual.html#152>`_

+

+   `style-insensitive`:idx:

+     `manual.html#118 <manual.html#118>`_

+

+   `subrange`:idx:

+     `manual.html#150 <manual.html#150>`_

+

+   `succ`:idx:

+     `system.html#141 <system.html#141>`_

+

+   `swap`:idx:

+     `system.html#302 <system.html#302>`_

+

+   `syscall`:idx:

+     `manual.html#172 <manual.html#172>`_

+

+   `system`:idx:

+     `manual.html#220 <manual.html#220>`_

+

+   `tabulator`:idx:

+     `manual.html#125 <manual.html#125>`_

+

+   `TAddress`:idx:

+     `system.html#255 <system.html#255>`_

+

+   `tan`:idx:

+     `math.html#119 <math.html#119>`_

+

+   `tanh`:idx:

+     `math.html#120 <math.html#120>`_

+

+   `TCharSet`:idx:

+     `strutils.html#101 <strutils.html#101>`_

+

+   `TComplex`:idx:

+     `complex.html#101 <complex.html#101>`_

+

+   `template`:idx:

+     `manual.html#211 <manual.html#211>`_

+

+   `TEndian`:idx:

+     `system.html#268 <system.html#268>`_

+

+   `TFile`:idx:

+     `system.html#361 <system.html#361>`_

+

+   `TFileMode`:idx:

+     `system.html#362 <system.html#362>`_

+

+   `TFloatClass`:idx:

+     `math.html#122 <math.html#122>`_

+

+   `TGC_Strategy`:idx:

+     `system.html#357 <system.html#357>`_

+

+   `TimeInfoToTime`:idx:

+     `times.html#108 <times.html#108>`_

+

+   `TMonth`:idx:

+     `times.html#101 <times.html#101>`_

+

+   `toBiggestFloat`:idx:

+     `system.html#283 <system.html#283>`_

+

+   `toBiggestInt`:idx:

+     `system.html#285 <system.html#285>`_

+

+   `toBin`:idx:

+     `strutils.html#135 <strutils.html#135>`_

+

+   `TObject`:idx:

+     `system.html#116 <system.html#116>`_

+

+   `toFloat`:idx:

+     `system.html#282 <system.html#282>`_

+

+   `toHex`:idx:

+     `strutils.html#123 <strutils.html#123>`_

+

+   `toInt`:idx:

+     `system.html#284 <system.html#284>`_

+

+   `toLower`:idx:

+     * `strutils.html#106 <strutils.html#106>`_

+     * `strutils.html#107 <strutils.html#107>`_

+

+   `toOct`:idx:

+     `strutils.html#134 <strutils.html#134>`_

+

+   `toOctal`:idx:

+     `strutils.html#116 <strutils.html#116>`_

+

+   `toString`:idx:

+     `strutils.html#127 <strutils.html#127>`_

+

+   `toU16`:idx:

+     `system.html#308 <system.html#308>`_

+

+   `toU32`:idx:

+     `system.html#309 <system.html#309>`_

+

+   `toU8`:idx:

+     `system.html#307 <system.html#307>`_

+

+   `toUpper`:idx:

+     * `strutils.html#108 <strutils.html#108>`_

+     * `strutils.html#109 <strutils.html#109>`_

+

+   `traced`:idx:

+     `manual.html#160 <manual.html#160>`_

+

+   `TResult`:idx:

+     `system.html#139 <system.html#139>`_

+

+   `try`:idx:

+     `manual.html#187 <manual.html#187>`_

+

+   `TTime`:idx:

+     `times.html#103 <times.html#103>`_

+

+   `TTimeInfo`:idx:

+     `times.html#104 <times.html#104>`_

+

+   `tuple`:idx:

+     `system.html#112 <system.html#112>`_

+

+   `TWeekDay`:idx:

+     `times.html#102 <times.html#102>`_

+

+   `type`:idx:

+     * `manual.html#102 <manual.html#102>`_

+     * `manual.html#141 <manual.html#141>`_

+     * `manual.html#208 <manual.html#208>`_

+

+   `type parameters`:idx:

+     `manual.html#210 <manual.html#210>`_

+

+   `type suffix`:idx:

+     `manual.html#138 <manual.html#138>`_

+

+   `unchecked runtime error`:idx:

+     `manual.html#111 <manual.html#111>`_

+

+   `undef`:idx:

+     `manual.html#225 <manual.html#225>`_

+

+   `UnixToNativePath`:idx:

+     `os.html#122 <os.html#122>`_

+

+   `unsigned integer`:idx:

+     `manual.html#143 <manual.html#143>`_

+

+   `unsigned operations`:idx:

+     `manual.html#144 <manual.html#144>`_

+

+   `untraced`:idx:

+     `manual.html#161 <manual.html#161>`_

+

+   `Var`:idx:

+     `manual.html#179 <manual.html#179>`_

+

+   `varargs`:idx:

+     `nimrodc.html#102 <nimrodc.html#102>`_

+

+   `vertical tabulator`:idx:

+     `manual.html#126 <manual.html#126>`_

+

+   `volatile`:idx:

+     `nimrodc.html#109 <nimrodc.html#109>`_

+

+   `walkFiles`:idx:

+     `os.html#146 <os.html#146>`_

+

+   `warning`:idx:

+     * `manual.html#222 <manual.html#222>`_

+     * `manual.html#228 <manual.html#228>`_

+

+   `when`:idx:

+     `manual.html#183 <manual.html#183>`_

+

+   `while`:idx:

+     `manual.html#196 <manual.html#196>`_

+

+   `Whitespace`:idx:

+     `strutils.html#102 <strutils.html#102>`_

+

+   `write`:idx:

+     * `system.html#372 <system.html#372>`_

+     * `system.html#373 <system.html#373>`_

+     * `system.html#374 <system.html#374>`_

+     * `system.html#375 <system.html#375>`_

+     * `system.html#376 <system.html#376>`_

+     * `system.html#377 <system.html#377>`_

+

+   `writeBuffer`:idx:

+     `system.html#387 <system.html#387>`_

+

+   `writeBytes`:idx:

+     `system.html#385 <system.html#385>`_

+

+   `writeChars`:idx:

+     `system.html#386 <system.html#386>`_

+

+   `writeln`:idx:

+     `system.html#379 <system.html#379>`_

+

+   `xor`:idx:

+     * `system.html#166 <system.html#166>`_

+     * `system.html#185 <system.html#185>`_

+     * `system.html#206 <system.html#206>`_

+

+   `yield`:idx:

+     `manual.html#193 <manual.html#193>`_

+

+   `ze`:idx:

+     * `system.html#303 <system.html#303>`_

+     * `system.html#304 <system.html#304>`_

+     * `system.html#306 <system.html#306>`_

+

+   `ze64`:idx:

+     `system.html#305 <system.html#305>`_

+

+   `zeroMem`:idx:

      `system.html#292 <system.html#292>`_
\ No newline at end of file
diff --git a/doc/tutorial.txt b/doc/tutorial.txt
index f37b116c4..f37b116c4 100755..100644
--- a/doc/tutorial.txt
+++ b/doc/tutorial.txt
diff --git a/dos2unix.py b/dos2unix.py
index ff7938f7e..ff7938f7e 100755..100644
--- a/dos2unix.py
+++ b/dos2unix.py
diff --git a/gcccpuopt.sh b/gcccpuopt.sh
index 0bb452108..0bb452108 100755..100644
--- a/gcccpuopt.sh
+++ b/gcccpuopt.sh
diff --git a/ide/main.nim b/ide/main.nim
index 76b6757a3..76b6757a3 100755..100644
--- a/ide/main.nim
+++ b/ide/main.nim
diff --git a/ide/nimide.glade b/ide/nimide.glade
index a902e6544..a902e6544 100755..100644
--- a/ide/nimide.glade
+++ b/ide/nimide.glade
diff --git a/install.txt b/install.txt
index f08bc40bd..741181237 100755..100644
--- a/install.txt
+++ b/install.txt
@@ -1,22 +1,33 @@
-Note: Installation does not work yet - you have to bootstrap. Play with the
-``koch.py`` script to compile the compiler. 
-Compile the compiler:: 
+Installation
+============
 
-  python koch.py nim
+Installation on Windows - the easy way
+--------------------------------------
 
-To bootstrap (does not work yet)::
+Install Nimrod by downloading the appropriate .zip file and extracting it to a
+directory of your choice. The Nimrod Compiler will stay in this directory; 
+do not use a temporary one! You should add the ``bin`` directory of Nimrod to 
+your ``$PATH`` environment variable.
 
-  python koch.py boot
 
 
-Installation
-============
+Installation on UNIX
+--------------------
 
 Note:
   A C compiler is required - knowledge of C is not!
 
-Installation on UNIX
---------------------
+**Note: Installation under UNIX does not work yet** - you have to bootstrap. 
+Play with the ``koch.py`` script to compile the compiler. Under Windows the
+``nim.exe`` is provided, so you don't need to do anything. Under UNIX you need
+to install the `FreePascal <www.freepascal.org>`_ compiler. 
+Compile the compiler:: 
+
+  python koch.py nim
+
+To bootstrap (does not work yet)::
+
+  python koch.py boot
 
 The GNU C Compiler is fully supported, other compilers may work. The C compiler
 should be in your ``$PATH`` (most likely the case). Note that some Linux
@@ -49,36 +60,29 @@ need to install Apple's developer's tools for the GNU Compiler Collection
 though.
 
 
-Installation on Windows
------------------------
+Installation on Windows - the hard way
+--------------------------------------
 
 Windows does not ship with a C compiler; you have to install one. The
 following C compilers are supported under Windows:
 
 - | Digital Mars C++
   | http://www.digitalmars.com/download/freecompiler.html
-
 - | Watcom C++
   | http://www.openwatcom.org/ftp/
-
 - | Borland C++ (5.5 or above; including Borland C++Builder)
   | http://www.borland.com/downloads/download_cbuilder.html
   | (Download the package under "compiler" - this requires registration though.)
-
 - | Microsoft's Visual C++
   | http://msdn.microsoft.com/visualc
   | (You may need the SDK too - but not the full one: Essential are only
     the win32api header files and import libraries.)
-
 - | Gnu C Compiler (the mingw version; the cygwin version has not been tested!)
   | http://www.mingw.org/download.shtml
-
 - | LLVM with GNU C/C++ frontend
   | http://llvm.org/releases/download.html#2.2
-
 - | Pelles C Compiler
   | http://www.smorgasbordet.com/pellesc
-
 - | Lcc-win32
   | http://www.cs.virginia.edu/~lcc-win32
 
@@ -91,8 +95,8 @@ LLVM.
 After you have made sure that a C compiler is available, install
 Nimrod by downloading the appropriate .zip file and extracting it to a
 directory of your choice. The Nimrod Compiler will stay in this
-directory; do not use a temporary one! Then run ``config.exe`` in the
-``bin`` subdirectory. Choose your C compiler and press ``OK``. You should
+directory; do not use a temporary one! Then adapt the ``config/nimrod.cfg`` 
+file appropriately. Choose your C compiler and press ``OK``. You should
 add Nimrod to your ``$PATH``.
 
 Alternatively, you can install Nimrod with the ``koch.py`` script just like
diff --git a/koch.py b/koch.py
index 330db5720..73b38cdaf 100755..100644
--- a/koch.py
+++ b/koch.py
@@ -8,7 +8,7 @@
 ##########################################################################
 
 import os, os.path, sys, re, zipfile, filecmp, shutil, cPickle, time
-import string, getopt, textwrap, glob, shutil, getopt, string
+import string, getopt, textwrap, glob, shutil, getopt, string, stat
 
 
 if sys.version_info[0] >= 3: # this script does not work with Python 3.0
@@ -20,7 +20,7 @@ from kochmod import *
 
 CFLAGS = ""  # modify to set flags to the first compilation step
 
-NIMROD_VERSION = '0.2.1'
+NIMROD_VERSION = '0.5.1'
 # This string contains Nimrod's version. It is the only place
 # where the version needs to be updated. The rest is done by
 # the build process automatically. It is replaced **everywhere**
@@ -118,10 +118,9 @@ Possible Commands:
   configure                configures the environment for developing Nimrod
   doc                      builds the documentation in HTML
   clean                    cleans Nimrod project; removes generated files
-  dist                     produces a distribution as
+  dist [target]            produces a distribution as
                            nimrod_$target_$version.zip
   boot [options]           bootstraps with given command line options
-  tests [options]          runs the complete testsuite (with options)
   rodsrc                   generates Nimrod version from Pascal version
   web                      generates the website (requires Cheetah)
 """ % (NIMROD_VERSION + ' ' * (44-len(NIMROD_VERSION)))
@@ -149,9 +148,11 @@ def main(args):
     elif cmd == "configure": cmd_configure()
     elif cmd == "doc": cmd_doc()
     elif cmd == "clean": cmd_clean()
-    elif cmd == "dist": cmd_dist()
+    elif cmd == "dist": 
+      if i < len(args)-1: cmd_dist(args[i+1])
+      else: cmd_dist()
     elif cmd == "boot": cmd_boot(" ".join(args[i+1:]))
-    elif cmd == "tests": cmd_tests(" ".join(args[i+1:]))
+    #elif cmd == "tests": cmd_tests(" ".join(args[i+1:]))
     elif cmd == "install": cmd_install(args[i+1:])
     elif cmd == "rodsrc": cmd_rodsrc()
     elif cmd == "web": cmd_web()
@@ -243,7 +244,8 @@ def cmd_web():
   ]
   TEMPLATE_FILE = "web/sunset.tmpl"
   #CMD = "rst2html.py --template=web/docutils.tmpl web/%s.txt web/%s.temp "
-  CMD = "nim rst2html --compileonly -o:web/%s.temp web/%s.txt"
+  CMD = "nim rst2html --compileonly " \
+        " --putenv:nimrodversion=%s -o:web/%s.temp web/%s.txt"
 
   c = Changed("web", Glob("web/*.txt") + [TEMPLATE_FILE, "koch.py"] +
                      Glob("doc/*.txt") + Glob("lib/*.txt") + Glob("lib/*.nim")+
@@ -251,10 +253,10 @@ def cmd_web():
               EXPLAIN)
   if c or force:
     cmd_nim() # we need Nimrod for processing the documentation
-    Exec(CMD % ("news","news"))
+    Exec(CMD % (NIMROD_VERSION, "news","news"))
     newsText = file("web/news.temp").read()
     for t in TABS:
-      Exec(CMD % (t[1],t[1]))
+      Exec(CMD % (NIMROD_VERSION, t[1],t[1]))
 
       tmpl = Cheetah.Template.Template(file=TEMPLATE_FILE)
       tmpl.content = file("web/%s.temp" % t[1]).read()
@@ -262,14 +264,14 @@ def cmd_web():
       tmpl.tab = t[1]
       tmpl.tabs = TABS
       tmpl.lastupdate = time.strftime("%Y-%m-%d %X", time.gmtime())
-      f = file("web/%s.html" % t[1], "w+")
+      f = file("web/upload/%s.html" % t[1], "w+")
       f.write(str(tmpl))
       f.close()
     # remove temporaries:
     Remove("web/news.temp")
     for t in TABS: Remove("web/%s.temp" % t[1])
-    buildDoc("web")
-    if Exists("web/index.html"):
+    buildDoc("web/upload")
+    if Exists("web/upload/index.html"):
       c.success()
 
 # ------------------ doc ------------------------------------------------------
@@ -306,7 +308,10 @@ def cmd_clean(dir = "."):
     for name in files:
       if (extRegEx.match(name)
       or (root == "tests" and ('.' not in name))):
-        Remove(os.path.join(root, name))
+        x = os.path.join(root, name)
+        if "/dist/" not in x and "\\dist\\" not in x:
+          Echo("removing: " + x)
+          Remove(os.path.join(root, name))
     for name in dirs:
       if name == "rod_gen":
         shutil.rmtree(path=os.path.join(root, name), ignore_errors=True)
@@ -318,48 +323,48 @@ def cmd_clean(dir = "."):
 
 distlist = {
   'common': (
-    "copying.txt",
-    "gpl.html",
-    "koch.py",
+    "*.txt",
+    "*.html",
+    "*.py",
 
     "lib/nimbase.h -> lib/nimbase.h",
     "lib/*.nim -> lib",
 
-    "rod/*.nim -> rod",
-    "nim/*.pas -> nim",
-    "nim/*.txt -> nim",
+    "rod/*.* -> rod",
+    "build/*.* -> build",
+    "nim/*.* -> nim",
 
     "data/*.yml -> data",
     "data/*.txt -> data",
+    "obj/*.txt",
 
-    "config/nimrod.cfg -> config/nimrod.cfg",
+    "config/*.cfg -> config",
     # documentation:
-    "doc/*.txt",      # only include the text documentation; saves bandwidth!
-                      # the installation program should generate the HTML
-    "readme.txt -> readme.txt",
-    "install.txt -> install.txt",
-
+    "doc/*.txt",
+    "doc/*.html",
+    # tests:
+    "tests/*.*",
     # library:
-    "lib/base/pcre_all.c -> lib/base/pcre_all.c",
-    "lib/base/pcre.nim   -> lib/base/pcre.nim",
-    "lib/base/regexprs.nim -> lib/base/regexprs.nim",
-    #"lib/windows/winapi.nim -> lib/windows/winapi.nim"
+    "lib/base/*.c -> lib/base",
+    "lib/base/*.nim -> lib/base",
+    "lib/base/gtk/*.nim -> lib/base/gtk",
+    "lib/base/cairo/*.nim -> lib/base/cairo",
+    "lib/windows/*.nim -> lib/windows",
+    "lib/posix/*.nim -> lib/posix"
       # don't be too clever here; maybe useful on Linux
       # for cross-compiling to Windows?
   ),
   'windows': (
     "bin/nim.exe -> bin/nim.exe",
-    "koch.exe -> koch.exe",
     "lib/dlmalloc.h -> lib/dlmalloc.h",
     "lib/dlmalloc.c -> lib/dlmalloc.c",
+    "dist/llvm-gcc4.2",
   ),
-  'linux': (
-    "lib/rod_gen/*.c -> build",
-    "rod/rod_gen/*.c -> build",
-  ),
-  'macosx': (
+  'unix': (
     "lib/rod_gen/*.c -> build",
     "rod/rod_gen/*.c -> build",
+    "lib/dlmalloc.h -> lib/dlmalloc.h",
+    "lib/dlmalloc.c -> lib/dlmalloc.c",
   )
 }
 
@@ -370,6 +375,14 @@ def getHost():
   # a heuristic that could work (most likely not :-):
   else: return re.sub(r"[0-9]+$", r"", sys.platform).lower()
 
+def mydirwalker(dir, L):
+  for name in os.listdir(dir):
+    path = os.path.join(dir, name)
+    if os.path.isdir(path):
+      mydirwalker(path, L)
+    else:
+      L.append(path)
+
 def iterInstallFiles(target=getHost()):
   for section in ['common', target]:
     for rule in distlist[section]:
@@ -378,16 +391,27 @@ def iterInstallFiles(target=getHost()):
         source, dest = splittedRule
         if '*' in source:
           for f in Glob(source):
-            yield (Path(f), Path(dest + '/' + os.path.split(f)[1]))
+            if not stat.S_ISDIR(os.stat(f)[stat.ST_MODE]):        
+              yield (Path(f), Path(dest + '/' + os.path.split(f)[1]))
         else:
           yield (Path(source), Path(dest))
+      elif os.path.isdir(Path(rule)):
+        L = []
+        mydirwalker(Path(rule), L)
+        for f in L:
+          yield f, f
       else:
         for f in Glob(rule):
-          yield (Path(f), Path(f))
+          if not stat.S_ISDIR(os.stat(f)[stat.ST_MODE]):
+            yield (Path(f), Path(f))
 
-def cmd_dist(target=getHost()):
+def cmd_dist(target=""):
   from zipfile import ZipFile
-  distfile = Path('dist/nimrod_%s_%s.zip' % (target, getVersion()))
+  if not target:
+    if os.name == "nt": target = "windows"
+    else: target = "unix"
+  distfile = Path('web/upload/download/nimrod_%s_%s.zip' %
+                 (target, getVersion()))
   Echo("creating: %s..." % distfile)
   z = ZipFile(distfile, 'w', zipfile.ZIP_DEFLATED)
   for source, dest in iterInstallFiles(target):
@@ -407,8 +431,8 @@ DefaultDirName={code:GiveMeAPath|nimrod}
 DefaultGroupName=Nimrod
 AllowNoIcons=yes
 LicenseFile=nim\copying.txt
-OutputDir=dist
-OutputBaseFilename=install_nimrod_$version
+OutputDir=web\upload\download
+OutputBaseFilename=nimrod_windows_$version
 Compression=lzma
 SolidCompression=yes
 PrivilegesRequired=none
@@ -464,8 +488,6 @@ def makeKochExe():
 
 def cmd_wininstaller():
   FILENAME = "install_nimrod.iss"
-  makeKochExe()
-
   # generate an installer file
   files = ""
   for source, dest in iterInstallFiles("windows"):
@@ -692,13 +714,14 @@ CONFIG_TEMPLATE = r"""# Configuration file for the Nimrod Compiler.
 # Environment variables cannot be used in the options, however!
 
 # Just call the compiler with several options:
-cc = @if unix: %(cc)s @else: vcc @end
+cc = @if unix: %(cc)s @else: llvm_gcc @end
 lib="$nimrod/lib"
 path="$lib/base"
 path="$lib/base/gtk"
 path="$lib/base/cairo"
 path="$lib/base/x11"
 path="$lib/windows"
+path="$lib/posix"
 path="$lib/extra"
 
 # additional defines:
@@ -720,6 +743,15 @@ hint[XDeclaredButNotUsed]=off
   passc = "-cxxlib"
 @end
 
+# Configuration for the LLVM GCC compiler:
+@if windows:
+  llvm_gcc.path = r"dist\llvm-gcc4.2\bin"
+@end
+llvm_gcc.options.debug = "-g"
+llvm_gcc.options.always = "-w"
+llvm_gcc.options.speed = "-O3 -ffast-math"
+llvm_gcc.options.size = "-Os -ffast-math"
+
 # Configuration for the Borland C++ Compiler:
 @if windows:
   bcc.path = r"C:\eigenes\compiler\cbuilder5\bin"
@@ -802,15 +834,6 @@ pcc.options.always = "-Ze"
 pcc.options.speed = "-Ox"
 pcc.options.size = "-Os"
 
-# Configuration for the LLVM GCC compiler:
-@if windows:
-  llvm_gcc.path = r"c:\eignes\compiler\llvm-gcc\bin"
-@end
-llvm_gcc.options.debug = "-g"
-llvm_gcc.options.always = "-w"
-llvm_gcc.options.speed = "-O3 -ffast-math"
-llvm_gcc.options.size = "-Os -ffast-math"
-
 @if windows:
   icc.path = r"c:\eignes\compiler\icc\bin"
 @end
diff --git a/kochmod.py b/kochmod.py
index 87ef2621e..87ef2621e 100755..100644
--- a/kochmod.py
+++ b/kochmod.py
diff --git a/lib/amd64.asm.in b/lib/amd64.asm.in
index 2c14bf241..2c14bf241 100755..100644
--- a/lib/amd64.asm.in
+++ b/lib/amd64.asm.in
diff --git a/lib/ansi_c.nim b/lib/ansi_c.nim
index e667822a9..e667822a9 100755..100644
--- a/lib/ansi_c.nim
+++ b/lib/ansi_c.nim
diff --git a/lib/arithm.nim b/lib/arithm.nim
index 5510d2f30..5510d2f30 100755..100644
--- a/lib/arithm.nim
+++ b/lib/arithm.nim
diff --git a/lib/assign.nim b/lib/assign.nim
index c8592b970..c8592b970 100755..100644
--- a/lib/assign.nim
+++ b/lib/assign.nim
diff --git a/lib/base/dialogs.nim b/lib/base/dialogs.nim
index cd9c7c6b8..cd9c7c6b8 100755..100644
--- a/lib/base/dialogs.nim
+++ b/lib/base/dialogs.nim
diff --git a/lib/base/gtk/atk.nim b/lib/base/gtk/atk.nim
index 69eb7c7cc..69eb7c7cc 100755..100644
--- a/lib/base/gtk/atk.nim
+++ b/lib/base/gtk/atk.nim
diff --git a/lib/base/gtk/gdk2.nim b/lib/base/gtk/gdk2.nim
index 11179525a..11179525a 100755..100644
--- a/lib/base/gtk/gdk2.nim
+++ b/lib/base/gtk/gdk2.nim
diff --git a/lib/base/gtk/gdk2pixbuf.nim b/lib/base/gtk/gdk2pixbuf.nim
index 1dcc020d1..1dcc020d1 100755..100644
--- a/lib/base/gtk/gdk2pixbuf.nim
+++ b/lib/base/gtk/gdk2pixbuf.nim
diff --git a/lib/base/gtk/gdkglext.nim b/lib/base/gtk/gdkglext.nim
index d5e6b128e..d5e6b128e 100755..100644
--- a/lib/base/gtk/gdkglext.nim
+++ b/lib/base/gtk/gdkglext.nim
diff --git a/lib/base/gtk/glib2.nim b/lib/base/gtk/glib2.nim
index 4b4724c70..4b4724c70 100755..100644
--- a/lib/base/gtk/glib2.nim
+++ b/lib/base/gtk/glib2.nim
diff --git a/lib/base/gtk/gtk2.nim b/lib/base/gtk/gtk2.nim
index 6c7a2ce9f..6c7a2ce9f 100755..100644
--- a/lib/base/gtk/gtk2.nim
+++ b/lib/base/gtk/gtk2.nim
diff --git a/lib/base/gtk/gtkglext.nim b/lib/base/gtk/gtkglext.nim
index 7d9e35b13..7d9e35b13 100755..100644
--- a/lib/base/gtk/gtkglext.nim
+++ b/lib/base/gtk/gtkglext.nim
diff --git a/lib/base/gtk/gtkhtml.nim b/lib/base/gtk/gtkhtml.nim
index 5599eec2b..5599eec2b 100755..100644
--- a/lib/base/gtk/gtkhtml.nim
+++ b/lib/base/gtk/gtkhtml.nim
diff --git a/lib/base/gtk/libglade2.nim b/lib/base/gtk/libglade2.nim
index 18e76584b..18e76584b 100755..100644
--- a/lib/base/gtk/libglade2.nim
+++ b/lib/base/gtk/libglade2.nim
diff --git a/lib/base/gtk/pango.nim b/lib/base/gtk/pango.nim
index 4c6c48bf8..4c6c48bf8 100755..100644
--- a/lib/base/gtk/pango.nim
+++ b/lib/base/gtk/pango.nim
diff --git a/lib/base/gtk/pangoutils.nim b/lib/base/gtk/pangoutils.nim
index 2c328b59a..2c328b59a 100755..100644
--- a/lib/base/gtk/pangoutils.nim
+++ b/lib/base/gtk/pangoutils.nim
diff --git a/lib/base/nregex.nim b/lib/base/nregex.nim
index 509f77f1b..509f77f1b 100755..100644
--- a/lib/base/nregex.nim
+++ b/lib/base/nregex.nim
diff --git a/lib/base/pcre.nim b/lib/base/pcre.nim
index 6a9f14123..6a9f14123 100755..100644
--- a/lib/base/pcre.nim
+++ b/lib/base/pcre.nim
diff --git a/lib/base/pcre_all.c b/lib/base/pcre_all.c
index bcda06e50..bcda06e50 100755..100644
--- a/lib/base/pcre_all.c
+++ b/lib/base/pcre_all.c
diff --git a/lib/base/regexprs.nim b/lib/base/regexprs.nim
index b9272ca47..b9272ca47 100755..100644
--- a/lib/base/regexprs.nim
+++ b/lib/base/regexprs.nim
diff --git a/lib/cntbits.nim b/lib/cntbits.nim
index 0218bf4f2..0218bf4f2 100755..100644
--- a/lib/cntbits.nim
+++ b/lib/cntbits.nim
diff --git a/lib/complex.nim b/lib/complex.nim
index b5724e48f..b5724e48f 100755..100644
--- a/lib/complex.nim
+++ b/lib/complex.nim
diff --git a/lib/copying.txt b/lib/copying.txt
index 2657a09df..2657a09df 100755..100644
--- a/lib/copying.txt
+++ b/lib/copying.txt
diff --git a/lib/debugger.nim b/lib/debugger.nim
index dca346fe0..dca346fe0 100755..100644
--- a/lib/debugger.nim
+++ b/lib/debugger.nim
diff --git a/lib/dlmalloc.c b/lib/dlmalloc.c
index 79fb5801b..79fb5801b 100755..100644
--- a/lib/dlmalloc.c
+++ b/lib/dlmalloc.c
diff --git a/lib/dlmalloc.h b/lib/dlmalloc.h
index 197b36667..197b36667 100755..100644
--- a/lib/dlmalloc.h
+++ b/lib/dlmalloc.h
diff --git a/lib/dyncalls.nim b/lib/dyncalls.nim
index 78c3fa115..78c3fa115 100755..100644
--- a/lib/dyncalls.nim
+++ b/lib/dyncalls.nim
diff --git a/lib/excpt.nim b/lib/excpt.nim
index ae057cc97..ae057cc97 100755..100644
--- a/lib/excpt.nim
+++ b/lib/excpt.nim
diff --git a/lib/gc.nim b/lib/gc.nim
index 570c484e6..570c484e6 100755..100644
--- a/lib/gc.nim
+++ b/lib/gc.nim
diff --git a/lib/hti.nim b/lib/hti.nim
index 8fc46cdd7..8fc46cdd7 100755..100644
--- a/lib/hti.nim
+++ b/lib/hti.nim
diff --git a/lib/i386.asm.in b/lib/i386.asm.in
index 483dc2d95..483dc2d95 100755..100644
--- a/lib/i386.asm.in
+++ b/lib/i386.asm.in
diff --git a/lib/int64s.nim b/lib/int64s.nim
index bac6b9ccd..bac6b9ccd 100755..100644
--- a/lib/int64s.nim
+++ b/lib/int64s.nim
diff --git a/lib/lgpl.txt b/lib/lgpl.txt
index f6fa6c9e5..f6fa6c9e5 100755..100644
--- a/lib/lgpl.txt
+++ b/lib/lgpl.txt
diff --git a/lib/locks.nim b/lib/locks.nim
index 89d26dfca..89d26dfca 100755..100644
--- a/lib/locks.nim
+++ b/lib/locks.nim
diff --git a/lib/math.nim b/lib/math.nim
index 84cba9894..84cba9894 100755..100644
--- a/lib/math.nim
+++ b/lib/math.nim
diff --git a/lib/memman.nim b/lib/memman.nim
index f0ca078f7..f0ca078f7 100755..100644
--- a/lib/memman.nim
+++ b/lib/memman.nim
diff --git a/lib/nimbase.h b/lib/nimbase.h
index 99ee2f20c..99ee2f20c 100755..100644
--- a/lib/nimbase.h
+++ b/lib/nimbase.h
diff --git a/lib/optparse.nim b/lib/optparse.nim
index 58007b5a9..58007b5a9 100755..100644
--- a/lib/optparse.nim
+++ b/lib/optparse.nim
diff --git a/lib/os.nim b/lib/os.nim
index 5f9ea88a1..cd835c480 100755..100644
--- a/lib/os.nim
+++ b/lib/os.nim
@@ -294,6 +294,10 @@ proc existsDir*(dir: string): bool
 proc getLastModificationTime*(file: string): TTime
   ## Gets the time of the `file`'s last modification.
 
+proc fileNewer*(a, b: string): bool 
+  ## returns true if the file `a` is newer than file `b`, i.e. if `a`'s
+  ## modification time is later than `b`'s.
+
 # procs dealing with environment variables:
 proc putEnv*(key, val: string)
   ## Sets the value of the environment variable named `key` to `val`.
@@ -936,4 +940,7 @@ else:
 
   proc paramCount(): int = return cmdCount-1
 
+proc fileNewer(a, b: string): bool =
+  result = getLastModificationTime(a) - getLastModificationTime(b) > 0
+
 {.pop.}
diff --git a/lib/posix/posix.nim b/lib/posix/posix.nim
index 9a18d0e17..9a18d0e17 100755..100644
--- a/lib/posix/posix.nim
+++ b/lib/posix/posix.nim
diff --git a/lib/powerpc.asm.in b/lib/powerpc.asm.in
index 107f887ab..107f887ab 100755..100644
--- a/lib/powerpc.asm.in
+++ b/lib/powerpc.asm.in
diff --git a/lib/process.nim b/lib/process.nim
index ebeeb3f47..ebeeb3f47 100755..100644
--- a/lib/process.nim
+++ b/lib/process.nim
diff --git a/lib/ptrset.nim b/lib/ptrset.nim
index f1b9e58e5..f1b9e58e5 100755..100644
--- a/lib/ptrset.nim
+++ b/lib/ptrset.nim
diff --git a/lib/repr.nim b/lib/repr.nim
index e5106c38d..e5106c38d 100755..100644
--- a/lib/repr.nim
+++ b/lib/repr.nim
diff --git a/lib/sets.nim b/lib/sets.nim
index 3aeae235c..3aeae235c 100755..100644
--- a/lib/sets.nim
+++ b/lib/sets.nim
diff --git a/lib/strutils.nim b/lib/strutils.nim
index e2aca01b4..e2aca01b4 100755..100644
--- a/lib/strutils.nim
+++ b/lib/strutils.nim
diff --git a/lib/sysio.nim b/lib/sysio.nim
index bb028b0de..bb028b0de 100755..100644
--- a/lib/sysio.nim
+++ b/lib/sysio.nim
diff --git a/lib/sysstr.nim b/lib/sysstr.nim
index 0ff43216c..0ff43216c 100755..100644
--- a/lib/sysstr.nim
+++ b/lib/sysstr.nim
diff --git a/lib/system.nim b/lib/system.nim
index 8e8fc5d6d..8e8fc5d6d 100755..100644
--- a/lib/system.nim
+++ b/lib/system.nim
diff --git a/lib/times.nim b/lib/times.nim
index e1b32e754..e1b32e754 100755..100644
--- a/lib/times.nim
+++ b/lib/times.nim
diff --git a/lib/typeinfo.nim b/lib/typeinfo.nim
index b4d8f8f3a..b4d8f8f3a 100755..100644
--- a/lib/typeinfo.nim
+++ b/lib/typeinfo.nim
diff --git a/lib/unicode.nim b/lib/unicode.nim
index 6829ede50..6829ede50 100755..100644
--- a/lib/unicode.nim
+++ b/lib/unicode.nim
diff --git a/lib/windows/mmsystem.nim b/lib/windows/mmsystem.nim
index b18ae2be4..b18ae2be4 100755..100644
--- a/lib/windows/mmsystem.nim
+++ b/lib/windows/mmsystem.nim
diff --git a/lib/windows/nb30.nim b/lib/windows/nb30.nim
index 8c61bbaf7..8c61bbaf7 100755..100644
--- a/lib/windows/nb30.nim
+++ b/lib/windows/nb30.nim
diff --git a/lib/windows/ole2.nim b/lib/windows/ole2.nim
index ec0ab8f5d..ec0ab8f5d 100755..100644
--- a/lib/windows/ole2.nim
+++ b/lib/windows/ole2.nim
diff --git a/lib/windows/shellapi.nim b/lib/windows/shellapi.nim
index fbbd1999a..fbbd1999a 100755..100644
--- a/lib/windows/shellapi.nim
+++ b/lib/windows/shellapi.nim
diff --git a/lib/windows/shfolder.nim b/lib/windows/shfolder.nim
index 210f6441f..210f6441f 100755..100644
--- a/lib/windows/shfolder.nim
+++ b/lib/windows/shfolder.nim
diff --git a/lib/windows/windows.nim b/lib/windows/windows.nim
index 409977e7a..409977e7a 100755..100644
--- a/lib/windows/windows.nim
+++ b/lib/windows/windows.nim
diff --git a/makefile b/makefile
index 932d53022..932d53022 100755..100644
--- a/makefile
+++ b/makefile
diff --git a/nim/ast.pas b/nim/ast.pas
index 6d5acf425..6d5acf425 100755..100644
--- a/nim/ast.pas
+++ b/nim/ast.pas
diff --git a/nim/astalgo.pas b/nim/astalgo.pas
index 5ab1683b3..5ab1683b3 100755..100644
--- a/nim/astalgo.pas
+++ b/nim/astalgo.pas
diff --git a/nim/backends.pas b/nim/backends.pas
index e1ac616e9..e1ac616e9 100755..100644
--- a/nim/backends.pas
+++ b/nim/backends.pas
diff --git a/nim/bitsets.pas b/nim/bitsets.pas
index 6270fbb6a..6270fbb6a 100755..100644
--- a/nim/bitsets.pas
+++ b/nim/bitsets.pas
diff --git a/nim/ccgexprs.pas b/nim/ccgexprs.pas
index 027f6a816..027f6a816 100755..100644
--- a/nim/ccgexprs.pas
+++ b/nim/ccgexprs.pas
diff --git a/nim/ccgstmts.pas b/nim/ccgstmts.pas
index 38a9e9cdf..38a9e9cdf 100755..100644
--- a/nim/ccgstmts.pas
+++ b/nim/ccgstmts.pas
diff --git a/nim/ccgtypes.pas b/nim/ccgtypes.pas
index f375daaae..f375daaae 100755..100644
--- a/nim/ccgtypes.pas
+++ b/nim/ccgtypes.pas
diff --git a/nim/ccgutils.pas b/nim/ccgutils.pas
index 6817f4518..6817f4518 100755..100644
--- a/nim/ccgutils.pas
+++ b/nim/ccgutils.pas
diff --git a/nim/cgen.pas b/nim/cgen.pas
index cb89cd910..9c0e122f2 100755..100644
--- a/nim/cgen.pas
+++ b/nim/cgen.pas
@@ -703,9 +703,8 @@ begin
   if optCFileCache in gGlobalOptions then begin
     objFile := toObjFile(cfilenoext);
     if writeRopeIfNotEqual(code, cfile) then exit;
-    if ExistsFile(objFile) then result := false
-//    and ropeEqualsFile(code, cfile)
-//    and FileNewer(objFile, cfile) then
+    if ExistsFile(objFile) and nos.FileNewer(objFile, cfile) then
+      result := false
   end
   else
     writeRope(code, cfile);
diff --git a/nim/charsets.pas b/nim/charsets.pas
index a5f14450f..a5f14450f 100755..100644
--- a/nim/charsets.pas
+++ b/nim/charsets.pas
diff --git a/nim/commands.pas b/nim/commands.pas
index 69edd86e9..69edd86e9 100755..100644
--- a/nim/commands.pas
+++ b/nim/commands.pas
diff --git a/nim/condsyms.pas b/nim/condsyms.pas
index 369ceafad..369ceafad 100755..100644
--- a/nim/condsyms.pas
+++ b/nim/condsyms.pas
diff --git a/nim/config.inc b/nim/config.inc
index f73444a71..f73444a71 100755..100644
--- a/nim/config.inc
+++ b/nim/config.inc
diff --git a/nim/copying.txt b/nim/copying.txt
index 65b743e4a..65b743e4a 100755..100644
--- a/nim/copying.txt
+++ b/nim/copying.txt
diff --git a/nim/crc.pas b/nim/crc.pas
index d669c17ee..d669c17ee 100755..100644
--- a/nim/crc.pas
+++ b/nim/crc.pas
diff --git a/nim/docgen.pas b/nim/docgen.pas
index 9615dad35..9615dad35 100755..100644
--- a/nim/docgen.pas
+++ b/nim/docgen.pas
diff --git a/nim/eval.pas b/nim/eval.pas
index 3f9d60b7a..3f9d60b7a 100755..100644
--- a/nim/eval.pas
+++ b/nim/eval.pas
diff --git a/nim/extccomp.pas b/nim/extccomp.pas
index 6fdec1186..0fc24f8d3 100755..100644
--- a/nim/extccomp.pas
+++ b/nim/extccomp.pas
@@ -18,8 +18,8 @@ uses
   nimconf, msgs; // some things are read in from the configuration file
 
 type
-  TSystemCC = (ccNone, ccGcc, ccLcc, ccBcc, ccDmc, ccWcc, ccVcc, ccTcc, ccPcc,
-               ccUcc, ccIcc, ccGpp);
+  TSystemCC = (ccNone, ccGcc, ccLLVM_Gcc, ccLcc, ccBcc, ccDmc, ccWcc, ccVcc, 
+               ccTcc, ccPcc, ccUcc, ccIcc, ccGpp);
 
   TInfoCCProp = ( // properties of the C compiler:
     hasSwitchRange,  // CC allows ranges in switch statements (GNU C extension)
@@ -61,6 +61,21 @@ const
       props: {@set}[hasSwitchRange, hasComputedGoto, hasCpp];
     ),
     (
+      name: 'llvm_gcc';
+      objExt: 'o'+'';
+      optSpeed: ' -O3 -ffast-math ';
+      optSize: ' -Os -ffast-math ';
+      compile: 'llvm-gcc -c $options $include -o $objfile $file';
+      buildGui: ' -mwindows';
+      buildDll: ' -mdll';
+      link: 'llvm-gcc $options $buildgui $builddll -o $exefile $objfiles';
+      includeCmd: ' -I';
+      debug: '';
+      pic: '-fPIC';
+      asmStmtFrmt: 'asm($1);$n';
+      props: {@set}[hasSwitchRange, hasComputedGoto, hasCpp];
+    ),
+    (
       name: 'lcc';
       objExt: 'obj';
       optSpeed: ' -O -p6 ';
diff --git a/nim/genhelp.pas b/nim/genhelp.pas
index 382a0b8bf..382a0b8bf 100755..100644
--- a/nim/genhelp.pas
+++ b/nim/genhelp.pas
diff --git a/nim/gpl.html b/nim/gpl.html
index 0aec9fff0..0aec9fff0 100755..100644
--- a/nim/gpl.html
+++ b/nim/gpl.html
diff --git a/nim/hashes.pas b/nim/hashes.pas
index 80acc57ca..80acc57ca 100755..100644
--- a/nim/hashes.pas
+++ b/nim/hashes.pas
diff --git a/nim/highlite.pas b/nim/highlite.pas
index ee115b815..ee115b815 100755..100644
--- a/nim/highlite.pas
+++ b/nim/highlite.pas
diff --git a/nim/idents.pas b/nim/idents.pas
index 8779abb2b..8779abb2b 100755..100644
--- a/nim/idents.pas
+++ b/nim/idents.pas
diff --git a/nim/importer.pas b/nim/importer.pas
index 5377434fe..5377434fe 100755..100644
--- a/nim/importer.pas
+++ b/nim/importer.pas
diff --git a/nim/instgen.pas b/nim/instgen.pas
index 2d5abc8b2..2d5abc8b2 100755..100644
--- a/nim/instgen.pas
+++ b/nim/instgen.pas
diff --git a/nim/lexbase.pas b/nim/lexbase.pas
index f02c375ff..f02c375ff 100755..100644
--- a/nim/lexbase.pas
+++ b/nim/lexbase.pas
diff --git a/nim/lists.pas b/nim/lists.pas
index 74b1479d9..74b1479d9 100755..100644
--- a/nim/lists.pas
+++ b/nim/lists.pas
diff --git a/nim/llvmdyn.pas b/nim/llvmdyn.pas
index 34839a1c8..34839a1c8 100755..100644
--- a/nim/llvmdyn.pas
+++ b/nim/llvmdyn.pas
diff --git a/nim/llvmstat.pas b/nim/llvmstat.pas
index e7d06a284..e7d06a284 100755..100644
--- a/nim/llvmstat.pas
+++ b/nim/llvmstat.pas
diff --git a/nim/lookup.pas b/nim/lookup.pas
index 143967f3e..143967f3e 100755..100644
--- a/nim/lookup.pas
+++ b/nim/lookup.pas
diff --git a/nim/magicsys.pas b/nim/magicsys.pas
index 2f314065d..2f314065d 100755..100644
--- a/nim/magicsys.pas
+++ b/nim/magicsys.pas
diff --git a/nim/main.pas b/nim/main.pas
index 8ea82ced3..8ea82ced3 100755..100644
--- a/nim/main.pas
+++ b/nim/main.pas
diff --git a/nim/msgs.pas b/nim/msgs.pas
index 6f4f8225e..6f4f8225e 100755..100644
--- a/nim/msgs.pas
+++ b/nim/msgs.pas
diff --git a/nim/nimconf.pas b/nim/nimconf.pas
index dd29684f6..dd29684f6 100755..100644
--- a/nim/nimconf.pas
+++ b/nim/nimconf.pas
diff --git a/nim/nimrod.pas b/nim/nimrod.pas
index 7f8512984..7f8512984 100755..100644
--- a/nim/nimrod.pas
+++ b/nim/nimrod.pas
diff --git a/nim/nimsets.pas b/nim/nimsets.pas
index 2b8dff20a..2b8dff20a 100755..100644
--- a/nim/nimsets.pas
+++ b/nim/nimsets.pas
diff --git a/nim/nmath.pas b/nim/nmath.pas
index 8b638eb42..8b638eb42 100755..100644
--- a/nim/nmath.pas
+++ b/nim/nmath.pas
diff --git a/nim/nos.pas b/nim/nos.pas
index bafa28d43..bafa28d43 100755..100644
--- a/nim/nos.pas
+++ b/nim/nos.pas
diff --git a/nim/nsystem.pas b/nim/nsystem.pas
index 0b8b897c2..0b8b897c2 100755..100644
--- a/nim/nsystem.pas
+++ b/nim/nsystem.pas
diff --git a/nim/ntime.pas b/nim/ntime.pas
index 9135c26c3..9135c26c3 100755..100644
--- a/nim/ntime.pas
+++ b/nim/ntime.pas
diff --git a/nim/nversion.pas b/nim/nversion.pas
index f59a2e756..6b6ee6169 100755..100644
--- a/nim/nversion.pas
+++ b/nim/nversion.pas
@@ -1,41 +1,41 @@
-//
-//
-//           The Nimrod Compiler
-//        (c) Copyright 2008 Andreas Rumpf
-//
-//    See the file "copying.txt", included in this
-//    distribution, for details about the copyright.
-//
-
-unit nversion;
-
-// this unit implements the version handling
-
-interface
-
-{$include 'config.inc'}
-
-uses
-  strutils;
-
-const
-  MaxSetElements = 1 shl 16; // (2^16) to support unicode character sets?
-  defaultAsmMarkerSymbol = '!';
-
-  //[[[cog
-  //from koch import NIMROD_VERSION
-  //cog.outl("VersionAsString = '%s';" % NIMROD_VERSION)
-  //ver = NIMROD_VERSION.split('.')
-  //cog.outl('VersionMajor = %s;' % ver[0])
-  //cog.outl('VersionMinor = %s;' % ver[1])
-  //cog.outl('VersionPatch = %s;' % ver[2])
-  //]]]
-  VersionAsString = '0.2.1';
-  VersionMajor = 0;
-  VersionMinor = 2;
-  VersionPatch = 1;
-  //[[[[end]]]]
-
-implementation
-
-end.
+//

+//

+//           The Nimrod Compiler

+//        (c) Copyright 2008 Andreas Rumpf

+//

+//    See the file "copying.txt", included in this

+//    distribution, for details about the copyright.

+//

+

+unit nversion;

+

+// this unit implements the version handling

+

+interface

+

+{$include 'config.inc'}

+

+uses

+  strutils;

+

+const

+  MaxSetElements = 1 shl 16; // (2^16) to support unicode character sets?

+  defaultAsmMarkerSymbol = '!';

+

+  //[[[cog

+  //from koch import NIMROD_VERSION

+  //cog.outl("VersionAsString = '%s';" % NIMROD_VERSION)

+  //ver = NIMROD_VERSION.split('.')

+  //cog.outl('VersionMajor = %s;' % ver[0])

+  //cog.outl('VersionMinor = %s;' % ver[1])

+  //cog.outl('VersionPatch = %s;' % ver[2])

+  //]]]

+  VersionAsString = '0.5.1';

+  VersionMajor = 0;

+  VersionMinor = 5;

+  VersionPatch = 1;

+  //[[[[end]]]]

+

+implementation

+

+end.

diff --git a/nim/options.pas b/nim/options.pas
index e7ec0a1ce..e7ec0a1ce 100755..100644
--- a/nim/options.pas
+++ b/nim/options.pas
diff --git a/nim/paslex.pas b/nim/paslex.pas
index 5b90a6138..5b90a6138 100755..100644
--- a/nim/paslex.pas
+++ b/nim/paslex.pas
diff --git a/nim/pasparse.pas b/nim/pasparse.pas
index 2d581d81a..2d581d81a 100755..100644
--- a/nim/pasparse.pas
+++ b/nim/pasparse.pas
diff --git a/nim/platform.pas b/nim/platform.pas
index 3bb109943..3bb109943 100755..100644
--- a/nim/platform.pas
+++ b/nim/platform.pas
diff --git a/nim/pnimsyn.pas b/nim/pnimsyn.pas
index 8407804e7..8407804e7 100755..100644
--- a/nim/pnimsyn.pas
+++ b/nim/pnimsyn.pas
diff --git a/nim/pragmas.pas b/nim/pragmas.pas
index f257be390..f257be390 100755..100644
--- a/nim/pragmas.pas
+++ b/nim/pragmas.pas
diff --git a/nim/procfind.pas b/nim/procfind.pas
index f7a78c8b9..f7a78c8b9 100755..100644
--- a/nim/procfind.pas
+++ b/nim/procfind.pas
diff --git a/nim/readme.txt b/nim/readme.txt
index 99d574bac..99d574bac 100755..100644
--- a/nim/readme.txt
+++ b/nim/readme.txt
diff --git a/nim/rnimsyn.pas b/nim/rnimsyn.pas
index b4f97e82c..b4f97e82c 100755..100644
--- a/nim/rnimsyn.pas
+++ b/nim/rnimsyn.pas
diff --git a/nim/rodgen.pas b/nim/rodgen.pas
index a9bb17b49..a9bb17b49 100755..100644
--- a/nim/rodgen.pas
+++ b/nim/rodgen.pas
diff --git a/nim/ropes.pas b/nim/ropes.pas
index 48a38d7b4..48a38d7b4 100755..100644
--- a/nim/ropes.pas
+++ b/nim/ropes.pas
diff --git a/nim/rst.pas b/nim/rst.pas
index d6452ceae..d6452ceae 100755..100644
--- a/nim/rst.pas
+++ b/nim/rst.pas
diff --git a/nim/scanner.pas b/nim/scanner.pas
index 8e5bc3fc5..8e5bc3fc5 100755..100644
--- a/nim/scanner.pas
+++ b/nim/scanner.pas
diff --git a/nim/sem.pas b/nim/sem.pas
index 48a967d35..48a967d35 100755..100644
--- a/nim/sem.pas
+++ b/nim/sem.pas
diff --git a/nim/semexprs.pas b/nim/semexprs.pas
index 66f9b1e3f..66f9b1e3f 100755..100644
--- a/nim/semexprs.pas
+++ b/nim/semexprs.pas
diff --git a/nim/semfold.pas b/nim/semfold.pas
index 2edc2e7a0..2edc2e7a0 100755..100644
--- a/nim/semfold.pas
+++ b/nim/semfold.pas
diff --git a/nim/semstmts.pas b/nim/semstmts.pas
index 66db7b802..66db7b802 100755..100644
--- a/nim/semstmts.pas
+++ b/nim/semstmts.pas
diff --git a/nim/semtempl.pas b/nim/semtempl.pas
index f7f0cadd5..f7f0cadd5 100755..100644
--- a/nim/semtempl.pas
+++ b/nim/semtempl.pas
diff --git a/nim/semtypes.pas b/nim/semtypes.pas
index e402b9864..e402b9864 100755..100644
--- a/nim/semtypes.pas
+++ b/nim/semtypes.pas
diff --git a/nim/sigmatch.pas b/nim/sigmatch.pas
index 69ffdbb43..69ffdbb43 100755..100644
--- a/nim/sigmatch.pas
+++ b/nim/sigmatch.pas
diff --git a/nim/strutils.pas b/nim/strutils.pas
index b654b7868..b654b7868 100755..100644
--- a/nim/strutils.pas
+++ b/nim/strutils.pas
diff --git a/nim/syntaxes.pas b/nim/syntaxes.pas
index 1068064ce..1068064ce 100755..100644
--- a/nim/syntaxes.pas
+++ b/nim/syntaxes.pas
diff --git a/nim/transf.pas b/nim/transf.pas
index 33ece8116..33ece8116 100755..100644
--- a/nim/transf.pas
+++ b/nim/transf.pas
diff --git a/nim/transtmp.pas b/nim/transtmp.pas
index df61aa00d..df61aa00d 100755..100644
--- a/nim/transtmp.pas
+++ b/nim/transtmp.pas
diff --git a/nim/trees.pas b/nim/trees.pas
index bd4137083..bd4137083 100755..100644
--- a/nim/trees.pas
+++ b/nim/trees.pas
diff --git a/nim/treetab.pas b/nim/treetab.pas
index 5a9dbdb2a..5a9dbdb2a 100755..100644
--- a/nim/treetab.pas
+++ b/nim/treetab.pas
diff --git a/nim/types.pas b/nim/types.pas
index 5719d181a..5719d181a 100755..100644
--- a/nim/types.pas
+++ b/nim/types.pas
diff --git a/nim/vis.pas b/nim/vis.pas
index 7f59abaec..7f59abaec 100755..100644
--- a/nim/vis.pas
+++ b/nim/vis.pas
diff --git a/nim/wordrecg.pas b/nim/wordrecg.pas
index da709a8f3..da709a8f3 100755..100644
--- a/nim/wordrecg.pas
+++ b/nim/wordrecg.pas
diff --git a/nimrod.aip b/nimrod.aip
index 4d1439db4..4d1439db4 100755..100644
--- a/nimrod.aip
+++ b/nimrod.aip
diff --git a/obj/empty.txt b/obj/empty.txt
index 20f9a91e3..20f9a91e3 100755..100644
--- a/obj/empty.txt
+++ b/obj/empty.txt
diff --git a/readme.txt b/readme.txt
index e82127715..bfff6217b 100755..100644
--- a/readme.txt
+++ b/readme.txt
@@ -6,12 +6,12 @@ This is the **Nimrod Compiler**. Nimrod is a new statically typed, imperative
 programming language, that supports procedural, functional, object oriented and 
 generic programming styles while remaining simple and efficient. A special 
 feature that Nimrod inherited from Lisp is that Nimrod's abstract syntax tree
-(AST) is part ofthe specification - this allows a powerful macro system which 
+(AST) is part of the specification - this allows a powerful macro system which 
 can be used to create domain specific languages.
 
 *Nimrod* is a compiled, garbage-collected systems programming language 
 which has an excellent productivity/performance ratio. Nimrod's design 
-focusses on the 3E: efficiency, expressiveness, elegance (in the order of 
+focuses on the 3E: efficiency, expressiveness, elegance (in the order of 
 priority). 
 
 See the file ``install.txt`` for installation instructions. See the file
diff --git a/rod/readme.txt b/rod/readme.txt
index dbd14d459..dbd14d459 100755..100644
--- a/rod/readme.txt
+++ b/rod/readme.txt
diff --git a/tests/bench/GCBench.c b/tests/bench/GCBench.c
index c9e77d191..c9e77d191 100755..100644
--- a/tests/bench/GCBench.c
+++ b/tests/bench/GCBench.c
diff --git a/tests/bench/GCBench.cpp b/tests/bench/GCBench.cpp
index bd5e286a7..bd5e286a7 100755..100644
--- a/tests/bench/GCBench.cpp
+++ b/tests/bench/GCBench.cpp
diff --git a/tests/bench/GCBench.java b/tests/bench/GCBench.java
index ec9b93de8..ec9b93de8 100755..100644
--- a/tests/bench/GCBench.java
+++ b/tests/bench/GCBench.java
diff --git a/tests/bench/GCBench_OGC.cpp b/tests/bench/GCBench_OGC.cpp
index 2669da603..2669da603 100755..100644
--- a/tests/bench/GCBench_OGC.cpp
+++ b/tests/bench/GCBench_OGC.cpp
diff --git a/tests/bench/gcbench.nim b/tests/bench/gcbench.nim
index 9f69b0cdc..9f69b0cdc 100755..100644
--- a/tests/bench/gcbench.nim
+++ b/tests/bench/gcbench.nim
diff --git a/tests/bench/prof.c b/tests/bench/prof.c
index cd91fa339..cd91fa339 100755..100644
--- a/tests/bench/prof.c
+++ b/tests/bench/prof.c
diff --git a/tests/gc.bpf b/tests/gc.bpf
index e56372389..e56372389 100755..100644
--- a/tests/gc.bpf
+++ b/tests/gc.bpf
diff --git a/tests/gc.bpr b/tests/gc.bpr
index 8e72b1d86..8e72b1d86 100755..100644
--- a/tests/gc.bpr
+++ b/tests/gc.bpr
diff --git a/tests/gctest.nim b/tests/gctest.nim
index b0f5ff8ce..b0f5ff8ce 100755..100644
--- a/tests/gctest.nim
+++ b/tests/gctest.nim
diff --git a/tests/gtk/ex1.nim b/tests/gtk/ex1.nim
index aa3ed2f66..aa3ed2f66 100755..100644
--- a/tests/gtk/ex1.nim
+++ b/tests/gtk/ex1.nim
diff --git a/tests/gtk/ex2.nim b/tests/gtk/ex2.nim
index 80ff6f104..80ff6f104 100755..100644
--- a/tests/gtk/ex2.nim
+++ b/tests/gtk/ex2.nim
diff --git a/tests/gtk/ex3.nim b/tests/gtk/ex3.nim
index 460b1e4dc..460b1e4dc 100755..100644
--- a/tests/gtk/ex3.nim
+++ b/tests/gtk/ex3.nim
diff --git a/tests/gtk/ex4.nim b/tests/gtk/ex4.nim
index a387da972..a387da972 100755..100644
--- a/tests/gtk/ex4.nim
+++ b/tests/gtk/ex4.nim
diff --git a/tests/gtk/ex5.nim b/tests/gtk/ex5.nim
index 3a5b076c6..3a5b076c6 100755..100644
--- a/tests/gtk/ex5.nim
+++ b/tests/gtk/ex5.nim
diff --git a/tests/gtk/ex6.nim b/tests/gtk/ex6.nim
index 5f18786fe..5f18786fe 100755..100644
--- a/tests/gtk/ex6.nim
+++ b/tests/gtk/ex6.nim
diff --git a/tests/gtk/ex7.nim b/tests/gtk/ex7.nim
index 53890d1e1..53890d1e1 100755..100644
--- a/tests/gtk/ex7.nim
+++ b/tests/gtk/ex7.nim
diff --git a/tests/gtk/ex8.nim b/tests/gtk/ex8.nim
index acbba2258..acbba2258 100755..100644
--- a/tests/gtk/ex8.nim
+++ b/tests/gtk/ex8.nim
diff --git a/tests/gtk/ex9.nim b/tests/gtk/ex9.nim
index 79b335044..79b335044 100755..100644
--- a/tests/gtk/ex9.nim
+++ b/tests/gtk/ex9.nim
diff --git a/tests/hallo.bpf b/tests/hallo.bpf
index 530b73a54..530b73a54 100755..100644
--- a/tests/hallo.bpf
+++ b/tests/hallo.bpf
diff --git a/tests/hallo.bpr b/tests/hallo.bpr
index 9ba49b99c..9ba49b99c 100755..100644
--- a/tests/hallo.bpr
+++ b/tests/hallo.bpr
diff --git a/tests/iotest.bpf b/tests/iotest.bpf
index 2294271cc..2294271cc 100755..100644
--- a/tests/iotest.bpf
+++ b/tests/iotest.bpf
diff --git a/tests/iotest.bpr b/tests/iotest.bpr
index 187918550..187918550 100755..100644
--- a/tests/iotest.bpr
+++ b/tests/iotest.bpr
diff --git a/tests/mambsym1.nim b/tests/mambsym1.nim
index 1f7b43b02..1f7b43b02 100755..100644
--- a/tests/mambsym1.nim
+++ b/tests/mambsym1.nim
diff --git a/tests/mambsym2.nim b/tests/mambsym2.nim
index a30009f36..a30009f36 100755..100644
--- a/tests/mambsym2.nim
+++ b/tests/mambsym2.nim
diff --git a/tests/mambsys1.nim b/tests/mambsys1.nim
index 5472b5ae4..5472b5ae4 100755..100644
--- a/tests/mambsys1.nim
+++ b/tests/mambsys1.nim
diff --git a/tests/mambsys2.nim b/tests/mambsys2.nim
index 395425b86..395425b86 100755..100644
--- a/tests/mambsys2.nim
+++ b/tests/mambsys2.nim
diff --git a/tests/minit.nim b/tests/minit.nim
index ce4cd23fa..ce4cd23fa 100755..100644
--- a/tests/minit.nim
+++ b/tests/minit.nim
diff --git a/tests/mnamspc1.nim b/tests/mnamspc1.nim
index da13c5f24..da13c5f24 100755..100644
--- a/tests/mnamspc1.nim
+++ b/tests/mnamspc1.nim
diff --git a/tests/mnamspc2.nim b/tests/mnamspc2.nim
index 84ef8533e..84ef8533e 100755..100644
--- a/tests/mnamspc2.nim
+++ b/tests/mnamspc2.nim
diff --git a/tests/mopaque.nim b/tests/mopaque.nim
index 17b8bba62..17b8bba62 100755..100644
--- a/tests/mopaque.nim
+++ b/tests/mopaque.nim
diff --git a/tests/mrecmod.nim b/tests/mrecmod.nim
index fab9654d5..fab9654d5 100755..100644
--- a/tests/mrecmod.nim
+++ b/tests/mrecmod.nim
diff --git a/tests/mvarious.nim b/tests/mvarious.nim
index 333b34d33..333b34d33 100755..100644
--- a/tests/mvarious.nim
+++ b/tests/mvarious.nim
diff --git a/tests/readme.txt b/tests/readme.txt
index c8704f304..c8704f304 100755..100644
--- a/tests/readme.txt
+++ b/tests/readme.txt
diff --git a/tests/rectest/rectest.nim b/tests/rectest/rectest.nim
index f08306cfd..f08306cfd 100755..100644
--- a/tests/rectest/rectest.nim
+++ b/tests/rectest/rectest.nim
diff --git a/tests/scantest.nim b/tests/scantest.nim
index 559938d8e..559938d8e 100755..100644
--- a/tests/scantest.nim
+++ b/tests/scantest.nim
diff --git a/tests/sdltest.nim b/tests/sdltest.nim
index bac905b0c..bac905b0c 100755..100644
--- a/tests/sdltest.nim
+++ b/tests/sdltest.nim
diff --git a/tests/seqcon.bpf b/tests/seqcon.bpf
index 0f4cad131..0f4cad131 100755..100644
--- a/tests/seqcon.bpf
+++ b/tests/seqcon.bpf
diff --git a/tests/seqcon.bpr b/tests/seqcon.bpr
index 9160b20ee..9160b20ee 100755..100644
--- a/tests/seqcon.bpr
+++ b/tests/seqcon.bpr
diff --git a/tests/tack.nim b/tests/tack.nim
index 254f37d3c..254f37d3c 100755..100644
--- a/tests/tack.nim
+++ b/tests/tack.nim
diff --git a/tests/tambsym.nim b/tests/tambsym.nim
index e2032e563..e2032e563 100755..100644
--- a/tests/tambsym.nim
+++ b/tests/tambsym.nim
diff --git a/tests/tambsys.nim b/tests/tambsys.nim
index e6800566b..e6800566b 100755..100644
--- a/tests/tambsys.nim
+++ b/tests/tambsys.nim
diff --git a/tests/tarray.nim b/tests/tarray.nim
index b2a6f0011..b2a6f0011 100755..100644
--- a/tests/tarray.nim
+++ b/tests/tarray.nim
diff --git a/tests/tarrindx.nim b/tests/tarrindx.nim
index caacff22b..caacff22b 100755..100644
--- a/tests/tarrindx.nim
+++ b/tests/tarrindx.nim
diff --git a/tests/tassert.nim b/tests/tassert.nim
index cb53153be..cb53153be 100755..100644
--- a/tests/tassert.nim
+++ b/tests/tassert.nim
diff --git a/tests/tassign.nim b/tests/tassign.nim
index 8f98ad0f3..8f98ad0f3 100755..100644
--- a/tests/tassign.nim
+++ b/tests/tassign.nim
diff --git a/tests/tblock1.nim b/tests/tblock1.nim
index 3119be9c1..3119be9c1 100755..100644
--- a/tests/tblock1.nim
+++ b/tests/tblock1.nim
diff --git a/tests/tcasestm.nim b/tests/tcasestm.nim
index ef3f2dfc9..ef3f2dfc9 100755..100644
--- a/tests/tcasestm.nim
+++ b/tests/tcasestm.nim
diff --git a/tests/tcmdline.nim b/tests/tcmdline.nim
index f43aecafa..f43aecafa 100755..100644
--- a/tests/tcmdline.nim
+++ b/tests/tcmdline.nim
diff --git a/tests/tconstr1.nim b/tests/tconstr1.nim
index 0ff7def97..0ff7def97 100755..100644
--- a/tests/tconstr1.nim
+++ b/tests/tconstr1.nim
diff --git a/tests/tconstr2.nim b/tests/tconstr2.nim
index 9dc64e59d..9dc64e59d 100755..100644
--- a/tests/tconstr2.nim
+++ b/tests/tconstr2.nim
diff --git a/tests/tcopy.nim b/tests/tcopy.nim
index efbe65ea4..efbe65ea4 100755..100644
--- a/tests/tcopy.nim
+++ b/tests/tcopy.nim
diff --git a/tests/tdialogs.nim b/tests/tdialogs.nim
index 90f241cdf..90f241cdf 100755..100644
--- a/tests/tdialogs.nim
+++ b/tests/tdialogs.nim
diff --git a/tests/tendian.nim b/tests/tendian.nim
index 256e2653c..256e2653c 100755..100644
--- a/tests/tendian.nim
+++ b/tests/tendian.nim
diff --git a/tests/tenum.nim b/tests/tenum.nim
index 6e53b9c08..6e53b9c08 100755..100644
--- a/tests/tenum.nim
+++ b/tests/tenum.nim
diff --git a/tests/tformat.nim b/tests/tformat.nim
index 01be0df3a..01be0df3a 100755..100644
--- a/tests/tformat.nim
+++ b/tests/tformat.nim
diff --git a/tests/tforwty.nim b/tests/tforwty.nim
index 3c43819aa..3c43819aa 100755..100644
--- a/tests/tforwty.nim
+++ b/tests/tforwty.nim
diff --git a/tests/tforwty2.nim b/tests/tforwty2.nim
index 1e1bb7f55..1e1bb7f55 100755..100644
--- a/tests/tforwty2.nim
+++ b/tests/tforwty2.nim
diff --git a/tests/tgeneric.nim b/tests/tgeneric.nim
index 276fe810d..276fe810d 100755..100644
--- a/tests/tgeneric.nim
+++ b/tests/tgeneric.nim
diff --git a/tests/tgtk.nim b/tests/tgtk.nim
index cd9254e4f..cd9254e4f 100755..100644
--- a/tests/tgtk.nim
+++ b/tests/tgtk.nim
diff --git a/tests/thallo.dot b/tests/thallo.dot
index d75155a10..d75155a10 100755..100644
--- a/tests/thallo.dot
+++ b/tests/thallo.dot
diff --git a/tests/thallo.nim b/tests/thallo.nim
index d8c6b3bef..d8c6b3bef 100755..100644
--- a/tests/thallo.nim
+++ b/tests/thallo.nim
diff --git a/tests/tillrec.nim b/tests/tillrec.nim
index 7c3e5f628..7c3e5f628 100755..100644
--- a/tests/tillrec.nim
+++ b/tests/tillrec.nim
diff --git a/tests/tinit.nim b/tests/tinit.nim
index e882fa921..e882fa921 100755..100644
--- a/tests/tinit.nim
+++ b/tests/tinit.nim
diff --git a/tests/tinout.nim b/tests/tinout.nim
index fb7f3b8fd..fb7f3b8fd 100755..100644
--- a/tests/tinout.nim
+++ b/tests/tinout.nim
diff --git a/tests/tinvwhen.nim b/tests/tinvwhen.nim
index aa528a22e..aa528a22e 100755..100644
--- a/tests/tinvwhen.nim
+++ b/tests/tinvwhen.nim
diff --git a/tests/tio.nim b/tests/tio.nim
index ce024f754..ce024f754 100755..100644
--- a/tests/tio.nim
+++ b/tests/tio.nim
diff --git a/tests/titer.nim b/tests/titer.nim
index 736ba3155..736ba3155 100755..100644
--- a/tests/titer.nim
+++ b/tests/titer.nim
diff --git a/tests/tlastmod.nim b/tests/tlastmod.nim
index af00e5bf4..af00e5bf4 100755..100644
--- a/tests/tlastmod.nim
+++ b/tests/tlastmod.nim
diff --git a/tests/tloops.nim b/tests/tloops.nim
index de3f4a777..de3f4a777 100755..100644
--- a/tests/tloops.nim
+++ b/tests/tloops.nim
diff --git a/tests/tlowhigh.nim b/tests/tlowhigh.nim
index 6553da2b5..6553da2b5 100755..100644
--- a/tests/tlowhigh.nim
+++ b/tests/tlowhigh.nim
diff --git a/tests/tmath.nim b/tests/tmath.nim
index d640f04d9..d640f04d9 100755..100644
--- a/tests/tmath.nim
+++ b/tests/tmath.nim
diff --git a/tests/tnamspc.nim b/tests/tnamspc.nim
index eddaacfd8..eddaacfd8 100755..100644
--- a/tests/tnamspc.nim
+++ b/tests/tnamspc.nim
diff --git a/tests/tnestif.nim b/tests/tnestif.nim
index 673aca062..673aca062 100755..100644
--- a/tests/tnestif.nim
+++ b/tests/tnestif.nim
diff --git a/tests/tnew.bpf b/tests/tnew.bpf
index ab5aa4dbe..ab5aa4dbe 100755..100644
--- a/tests/tnew.bpf
+++ b/tests/tnew.bpf
diff --git a/tests/tnew.bpr b/tests/tnew.bpr
index 3a7b2e0bf..3a7b2e0bf 100755..100644
--- a/tests/tnew.bpr
+++ b/tests/tnew.bpr
diff --git a/tests/tnew.nim b/tests/tnew.nim
index 813bb9433..813bb9433 100755..100644
--- a/tests/tnew.nim
+++ b/tests/tnew.nim
diff --git a/tests/tnewsets.nim b/tests/tnewsets.nim
index 415fe8f7e..415fe8f7e 100755..100644
--- a/tests/tnewsets.nim
+++ b/tests/tnewsets.nim
diff --git a/tests/tnewuns.nim b/tests/tnewuns.nim
index 5181e467c..5181e467c 100755..100644
--- a/tests/tnewuns.nim
+++ b/tests/tnewuns.nim
diff --git a/tests/tnoop.nim b/tests/tnoop.nim
index 3a19579ab..3a19579ab 100755..100644
--- a/tests/tnoop.nim
+++ b/tests/tnoop.nim
diff --git a/tests/tobject2.nim b/tests/tobject2.nim
index 2853adc28..2853adc28 100755..100644
--- a/tests/tobject2.nim
+++ b/tests/tobject2.nim
diff --git a/tests/tobjects.nim b/tests/tobjects.nim
index 54e1bd3ac..54e1bd3ac 100755..100644
--- a/tests/tobjects.nim
+++ b/tests/tobjects.nim
diff --git a/tests/topaque.nim b/tests/topaque.nim
index 7553a749e..7553a749e 100755..100644
--- a/tests/topaque.nim
+++ b/tests/topaque.nim
diff --git a/tests/toptions.nim b/tests/toptions.nim
index 2d15dd348..2d15dd348 100755..100644
--- a/tests/toptions.nim
+++ b/tests/toptions.nim
diff --git a/tests/toverflw.nim b/tests/toverflw.nim
index 97234d702..97234d702 100755..100644
--- a/tests/toverflw.nim
+++ b/tests/toverflw.nim
diff --git a/tests/toverl.nim b/tests/toverl.nim
index 469cfb934..469cfb934 100755..100644
--- a/tests/toverl.nim
+++ b/tests/toverl.nim
diff --git a/tests/toverlop.nim b/tests/toverlop.nim
index 038760ae5..038760ae5 100755..100644
--- a/tests/toverlop.nim
+++ b/tests/toverlop.nim
diff --git a/tests/toverwr.nim b/tests/toverwr.nim
index c3652d168..c3652d168 100755..100644
--- a/tests/toverwr.nim
+++ b/tests/toverwr.nim
diff --git a/tests/tovfint.nim b/tests/tovfint.nim
index 223e78331..223e78331 100755..100644
--- a/tests/tovfint.nim
+++ b/tests/tovfint.nim
diff --git a/tests/tparedef.nim b/tests/tparedef.nim
index dedebf6b7..dedebf6b7 100755..100644
--- a/tests/tparedef.nim
+++ b/tests/tparedef.nim
diff --git a/tests/tpos.nim b/tests/tpos.nim
index 9d3223d24..9d3223d24 100755..100644
--- a/tests/tpos.nim
+++ b/tests/tpos.nim
diff --git a/tests/tposix.nim b/tests/tposix.nim
index 87ea3acaf..87ea3acaf 100755..100644
--- a/tests/tposix.nim
+++ b/tests/tposix.nim
diff --git a/tests/tprep.nim b/tests/tprep.nim
index 3e8068872..3e8068872 100755..100644
--- a/tests/tprep.nim
+++ b/tests/tprep.nim
diff --git a/tests/tprintf.nim b/tests/tprintf.nim
index 65427d463..65427d463 100755..100644
--- a/tests/tprintf.nim
+++ b/tests/tprintf.nim
diff --git a/tests/tprocvar.nim b/tests/tprocvar.nim
index da757f682..da757f682 100755..100644
--- a/tests/tprocvar.nim
+++ b/tests/tprocvar.nim
diff --git a/tests/tpush.nim b/tests/tpush.nim
index c1be04ec7..c1be04ec7 100755..100644
--- a/tests/tpush.nim
+++ b/tests/tpush.nim
diff --git a/tests/tquit.nim b/tests/tquit.nim
index fedaa58b4..fedaa58b4 100755..100644
--- a/tests/tquit.nim
+++ b/tests/tquit.nim
diff --git a/tests/trawstr.nim b/tests/trawstr.nim
index 7b2db0335..7b2db0335 100755..100644
--- a/tests/trawstr.nim
+++ b/tests/trawstr.nim
diff --git a/tests/treadln.nim b/tests/treadln.nim
index 3968f02d0..3968f02d0 100755..100644
--- a/tests/treadln.nim
+++ b/tests/treadln.nim
diff --git a/tests/trecmod.nim b/tests/trecmod.nim
index 9d39d3ff7..9d39d3ff7 100755..100644
--- a/tests/trecmod.nim
+++ b/tests/trecmod.nim
diff --git a/tests/trectype.nim b/tests/trectype.nim
index 4582d6d41..4582d6d41 100755..100644
--- a/tests/trectype.nim
+++ b/tests/trectype.nim
diff --git a/tests/trefs.nim b/tests/trefs.nim
index 138d3eb93..138d3eb93 100755..100644
--- a/tests/trefs.nim
+++ b/tests/trefs.nim
diff --git a/tests/tregex.nim b/tests/tregex.nim
index 344f330df..344f330df 100755..100644
--- a/tests/tregex.nim
+++ b/tests/tregex.nim
diff --git a/tests/treguse.nim b/tests/treguse.nim
index 054866037..054866037 100755..100644
--- a/tests/treguse.nim
+++ b/tests/treguse.nim
diff --git a/tests/trepr.nim b/tests/trepr.nim
index 9dd1c2b82..9dd1c2b82 100755..100644
--- a/tests/trepr.nim
+++ b/tests/trepr.nim
diff --git a/tests/tseqcon.nim b/tests/tseqcon.nim
index dbeb6a4ef..dbeb6a4ef 100755..100644
--- a/tests/tseqcon.nim
+++ b/tests/tseqcon.nim
diff --git a/tests/tsets.nim b/tests/tsets.nim
index 2a01292f3..2a01292f3 100755..100644
--- a/tests/tsets.nim
+++ b/tests/tsets.nim
diff --git a/tests/tsimtych.nim b/tests/tsimtych.nim
index b100c62e3..b100c62e3 100755..100644
--- a/tests/tsimtych.nim
+++ b/tests/tsimtych.nim
diff --git a/tests/tsizeof.nim b/tests/tsizeof.nim
index cd29643a8..cd29643a8 100755..100644
--- a/tests/tsizeof.nim
+++ b/tests/tsizeof.nim
diff --git a/tests/tstatret.nim b/tests/tstatret.nim
index e5403d98b..e5403d98b 100755..100644
--- a/tests/tstatret.nim
+++ b/tests/tstatret.nim
diff --git a/tests/tstmtexp.nim b/tests/tstmtexp.nim
index f50cce01b..f50cce01b 100755..100644
--- a/tests/tstmtexp.nim
+++ b/tests/tstmtexp.nim
diff --git a/tests/tstrace.nim b/tests/tstrace.nim
index 56f20a0dd..56f20a0dd 100755..100644
--- a/tests/tstrace.nim
+++ b/tests/tstrace.nim
diff --git a/tests/tstrange.nim b/tests/tstrange.nim
index 13aab2302..13aab2302 100755..100644
--- a/tests/tstrange.nim
+++ b/tests/tstrange.nim
diff --git a/tests/tstrdesc.nim b/tests/tstrdesc.nim
index 58e8b7842..58e8b7842 100755..100644
--- a/tests/tstrdesc.nim
+++ b/tests/tstrdesc.nim
diff --git a/tests/tstrdist.nim b/tests/tstrdist.nim
index 99d685eab..99d685eab 100755..100644
--- a/tests/tstrdist.nim
+++ b/tests/tstrdist.nim
diff --git a/tests/tstrutil.nim b/tests/tstrutil.nim
index 9ed2ace3a..9ed2ace3a 100755..100644
--- a/tests/tstrutil.nim
+++ b/tests/tstrutil.nim
diff --git a/tests/ttime.nim b/tests/ttime.nim
index 783032bc9..783032bc9 100755..100644
--- a/tests/ttime.nim
+++ b/tests/ttime.nim
diff --git a/tests/tvardecl.nim b/tests/tvardecl.nim
index 48473ff9d..48473ff9d 100755..100644
--- a/tests/tvardecl.nim
+++ b/tests/tvardecl.nim
diff --git a/tests/tvarious.nim b/tests/tvarious.nim
index 1c15a87ba..1c15a87ba 100755..100644
--- a/tests/tvarious.nim
+++ b/tests/tvarious.nim
diff --git a/tests/tvarnums.nim b/tests/tvarnums.nim
index f77478081..f77478081 100755..100644
--- a/tests/tvarnums.nim
+++ b/tests/tvarnums.nim
diff --git a/tests/twalker.nim b/tests/twalker.nim
index acdca9362..acdca9362 100755..100644
--- a/tests/twalker.nim
+++ b/tests/twalker.nim
diff --git a/tests/typredef.nim b/tests/typredef.nim
index 2dd5e0446..2dd5e0446 100755..100644
--- a/tests/typredef.nim
+++ b/tests/typredef.nim
diff --git a/tests/walker.bpf b/tests/walker.bpf
index 819d6b63a..819d6b63a 100755..100644
--- a/tests/walker.bpf
+++ b/tests/walker.bpf
diff --git a/tests/walker.bpr b/tests/walker.bpr
index 6b702f59f..6b702f59f 100755..100644
--- a/tests/walker.bpr
+++ b/tests/walker.bpr
diff --git a/tests/wingui.nim b/tests/wingui.nim
index f4941bcc7..f4941bcc7 100755..100644
--- a/tests/wingui.nim
+++ b/tests/wingui.nim
diff --git a/todo.txt b/todo.txt
index 8189f715d..8189f715d 100755..100644
--- a/todo.txt
+++ b/todo.txt
diff --git a/unix2dos.py b/unix2dos.py
index a3561a464..a3561a464 100755..100644
--- a/unix2dos.py
+++ b/unix2dos.py
diff --git a/web/documentation.txt b/web/documentation.txt
index da0313c32..da0313c32 100755..100644
--- a/web/documentation.txt
+++ b/web/documentation.txt
diff --git a/web/docutils.tmpl b/web/docutils.tmpl
index 92aee1b52..92aee1b52 100755..100644
--- a/web/docutils.tmpl
+++ b/web/docutils.tmpl
diff --git a/web/download.txt b/web/download.txt
index a34973429..e58af7840 100755..100644
--- a/web/download.txt
+++ b/web/download.txt
@@ -4,7 +4,8 @@
 Here you can download the latest version of the Nimrod Compiler.
 Please choose your platform:
 
-* binary and source for Windows (95, 98, XP): `<download/nimrod_win_0.7.0.exe>`_
-* source for Unix (including MacOS X): `<download/nimrod_unix_0.7.0.zip>`_
+* source for Unix (including MacOS X): `<download/nimrod_unix_0.5.1.zip>`_
+* binary and source for Windows (95, 98, XP): `<download/nimrod_windows_0.5.1.zip>`_
+  (includes LLVM and everything else you need)
 
 .. include:: ../install.txt
diff --git a/web/genweb.py b/web/genweb.py
index c3c1c93b1..c3c1c93b1 100755..100644
--- a/web/genweb.py
+++ b/web/genweb.py
diff --git a/web/index.txt b/web/index.txt
index daf950823..c689a6ce7 100755..100644
--- a/web/index.txt
+++ b/web/index.txt
@@ -17,18 +17,18 @@ Welcome to the Nimrod programming language
 programming language, that supports procedural, functional, object oriented and 
 generic programming styles while remaining simple and efficient. A special 
 feature that Nimrod inherited from Lisp is that Nimrod's abstract syntax tree
-(*AST*) is part ofthe specification - this allows a powerful macro system which 
+(*AST*) is part of the specification - this allows a powerful macro system which 
 can be used to create domain specific languages.
 
 *Nimrod* is a compiled, garbage-collected systems programming language 
 which has an excellent productivity/performance ratio. Nimrod's design 
-focusses on the 3E: efficiency, expressiveness, elegance (in the order of 
+focuses on the 3E: efficiency, expressiveness, elegance (in the order of 
 priority). 
 
 
 Some more of Nimrod's highlights:
 
-* Native code (currently via compilation to C).
+* Native code generation (currently via compilation to C).
 * Garbage collection, but not dependant on a Virtual Machine.
 * Portable: The Nimrod Compiler runs on Windows, Linux and Mac OS X.
   Porting to other platforms is easy.
@@ -38,12 +38,12 @@ Some more of Nimrod's highlights:
 * Exceptions.
 * Modern type system with local type inference, tuples, variants, etc.
 * User-defineable operators; new operators often easier to read than overloaded
-  ones
+  ones.
 * High level datatypes: strings, sets, sequences, etc.
 * Compile time evaluation without resorting to meta-programming facilities.
-* *Forward* compatibility: If later versions of the language introduce new
+* *Forward* compability: If later versions of the language introduce new
   keywords old code won't break!
-* Bindings to GTK2, X11, the Windows API, the POSIX API. New bindings are 
+* Bindings to GTK2, the Windows API, the POSIX API. New bindings are 
   easily generated in a semi-atomatic way. 
 * A plugable parser system: If you don't like Nimrod's syntax, you can plug in
   a parser and a source renderer for your own syntax!
diff --git a/web/links.txt b/web/links.txt
index 82389f327..baaf36144 100755..100644
--- a/web/links.txt
+++ b/web/links.txt
@@ -1 +1 @@
-Currently there are no links to other Nimrod-related sites.
+Visit our project page at Launchpad: https://launchpad.net/nimrod.
diff --git a/web/news.txt b/web/news.txt
index d54acd7b2..d92bbfe40 100755..100644
--- a/web/news.txt
+++ b/web/news.txt
@@ -1,7 +1,8 @@
-| `2008-01-12`:newsdate:
-| Nimrod version 0.8.0 has been released!
+| `2008-06-23`:newsdate:
+| Nimrod version |nimrodversion| has been released!
   Get it `here <./download.html>`_.
 
 
-| `2008-01-06`:newsdate:
+| `2008-06-22`:newsdate:
 | This page is finally online!
+
diff --git a/web/question.txt b/web/question.txt
index aee12a1e6..40f9ea67e 100755..100644
--- a/web/question.txt
+++ b/web/question.txt
@@ -22,11 +22,10 @@ Especially GCC's compile times are a bad joke. On Linux you may be able to get
 compile times. You should not use TCC for producing the release version

 though, as it has no optimizer.

 

-Experimental features are the *AST cache* and the *C file cache*. Both

-are not activated. To activate, add to your ``nimrod.cfg`` file the following

-lines::

+An experimental feature is the *C file cache*. It is not

+activated. To activate, add to your ``nimrod.cfg`` file the following

+line::

 

-  --ast_cache:on

   --c_file_cache:on

 

 

@@ -68,6 +67,11 @@ If your C compiler is not in the above list, try using the
 different command line arguments you have to edit the ``extccomp``

 module to add support for it and recompile the compiler. Please

 contribute a patch in this case.

+
+`The linker outputs strange errors about missing symbols`:Q:
+
+I have seen this bug only with the GNU linker. The reason for this unknown. 
+Try recompiling your code with the ``--c_file_cache:off`` command line switch.
 

 

 `Calling the C compiler fails - what's wrong?`:Q:

diff --git a/web/style/back.png b/web/style/back.png
index 60faea033..60faea033 100755..100644
--- a/web/style/back.png
+++ b/web/style/back.png
Binary files differdiff --git a/web/style/graphic.jpg b/web/style/graphic.jpg
index 9d7775769..9d7775769 100755..100644
--- a/web/style/graphic.jpg
+++ b/web/style/graphic.jpg
Binary files differdiff --git a/web/style/link.png b/web/style/link.png
index 7fb049c75..7fb049c75 100755..100644
--- a/web/style/link.png
+++ b/web/style/link.png
Binary files differdiff --git a/web/style/logo.jpg b/web/style/logo.jpg
index 01c1bde9b..01c1bde9b 100755..100644
--- a/web/style/logo.jpg
+++ b/web/style/logo.jpg
Binary files differdiff --git a/web/style/menu.png b/web/style/menu.png
index 8efcaad20..8efcaad20 100755..100644
--- a/web/style/menu.png
+++ b/web/style/menu.png
Binary files differdiff --git a/web/style/menu_hover.png b/web/style/menu_hover.png
index 556801d46..556801d46 100755..100644
--- a/web/style/menu_hover.png
+++ b/web/style/menu_hover.png
Binary files differdiff --git a/web/style/sbi_header.png b/web/style/sbi_header.png
index 2f59f1d78..2f59f1d78 100755..100644
--- a/web/style/sbi_header.png
+++ b/web/style/sbi_header.png
Binary files differdiff --git a/web/style/style.css b/web/style/style.css
index 4a2620347..4a2620347 100755..100644
--- a/web/style/style.css
+++ b/web/style/style.css
diff --git a/web/sunset.tmpl b/web/sunset.tmpl
index f5ef733e6..f5ef733e6 100755..100644
--- a/web/sunset.tmpl
+++ b/web/sunset.tmpl
diff --git a/web/theindex.txt b/web/theindex.txt
index 034f07a9f..034f07a9f 100755..100644
--- a/web/theindex.txt
+++ b/web/theindex.txt
diff --git a/web/voidspace.css b/web/voidspace.css
index 050d9f0dd..050d9f0dd 100755..100644
--- a/web/voidspace.css
+++ b/web/voidspace.css
diff --git a/whiteutils.py b/whiteutils.py
index 38469858b..38469858b 100755..100644
--- a/whiteutils.py
+++ b/whiteutils.py