From 916c25f9a70b68eb7a5e2c45d7cc2e10c6e3a525 Mon Sep 17 00:00:00 2001 From: Rumpf Date: Mon, 23 Jun 2008 01:37:49 +0200 Subject: [PATCH] first release --- .bzrignore | 12 + Nimrod.geany | 0 cogapp.py | 0 config/doctempl.cfg | 0 config/nimrod.cfg | 290 ++-- configure | 0 data/advopt.txt | 0 data/ast.yml | 0 data/basicopt.txt | 0 data/ccomps.txt | 0 data/changes.txt | 0 data/keywords.txt | 0 data/magic.yml | 0 data/messages.yml | 0 data/pas_keyw.yml | 0 data/readme.txt | 0 dist/empty.txt | 0 doc/docs.txt | 0 doc/endb.txt | 0 doc/filelist.txt | 0 doc/grammar.txt | 0 doc/html/empty.txt | 0 doc/intern.txt | 84 +- doc/lib.txt | 0 doc/manual.txt | 0 doc/nimdoc.css | 0 doc/nimrodc.txt | 0 doc/overview.txt | 0 doc/posix.txt | 0 doc/readme.txt | 0 doc/regexprs.txt | 0 doc/rst.txt | 0 doc/spec.txt | 0 doc/theindex.txt | 2873 ++++++++++++++++++----------------- doc/tutorial.txt | 0 dos2unix.py | 0 gcccpuopt.sh | 0 ide/main.nim | 0 ide/nimide.glade | 0 install.txt | 50 +- koch.py | 129 +- kochmod.py | 0 lib/amd64.asm.in | 0 lib/ansi_c.nim | 0 lib/arithm.nim | 0 lib/assign.nim | 0 lib/base/dialogs.nim | 0 lib/base/gtk/atk.nim | 0 lib/base/gtk/gdk2.nim | 0 lib/base/gtk/gdk2pixbuf.nim | 0 lib/base/gtk/gdkglext.nim | 0 lib/base/gtk/glib2.nim | 0 lib/base/gtk/gtk2.nim | 0 lib/base/gtk/gtkglext.nim | 0 lib/base/gtk/gtkhtml.nim | 0 lib/base/gtk/libglade2.nim | 0 lib/base/gtk/pango.nim | 0 lib/base/gtk/pangoutils.nim | 0 lib/base/nregex.nim | 0 lib/base/pcre.nim | 0 lib/base/pcre_all.c | 0 lib/base/regexprs.nim | 0 lib/cntbits.nim | 0 lib/complex.nim | 0 lib/copying.txt | 0 lib/debugger.nim | 0 lib/dlmalloc.c | 0 lib/dlmalloc.h | 0 lib/dyncalls.nim | 0 lib/excpt.nim | 0 lib/gc.nim | 0 lib/hti.nim | 0 lib/i386.asm.in | 0 lib/int64s.nim | 0 lib/lgpl.txt | 0 lib/locks.nim | 0 lib/math.nim | 0 lib/memman.nim | 0 lib/nimbase.h | 0 lib/optparse.nim | 0 lib/os.nim | 7 + lib/posix/posix.nim | 0 lib/powerpc.asm.in | 0 lib/process.nim | 0 lib/ptrset.nim | 0 lib/repr.nim | 0 lib/sets.nim | 0 lib/strutils.nim | 0 lib/sysio.nim | 0 lib/sysstr.nim | 0 lib/system.nim | 0 lib/times.nim | 0 lib/typeinfo.nim | 0 lib/unicode.nim | 0 lib/windows/mmsystem.nim | 0 lib/windows/nb30.nim | 0 lib/windows/ole2.nim | 0 lib/windows/shellapi.nim | 0 lib/windows/shfolder.nim | 0 lib/windows/windows.nim | 0 makefile | 0 nim/ast.pas | 0 nim/astalgo.pas | 0 nim/backends.pas | 0 nim/bitsets.pas | 0 nim/ccgexprs.pas | 0 nim/ccgstmts.pas | 0 nim/ccgtypes.pas | 0 nim/ccgutils.pas | 0 nim/cgen.pas | 5 +- nim/charsets.pas | 0 nim/commands.pas | 0 nim/condsyms.pas | 0 nim/config.inc | 0 nim/copying.txt | 0 nim/crc.pas | 0 nim/docgen.pas | 0 nim/eval.pas | 0 nim/extccomp.pas | 19 +- nim/genhelp.pas | 0 nim/gpl.html | 0 nim/hashes.pas | 0 nim/highlite.pas | 0 nim/idents.pas | 0 nim/importer.pas | 0 nim/instgen.pas | 0 nim/lexbase.pas | 0 nim/lists.pas | 0 nim/llvmdyn.pas | 0 nim/llvmstat.pas | 0 nim/lookup.pas | 0 nim/magicsys.pas | 0 nim/main.pas | 0 nim/msgs.pas | 0 nim/nimconf.pas | 0 nim/nimrod.pas | 0 nim/nimsets.pas | 0 nim/nmath.pas | 0 nim/nos.pas | 0 nim/nsystem.pas | 0 nim/ntime.pas | 0 nim/nversion.pas | 82 +- nim/options.pas | 0 nim/paslex.pas | 0 nim/pasparse.pas | 0 nim/platform.pas | 0 nim/pnimsyn.pas | 0 nim/pragmas.pas | 0 nim/procfind.pas | 0 nim/readme.txt | 0 nim/rnimsyn.pas | 0 nim/rodgen.pas | 0 nim/ropes.pas | 0 nim/rst.pas | 0 nim/scanner.pas | 0 nim/sem.pas | 0 nim/semexprs.pas | 0 nim/semfold.pas | 0 nim/semstmts.pas | 0 nim/semtempl.pas | 0 nim/semtypes.pas | 0 nim/sigmatch.pas | 0 nim/strutils.pas | 0 nim/syntaxes.pas | 0 nim/transf.pas | 0 nim/transtmp.pas | 0 nim/trees.pas | 0 nim/treetab.pas | 0 nim/types.pas | 0 nim/vis.pas | 0 nim/wordrecg.pas | 0 nimrod.aip | 0 obj/empty.txt | 0 readme.txt | 4 +- rod/readme.txt | 0 tests/bench/GCBench.c | 0 tests/bench/GCBench.cpp | 0 tests/bench/GCBench.java | 0 tests/bench/GCBench_OGC.cpp | 0 tests/bench/gcbench.nim | 0 tests/bench/prof.c | 0 tests/gc.bpf | 0 tests/gc.bpr | 0 tests/gctest.nim | 0 tests/gtk/ex1.nim | 0 tests/gtk/ex2.nim | 0 tests/gtk/ex3.nim | 0 tests/gtk/ex4.nim | 0 tests/gtk/ex5.nim | 0 tests/gtk/ex6.nim | 0 tests/gtk/ex7.nim | 0 tests/gtk/ex8.nim | 0 tests/gtk/ex9.nim | 0 tests/hallo.bpf | 0 tests/hallo.bpr | 0 tests/iotest.bpf | 0 tests/iotest.bpr | 0 tests/mambsym1.nim | 0 tests/mambsym2.nim | 0 tests/mambsys1.nim | 0 tests/mambsys2.nim | 0 tests/minit.nim | 0 tests/mnamspc1.nim | 0 tests/mnamspc2.nim | 0 tests/mopaque.nim | 0 tests/mrecmod.nim | 0 tests/mvarious.nim | 0 tests/readme.txt | 0 tests/rectest/rectest.nim | 0 tests/scantest.nim | 0 tests/sdltest.nim | 0 tests/seqcon.bpf | 0 tests/seqcon.bpr | 0 tests/tack.nim | 0 tests/tambsym.nim | 0 tests/tambsys.nim | 0 tests/tarray.nim | 0 tests/tarrindx.nim | 0 tests/tassert.nim | 0 tests/tassign.nim | 0 tests/tblock1.nim | 0 tests/tcasestm.nim | 0 tests/tcmdline.nim | 0 tests/tconstr1.nim | 0 tests/tconstr2.nim | 0 tests/tcopy.nim | 0 tests/tdialogs.nim | 0 tests/tendian.nim | 0 tests/tenum.nim | 0 tests/tformat.nim | 0 tests/tforwty.nim | 0 tests/tforwty2.nim | 0 tests/tgeneric.nim | 0 tests/tgtk.nim | 0 tests/thallo.dot | 0 tests/thallo.nim | 0 tests/tillrec.nim | 0 tests/tinit.nim | 0 tests/tinout.nim | 0 tests/tinvwhen.nim | 0 tests/tio.nim | 0 tests/titer.nim | 0 tests/tlastmod.nim | 0 tests/tloops.nim | 0 tests/tlowhigh.nim | 0 tests/tmath.nim | 0 tests/tnamspc.nim | 0 tests/tnestif.nim | 0 tests/tnew.bpf | 0 tests/tnew.bpr | 0 tests/tnew.nim | 0 tests/tnewsets.nim | 0 tests/tnewuns.nim | 0 tests/tnoop.nim | 0 tests/tobject2.nim | 0 tests/tobjects.nim | 0 tests/topaque.nim | 0 tests/toptions.nim | 0 tests/toverflw.nim | 0 tests/toverl.nim | 0 tests/toverlop.nim | 0 tests/toverwr.nim | 0 tests/tovfint.nim | 0 tests/tparedef.nim | 0 tests/tpos.nim | 0 tests/tposix.nim | 0 tests/tprep.nim | 0 tests/tprintf.nim | 0 tests/tprocvar.nim | 0 tests/tpush.nim | 0 tests/tquit.nim | 0 tests/trawstr.nim | 0 tests/treadln.nim | 0 tests/trecmod.nim | 0 tests/trectype.nim | 0 tests/trefs.nim | 0 tests/tregex.nim | 0 tests/treguse.nim | 0 tests/trepr.nim | 0 tests/tseqcon.nim | 0 tests/tsets.nim | 0 tests/tsimtych.nim | 0 tests/tsizeof.nim | 0 tests/tstatret.nim | 0 tests/tstmtexp.nim | 0 tests/tstrace.nim | 0 tests/tstrange.nim | 0 tests/tstrdesc.nim | 0 tests/tstrdist.nim | 0 tests/tstrutil.nim | 0 tests/ttime.nim | 0 tests/tvardecl.nim | 0 tests/tvarious.nim | 0 tests/tvarnums.nim | 0 tests/twalker.nim | 0 tests/typredef.nim | 0 tests/walker.bpf | 0 tests/walker.bpr | 0 tests/wingui.nim | 0 todo.txt | 0 unix2dos.py | 0 web/documentation.txt | 0 web/docutils.tmpl | 0 web/download.txt | 5 +- web/genweb.py | 0 web/index.txt | 12 +- web/links.txt | 2 +- web/news.txt | 7 +- web/question.txt | 12 +- web/style/back.png | Bin web/style/graphic.jpg | Bin web/style/link.png | Bin web/style/logo.jpg | Bin web/style/menu.png | Bin web/style/menu_hover.png | Bin web/style/sbi_header.png | Bin web/style/style.css | 0 web/sunset.tmpl | 0 web/theindex.txt | 0 web/voidspace.css | 0 whiteutils.py | 0 321 files changed, 1785 insertions(+), 1808 deletions(-) create mode 100644 .bzrignore mode change 100755 => 100644 Nimrod.geany mode change 100755 => 100644 cogapp.py mode change 100755 => 100644 config/doctempl.cfg mode change 100755 => 100644 config/nimrod.cfg mode change 100755 => 100644 configure mode change 100755 => 100644 data/advopt.txt mode change 100755 => 100644 data/ast.yml mode change 100755 => 100644 data/basicopt.txt mode change 100755 => 100644 data/ccomps.txt mode change 100755 => 100644 data/changes.txt mode change 100755 => 100644 data/keywords.txt mode change 100755 => 100644 data/magic.yml mode change 100755 => 100644 data/messages.yml mode change 100755 => 100644 data/pas_keyw.yml mode change 100755 => 100644 data/readme.txt mode change 100755 => 100644 dist/empty.txt mode change 100755 => 100644 doc/docs.txt mode change 100755 => 100644 doc/endb.txt mode change 100755 => 100644 doc/filelist.txt mode change 100755 => 100644 doc/grammar.txt mode change 100755 => 100644 doc/html/empty.txt mode change 100755 => 100644 doc/intern.txt mode change 100755 => 100644 doc/lib.txt mode change 100755 => 100644 doc/manual.txt mode change 100755 => 100644 doc/nimdoc.css mode change 100755 => 100644 doc/nimrodc.txt mode change 100755 => 100644 doc/overview.txt mode change 100755 => 100644 doc/posix.txt mode change 100755 => 100644 doc/readme.txt mode change 100755 => 100644 doc/regexprs.txt mode change 100755 => 100644 doc/rst.txt mode change 100755 => 100644 doc/spec.txt mode change 100755 => 100644 doc/theindex.txt mode change 100755 => 100644 doc/tutorial.txt mode change 100755 => 100644 dos2unix.py mode change 100755 => 100644 gcccpuopt.sh mode change 100755 => 100644 ide/main.nim mode change 100755 => 100644 ide/nimide.glade mode change 100755 => 100644 install.txt mode change 100755 => 100644 koch.py mode change 100755 => 100644 kochmod.py mode change 100755 => 100644 lib/amd64.asm.in mode change 100755 => 100644 lib/ansi_c.nim mode change 100755 => 100644 lib/arithm.nim mode change 100755 => 100644 lib/assign.nim mode change 100755 => 100644 lib/base/dialogs.nim mode change 100755 => 100644 lib/base/gtk/atk.nim mode change 100755 => 100644 lib/base/gtk/gdk2.nim mode change 100755 => 100644 lib/base/gtk/gdk2pixbuf.nim mode change 100755 => 100644 lib/base/gtk/gdkglext.nim mode change 100755 => 100644 lib/base/gtk/glib2.nim mode change 100755 => 100644 lib/base/gtk/gtk2.nim mode change 100755 => 100644 lib/base/gtk/gtkglext.nim mode change 100755 => 100644 lib/base/gtk/gtkhtml.nim mode change 100755 => 100644 lib/base/gtk/libglade2.nim mode change 100755 => 100644 lib/base/gtk/pango.nim mode change 100755 => 100644 lib/base/gtk/pangoutils.nim mode change 100755 => 100644 lib/base/nregex.nim mode change 100755 => 100644 lib/base/pcre.nim mode change 100755 => 100644 lib/base/pcre_all.c mode change 100755 => 100644 lib/base/regexprs.nim mode change 100755 => 100644 lib/cntbits.nim mode change 100755 => 100644 lib/complex.nim mode change 100755 => 100644 lib/copying.txt mode change 100755 => 100644 lib/debugger.nim mode change 100755 => 100644 lib/dlmalloc.c mode change 100755 => 100644 lib/dlmalloc.h mode change 100755 => 100644 lib/dyncalls.nim mode change 100755 => 100644 lib/excpt.nim mode change 100755 => 100644 lib/gc.nim mode change 100755 => 100644 lib/hti.nim mode change 100755 => 100644 lib/i386.asm.in mode change 100755 => 100644 lib/int64s.nim mode change 100755 => 100644 lib/lgpl.txt mode change 100755 => 100644 lib/locks.nim mode change 100755 => 100644 lib/math.nim mode change 100755 => 100644 lib/memman.nim mode change 100755 => 100644 lib/nimbase.h mode change 100755 => 100644 lib/optparse.nim mode change 100755 => 100644 lib/os.nim mode change 100755 => 100644 lib/posix/posix.nim mode change 100755 => 100644 lib/powerpc.asm.in mode change 100755 => 100644 lib/process.nim mode change 100755 => 100644 lib/ptrset.nim mode change 100755 => 100644 lib/repr.nim mode change 100755 => 100644 lib/sets.nim mode change 100755 => 100644 lib/strutils.nim mode change 100755 => 100644 lib/sysio.nim mode change 100755 => 100644 lib/sysstr.nim mode change 100755 => 100644 lib/system.nim mode change 100755 => 100644 lib/times.nim mode change 100755 => 100644 lib/typeinfo.nim mode change 100755 => 100644 lib/unicode.nim mode change 100755 => 100644 lib/windows/mmsystem.nim mode change 100755 => 100644 lib/windows/nb30.nim mode change 100755 => 100644 lib/windows/ole2.nim mode change 100755 => 100644 lib/windows/shellapi.nim mode change 100755 => 100644 lib/windows/shfolder.nim mode change 100755 => 100644 lib/windows/windows.nim mode change 100755 => 100644 makefile mode change 100755 => 100644 nim/ast.pas mode change 100755 => 100644 nim/astalgo.pas mode change 100755 => 100644 nim/backends.pas mode change 100755 => 100644 nim/bitsets.pas mode change 100755 => 100644 nim/ccgexprs.pas mode change 100755 => 100644 nim/ccgstmts.pas mode change 100755 => 100644 nim/ccgtypes.pas mode change 100755 => 100644 nim/ccgutils.pas mode change 100755 => 100644 nim/cgen.pas mode change 100755 => 100644 nim/charsets.pas mode change 100755 => 100644 nim/commands.pas mode change 100755 => 100644 nim/condsyms.pas mode change 100755 => 100644 nim/config.inc mode change 100755 => 100644 nim/copying.txt mode change 100755 => 100644 nim/crc.pas mode change 100755 => 100644 nim/docgen.pas mode change 100755 => 100644 nim/eval.pas mode change 100755 => 100644 nim/extccomp.pas mode change 100755 => 100644 nim/genhelp.pas mode change 100755 => 100644 nim/gpl.html mode change 100755 => 100644 nim/hashes.pas mode change 100755 => 100644 nim/highlite.pas mode change 100755 => 100644 nim/idents.pas mode change 100755 => 100644 nim/importer.pas mode change 100755 => 100644 nim/instgen.pas mode change 100755 => 100644 nim/lexbase.pas mode change 100755 => 100644 nim/lists.pas mode change 100755 => 100644 nim/llvmdyn.pas mode change 100755 => 100644 nim/llvmstat.pas mode change 100755 => 100644 nim/lookup.pas mode change 100755 => 100644 nim/magicsys.pas mode change 100755 => 100644 nim/main.pas mode change 100755 => 100644 nim/msgs.pas mode change 100755 => 100644 nim/nimconf.pas mode change 100755 => 100644 nim/nimrod.pas mode change 100755 => 100644 nim/nimsets.pas mode change 100755 => 100644 nim/nmath.pas mode change 100755 => 100644 nim/nos.pas mode change 100755 => 100644 nim/nsystem.pas mode change 100755 => 100644 nim/ntime.pas mode change 100755 => 100644 nim/nversion.pas mode change 100755 => 100644 nim/options.pas mode change 100755 => 100644 nim/paslex.pas mode change 100755 => 100644 nim/pasparse.pas mode change 100755 => 100644 nim/platform.pas mode change 100755 => 100644 nim/pnimsyn.pas mode change 100755 => 100644 nim/pragmas.pas mode change 100755 => 100644 nim/procfind.pas mode change 100755 => 100644 nim/readme.txt mode change 100755 => 100644 nim/rnimsyn.pas mode change 100755 => 100644 nim/rodgen.pas mode change 100755 => 100644 nim/ropes.pas mode change 100755 => 100644 nim/rst.pas mode change 100755 => 100644 nim/scanner.pas mode change 100755 => 100644 nim/sem.pas mode change 100755 => 100644 nim/semexprs.pas mode change 100755 => 100644 nim/semfold.pas mode change 100755 => 100644 nim/semstmts.pas mode change 100755 => 100644 nim/semtempl.pas mode change 100755 => 100644 nim/semtypes.pas mode change 100755 => 100644 nim/sigmatch.pas mode change 100755 => 100644 nim/strutils.pas mode change 100755 => 100644 nim/syntaxes.pas mode change 100755 => 100644 nim/transf.pas mode change 100755 => 100644 nim/transtmp.pas mode change 100755 => 100644 nim/trees.pas mode change 100755 => 100644 nim/treetab.pas mode change 100755 => 100644 nim/types.pas mode change 100755 => 100644 nim/vis.pas mode change 100755 => 100644 nim/wordrecg.pas mode change 100755 => 100644 nimrod.aip mode change 100755 => 100644 obj/empty.txt mode change 100755 => 100644 readme.txt mode change 100755 => 100644 rod/readme.txt mode change 100755 => 100644 tests/bench/GCBench.c mode change 100755 => 100644 tests/bench/GCBench.cpp mode change 100755 => 100644 tests/bench/GCBench.java mode change 100755 => 100644 tests/bench/GCBench_OGC.cpp mode change 100755 => 100644 tests/bench/gcbench.nim mode change 100755 => 100644 tests/bench/prof.c mode change 100755 => 100644 tests/gc.bpf mode change 100755 => 100644 tests/gc.bpr mode change 100755 => 100644 tests/gctest.nim mode change 100755 => 100644 tests/gtk/ex1.nim mode change 100755 => 100644 tests/gtk/ex2.nim mode change 100755 => 100644 tests/gtk/ex3.nim mode change 100755 => 100644 tests/gtk/ex4.nim mode change 100755 => 100644 tests/gtk/ex5.nim mode change 100755 => 100644 tests/gtk/ex6.nim mode change 100755 => 100644 tests/gtk/ex7.nim mode change 100755 => 100644 tests/gtk/ex8.nim mode change 100755 => 100644 tests/gtk/ex9.nim mode change 100755 => 100644 tests/hallo.bpf mode change 100755 => 100644 tests/hallo.bpr mode change 100755 => 100644 tests/iotest.bpf mode change 100755 => 100644 tests/iotest.bpr mode change 100755 => 100644 tests/mambsym1.nim mode change 100755 => 100644 tests/mambsym2.nim mode change 100755 => 100644 tests/mambsys1.nim mode change 100755 => 100644 tests/mambsys2.nim mode change 100755 => 100644 tests/minit.nim mode change 100755 => 100644 tests/mnamspc1.nim mode change 100755 => 100644 tests/mnamspc2.nim mode change 100755 => 100644 tests/mopaque.nim mode change 100755 => 100644 tests/mrecmod.nim mode change 100755 => 100644 tests/mvarious.nim mode change 100755 => 100644 tests/readme.txt mode change 100755 => 100644 tests/rectest/rectest.nim mode change 100755 => 100644 tests/scantest.nim mode change 100755 => 100644 tests/sdltest.nim mode change 100755 => 100644 tests/seqcon.bpf mode change 100755 => 100644 tests/seqcon.bpr mode change 100755 => 100644 tests/tack.nim mode change 100755 => 100644 tests/tambsym.nim mode change 100755 => 100644 tests/tambsys.nim mode change 100755 => 100644 tests/tarray.nim mode change 100755 => 100644 tests/tarrindx.nim mode change 100755 => 100644 tests/tassert.nim mode change 100755 => 100644 tests/tassign.nim mode change 100755 => 100644 tests/tblock1.nim mode change 100755 => 100644 tests/tcasestm.nim mode change 100755 => 100644 tests/tcmdline.nim mode change 100755 => 100644 tests/tconstr1.nim mode change 100755 => 100644 tests/tconstr2.nim mode change 100755 => 100644 tests/tcopy.nim mode change 100755 => 100644 tests/tdialogs.nim mode change 100755 => 100644 tests/tendian.nim mode change 100755 => 100644 tests/tenum.nim mode change 100755 => 100644 tests/tformat.nim mode change 100755 => 100644 tests/tforwty.nim mode change 100755 => 100644 tests/tforwty2.nim mode change 100755 => 100644 tests/tgeneric.nim mode change 100755 => 100644 tests/tgtk.nim mode change 100755 => 100644 tests/thallo.dot mode change 100755 => 100644 tests/thallo.nim mode change 100755 => 100644 tests/tillrec.nim mode change 100755 => 100644 tests/tinit.nim mode change 100755 => 100644 tests/tinout.nim mode change 100755 => 100644 tests/tinvwhen.nim mode change 100755 => 100644 tests/tio.nim mode change 100755 => 100644 tests/titer.nim mode change 100755 => 100644 tests/tlastmod.nim mode change 100755 => 100644 tests/tloops.nim mode change 100755 => 100644 tests/tlowhigh.nim mode change 100755 => 100644 tests/tmath.nim mode change 100755 => 100644 tests/tnamspc.nim mode change 100755 => 100644 tests/tnestif.nim mode change 100755 => 100644 tests/tnew.bpf mode change 100755 => 100644 tests/tnew.bpr mode change 100755 => 100644 tests/tnew.nim mode change 100755 => 100644 tests/tnewsets.nim mode change 100755 => 100644 tests/tnewuns.nim mode change 100755 => 100644 tests/tnoop.nim mode change 100755 => 100644 tests/tobject2.nim mode change 100755 => 100644 tests/tobjects.nim mode change 100755 => 100644 tests/topaque.nim mode change 100755 => 100644 tests/toptions.nim mode change 100755 => 100644 tests/toverflw.nim mode change 100755 => 100644 tests/toverl.nim mode change 100755 => 100644 tests/toverlop.nim mode change 100755 => 100644 tests/toverwr.nim mode change 100755 => 100644 tests/tovfint.nim mode change 100755 => 100644 tests/tparedef.nim mode change 100755 => 100644 tests/tpos.nim mode change 100755 => 100644 tests/tposix.nim mode change 100755 => 100644 tests/tprep.nim mode change 100755 => 100644 tests/tprintf.nim mode change 100755 => 100644 tests/tprocvar.nim mode change 100755 => 100644 tests/tpush.nim mode change 100755 => 100644 tests/tquit.nim mode change 100755 => 100644 tests/trawstr.nim mode change 100755 => 100644 tests/treadln.nim mode change 100755 => 100644 tests/trecmod.nim mode change 100755 => 100644 tests/trectype.nim mode change 100755 => 100644 tests/trefs.nim mode change 100755 => 100644 tests/tregex.nim mode change 100755 => 100644 tests/treguse.nim mode change 100755 => 100644 tests/trepr.nim mode change 100755 => 100644 tests/tseqcon.nim mode change 100755 => 100644 tests/tsets.nim mode change 100755 => 100644 tests/tsimtych.nim mode change 100755 => 100644 tests/tsizeof.nim mode change 100755 => 100644 tests/tstatret.nim mode change 100755 => 100644 tests/tstmtexp.nim mode change 100755 => 100644 tests/tstrace.nim mode change 100755 => 100644 tests/tstrange.nim mode change 100755 => 100644 tests/tstrdesc.nim mode change 100755 => 100644 tests/tstrdist.nim mode change 100755 => 100644 tests/tstrutil.nim mode change 100755 => 100644 tests/ttime.nim mode change 100755 => 100644 tests/tvardecl.nim mode change 100755 => 100644 tests/tvarious.nim mode change 100755 => 100644 tests/tvarnums.nim mode change 100755 => 100644 tests/twalker.nim mode change 100755 => 100644 tests/typredef.nim mode change 100755 => 100644 tests/walker.bpf mode change 100755 => 100644 tests/walker.bpr mode change 100755 => 100644 tests/wingui.nim mode change 100755 => 100644 todo.txt mode change 100755 => 100644 unix2dos.py mode change 100755 => 100644 web/documentation.txt mode change 100755 => 100644 web/docutils.tmpl mode change 100755 => 100644 web/download.txt mode change 100755 => 100644 web/genweb.py mode change 100755 => 100644 web/index.txt mode change 100755 => 100644 web/links.txt mode change 100755 => 100644 web/news.txt mode change 100755 => 100644 web/question.txt mode change 100755 => 100644 web/style/back.png mode change 100755 => 100644 web/style/graphic.jpg mode change 100755 => 100644 web/style/link.png mode change 100755 => 100644 web/style/logo.jpg mode change 100755 => 100644 web/style/menu.png mode change 100755 => 100644 web/style/menu_hover.png mode change 100755 => 100644 web/style/sbi_header.png mode change 100755 => 100644 web/style/style.css mode change 100755 => 100644 web/sunset.tmpl mode change 100755 => 100644 web/theindex.txt mode change 100755 => 100644 web/voidspace.css mode change 100755 => 100644 whiteutils.py diff --git a/.bzrignore b/.bzrignore new file mode 100644 index 0000000000..df975890ff --- /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 old mode 100755 new mode 100644 diff --git a/cogapp.py b/cogapp.py old mode 100755 new mode 100644 diff --git a/config/doctempl.cfg b/config/doctempl.cfg old mode 100755 new mode 100644 diff --git a/config/nimrod.cfg b/config/nimrod.cfg old mode 100755 new mode 100644 index c393d93ccb..8653b0449b --- 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 old mode 100755 new mode 100644 diff --git a/data/advopt.txt b/data/advopt.txt old mode 100755 new mode 100644 diff --git a/data/ast.yml b/data/ast.yml old mode 100755 new mode 100644 diff --git a/data/basicopt.txt b/data/basicopt.txt old mode 100755 new mode 100644 diff --git a/data/ccomps.txt b/data/ccomps.txt old mode 100755 new mode 100644 diff --git a/data/changes.txt b/data/changes.txt old mode 100755 new mode 100644 diff --git a/data/keywords.txt b/data/keywords.txt old mode 100755 new mode 100644 diff --git a/data/magic.yml b/data/magic.yml old mode 100755 new mode 100644 diff --git a/data/messages.yml b/data/messages.yml old mode 100755 new mode 100644 diff --git a/data/pas_keyw.yml b/data/pas_keyw.yml old mode 100755 new mode 100644 diff --git a/data/readme.txt b/data/readme.txt old mode 100755 new mode 100644 diff --git a/dist/empty.txt b/dist/empty.txt old mode 100755 new mode 100644 diff --git a/doc/docs.txt b/doc/docs.txt old mode 100755 new mode 100644 diff --git a/doc/endb.txt b/doc/endb.txt old mode 100755 new mode 100644 diff --git a/doc/filelist.txt b/doc/filelist.txt old mode 100755 new mode 100644 diff --git a/doc/grammar.txt b/doc/grammar.txt old mode 100755 new mode 100644 diff --git a/doc/html/empty.txt b/doc/html/empty.txt old mode 100755 new mode 100644 diff --git a/doc/intern.txt b/doc/intern.txt old mode 100755 new mode 100644 index 4f1a7a15fa..382eea9470 --- 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 old mode 100755 new mode 100644 diff --git a/doc/manual.txt b/doc/manual.txt old mode 100755 new mode 100644 diff --git a/doc/nimdoc.css b/doc/nimdoc.css old mode 100755 new mode 100644 diff --git a/doc/nimrodc.txt b/doc/nimrodc.txt old mode 100755 new mode 100644 diff --git a/doc/overview.txt b/doc/overview.txt old mode 100755 new mode 100644 diff --git a/doc/posix.txt b/doc/posix.txt old mode 100755 new mode 100644 diff --git a/doc/readme.txt b/doc/readme.txt old mode 100755 new mode 100644 diff --git a/doc/regexprs.txt b/doc/regexprs.txt old mode 100755 new mode 100644 diff --git a/doc/rst.txt b/doc/rst.txt old mode 100755 new mode 100644 diff --git a/doc/spec.txt b/doc/spec.txt old mode 100755 new mode 100644 diff --git a/doc/theindex.txt b/doc/theindex.txt old mode 100755 new mode 100644 index 034f07a9f8..c681f21edd --- a/doc/theindex.txt +++ b/doc/theindex.txt @@ -1,1436 +1,1439 @@ - -===== -Index -===== - -.. index:: - - - `!=`:idx: - `system.html#235 `_ - - `$`:idx: - * `system.html#326 `_ - * `system.html#327 `_ - * `system.html#328 `_ - * `system.html#329 `_ - * `system.html#330 `_ - * `system.html#331 `_ - * `system.html#332 `_ - * `times.html#109 `_ - * `times.html#110 `_ - - `%`:idx: - * `strutils.html#128 `_ - * `strutils.html#129 `_ - - `%%`:idx: - * `system.html#318 `_ - * `system.html#319 `_ - - `&`:idx: - * `system.html#245 `_ - * `system.html#246 `_ - * `system.html#247 `_ - * `system.html#248 `_ - * `system.html#349 `_ - * `system.html#350 `_ - * `system.html#351 `_ - * `system.html#352 `_ - - `*`:idx: - * `system.html#159 `_ - * `system.html#178 `_ - * `system.html#196 `_ - * `system.html#207 `_ - * `complex.html#107 `_ - - `*%`:idx: - * `system.html#314 `_ - * `system.html#315 `_ - - `+`:idx: - * `system.html#154 `_ - * `system.html#157 `_ - * `system.html#173 `_ - * `system.html#176 `_ - * `system.html#192 `_ - * `system.html#194 `_ - * `system.html#208 `_ - * `complex.html#103 `_ - - `+%`:idx: - * `system.html#310 `_ - * `system.html#311 `_ - - `-`:idx: - * `system.html#155 `_ - * `system.html#158 `_ - * `system.html#174 `_ - * `system.html#177 `_ - * `system.html#193 `_ - * `system.html#195 `_ - * `system.html#209 `_ - * `complex.html#104 `_ - * `complex.html#105 `_ - * `times.html#113 `_ - - `-%`:idx: - * `system.html#312 `_ - * `system.html#313 `_ - - `-+-`:idx: - `system.html#210 `_ - - `/`:idx: - * `system.html#197 `_ - * `os.html#117 `_ - * `complex.html#106 `_ - - `/%`:idx: - * `system.html#316 `_ - * `system.html#317 `_ - - `/../`:idx: - `os.html#121 `_ - - `<`:idx: - * `system.html#169 `_ - * `system.html#188 `_ - * `system.html#200 `_ - * `system.html#227 `_ - * `system.html#228 `_ - * `system.html#229 `_ - * `system.html#230 `_ - * `system.html#231 `_ - * `system.html#232 `_ - * `system.html#233 `_ - * `system.html#234 `_ - - `<%`:idx: - * `system.html#322 `_ - * `system.html#323 `_ - - `<=`:idx: - * `system.html#168 `_ - * `system.html#187 `_ - * `system.html#199 `_ - * `system.html#220 `_ - * `system.html#221 `_ - * `system.html#222 `_ - * `system.html#223 `_ - * `system.html#224 `_ - * `system.html#225 `_ - * `system.html#226 `_ - - `<=%`:idx: - * `system.html#320 `_ - * `system.html#321 `_ - - `==`:idx: - * `system.html#167 `_ - * `system.html#186 `_ - * `system.html#198 `_ - * `system.html#211 `_ - * `system.html#212 `_ - * `system.html#213 `_ - * `system.html#214 `_ - * `system.html#215 `_ - * `system.html#216 `_ - * `system.html#217 `_ - * `system.html#218 `_ - * `system.html#219 `_ - * `system.html#353 `_ - * `complex.html#102 `_ - - `>`:idx: - `system.html#237 `_ - - `>%`:idx: - `system.html#325 `_ - - `>=`:idx: - `system.html#236 `_ - - `>=%`:idx: - `system.html#324 `_ - - `[ESC]`:idx: - `manual.html#134 `_ - - `abs`:idx: - * `system.html#170 `_ - * `system.html#189 `_ - * `system.html#201 `_ - * `complex.html#108 `_ - - `add`:idx: - * `system.html#249 `_ - * `system.html#250 `_ - * `system.html#251 `_ - * `system.html#252 `_ - * `system.html#253 `_ - - `addQuitProc`:idx: - `system.html#287 `_ - - `alert`:idx: - `manual.html#131 `_ - - `allCharsInSet`:idx: - `strutils.html#133 `_ - - `alloc`:idx: - `system.html#296 `_ - - `alloc0`:idx: - `system.html#297 `_ - - `AltSep`:idx: - `os.html#104 `_ - - `and`:idx: - * `system.html#164 `_ - * `system.html#183 `_ - * `system.html#204 `_ - - `apostrophe`:idx: - `manual.html#129 `_ - - `AppendFileExt`:idx: - `os.html#127 `_ - - `arccos`:idx: - `math.html#110 `_ - - `arcsin`:idx: - `math.html#111 `_ - - `arctan`:idx: - `math.html#112 `_ - - `arctan2`:idx: - `math.html#113 `_ - - `array`:idx: - `system.html#108 `_ - - `Arrays`:idx: - `manual.html#153 `_ - - `assembler`:idx: - `manual.html#198 `_ - - `assert`:idx: - `system.html#301 `_ - - `Automatic type conversion`:idx: - `manual.html#145 `_ - - `backslash`:idx: - * `manual.html#127 `_ - * `regexprs.html#101 `_ - - `backspace`:idx: - `manual.html#132 `_ - - `BiggestFloat`:idx: - `system.html#257 `_ - - `BiggestInt`:idx: - `system.html#256 `_ - - `block`:idx: - `manual.html#194 `_ - - `boolean`:idx: - `manual.html#147 `_ - - `break`:idx: - `manual.html#195 `_ - - `breakpoint`:idx: - `endb.html#103 `_ - - `Byte`:idx: - `system.html#113 `_ - - `C`:idx: - `manual.html#136 `_ - - `calling conventions`:idx: - `manual.html#164 `_ - - `capitalize`:idx: - `strutils.html#110 `_ - - `card`:idx: - `system.html#151 `_ - - `carriage return`:idx: - `manual.html#122 `_ - - `case`:idx: - `manual.html#182 `_ - - `cchar`:idx: - `system.html#258 `_ - - `cdecl`:idx: - `manual.html#166 `_ - - `cdouble`:idx: - `system.html#265 `_ - - `cfloat`:idx: - `system.html#264 `_ - - `ChangeFileExt`:idx: - `os.html#128 `_ - - `character type`:idx: - `manual.html#148 `_ - - `character with decimal value d`:idx: - `manual.html#130 `_ - - `character with hex value HH`:idx: - `manual.html#135 `_ - - `checked runtime error`:idx: - `manual.html#110 `_ - - `chr`:idx: - `system.html#153 `_ - - `cint`:idx: - `system.html#261 `_ - - `classify`:idx: - `math.html#123 `_ - - `clong`:idx: - `system.html#262 `_ - - `clongdouble`:idx: - `system.html#266 `_ - - `clonglong`:idx: - `system.html#263 `_ - - `CloseFile`:idx: - `system.html#367 `_ - - `closure`:idx: - `manual.html#171 `_ - - `cmp`:idx: - * `system.html#243 `_ - * `system.html#244 `_ - - `cmpIgnoreCase`:idx: - `strutils.html#119 `_ - - `cmpIgnoreStyle`:idx: - `strutils.html#120 `_ - - `cmpPaths`:idx: - `os.html#126 `_ - - `comment pieces`:idx: - `manual.html#115 `_ - - `Comments`:idx: - `manual.html#114 `_ - - `CompileDate`:idx: - `system.html#275 `_ - - `CompileTime`:idx: - `system.html#276 `_ - - `complex statements`:idx: - `manual.html#176 `_ - - `const`:idx: - `manual.html#180 `_ - - `constant expressions`:idx: - `manual.html#108 `_ - - `Constants`:idx: - `manual.html#140 `_ - - `continue`:idx: - `manual.html#197 `_ - - `copy`:idx: - * `system.html#288 `_ - * `system.html#289 `_ - - `copyFile`:idx: - `os.html#131 `_ - - `copyMem`:idx: - `system.html#293 `_ - - `cos`:idx: - `math.html#114 `_ - - `cosh`:idx: - `math.html#115 `_ - - `countBits`:idx: - `math.html#103 `_ - - `countdown`:idx: - `system.html#341 `_ - - `countup`:idx: - `system.html#342 `_ - - `cpuEndian`:idx: - `system.html#281 `_ - - `createDir`:idx: - `os.html#135 `_ - - `cschar`:idx: - `system.html#259 `_ - - `cshort`:idx: - `system.html#260 `_ - - `cstringArray`:idx: - `system.html#267 `_ - - `CurDir`:idx: - `os.html#101 `_ - - `dangling else problem`:idx: - `manual.html#177 `_ - - `dbgLineHook`:idx: - `system.html#337 `_ - - `dealloc`:idx: - `system.html#299 `_ - - `debugger`:idx: - `nimrodc.html#108 `_ - - `dec`:idx: - `system.html#144 `_ - - `define`:idx: - `manual.html#224 `_ - - `defined`:idx: - `system.html#101 `_ - - `deleteStr`:idx: - `strutils.html#115 `_ - - `DirSep`:idx: - `os.html#103 `_ - - `discard`:idx: - `manual.html#178 `_ - - `div`:idx: - * `system.html#160 `_ - * `system.html#179 `_ - - `domain specific languages`:idx: - `manual.html#213 `_ - - `dynamic type`:idx: - `manual.html#104 `_ - - `EAccessViolation`:idx: - `system.html#128 `_ - - `EArithmetic`:idx: - `system.html#125 `_ - - `EAssertionFailed`:idx: - `system.html#129 `_ - - `EAsynch`:idx: - `system.html#119 `_ - - `E_Base`:idx: - `system.html#118 `_ - - `echo`:idx: - `system.html#380 `_ - - `EControlC`:idx: - `system.html#130 `_ - - `EDivByZero`:idx: - `system.html#126 `_ - - `EInvalidIndex`:idx: - `system.html#133 `_ - - `EInvalidObjectAssignment`:idx: - * `manual.html#157 `_ - * `system.html#137 `_ - - `EInvalidObjectConversion`:idx: - `system.html#138 `_ - - `EInvalidRegEx`:idx: - `regexprs.html#104 `_ - - `EInvalidValue`:idx: - * `manual.html#146 `_ - * `system.html#131 `_ - - `EIO`:idx: - `system.html#122 `_ - - `Embedded Nimrod Debugger`:idx: - `endb.html#101 `_ - - `ENDB`:idx: - `endb.html#102 `_ - - `EndOfFile`:idx: - `system.html#368 `_ - - `endsWith`:idx: - `strutils.html#132 `_ - - `ENoExceptionToReraise`:idx: - * `manual.html#186 `_ - * `system.html#136 `_ - - `Enumeration`:idx: - `manual.html#149 `_ - - `EOS`:idx: - `system.html#123 `_ - - `EOutOfMemory`:idx: - `system.html#132 `_ - - `EOutOfRange`:idx: - `system.html#134 `_ - - `EOverflow`:idx: - `system.html#127 `_ - - `equalMem`:idx: - `system.html#295 `_ - - `ERessourceExhausted`:idx: - `system.html#124 `_ - - `error`:idx: - * `manual.html#223 `_ - * `manual.html#226 `_ - - `escape`:idx: - `manual.html#133 `_ - - `escape sequences`:idx: - `manual.html#120 `_ - - `EStackOverflow`:idx: - `system.html#135 `_ - - `ESynch`:idx: - `system.html#120 `_ - - `ESystem`:idx: - `system.html#121 `_ - - `except`:idx: - `manual.html#189 `_ - - `exception handlers`:idx: - `manual.html#188 `_ - - `excl`:idx: - `system.html#150 `_ - - `executeProcess`:idx: - `os.html#129 `_ - - `executeShellCommand`:idx: - `os.html#130 `_ - - `existsDir`:idx: - `os.html#136 `_ - - `existsEnv`:idx: - `os.html#140 `_ - - `ExistsFile`:idx: - `os.html#115 `_ - - `exp`:idx: - `math.html#108 `_ - - `expandFilename`:idx: - `os.html#114 `_ - - `extractDir`:idx: - `os.html#124 `_ - - `extractFilename`:idx: - `os.html#125 `_ - - `ExtSep`:idx: - `os.html#107 `_ - - `fastcall`:idx: - `manual.html#169 `_ - - `fatal`:idx: - `manual.html#227 `_ - - `FileSystemCaseSensitive`:idx: - `os.html#106 `_ - - `finally`:idx: - `manual.html#190 `_ - - `find`:idx: - * `regexprs.html#109 `_ - * `regexprs.html#110 `_ - - `findSubStr`:idx: - * `strutils.html#112 `_ - * `strutils.html#113 `_ - - `FlushFile`:idx: - `system.html#370 `_ - - `for`:idx: - `manual.html#205 `_ - - `form feed`:idx: - `manual.html#124 `_ - - `forward`:idx: - `manual.html#202 `_ - - `frexp`:idx: - `math.html#109 `_ - - `functional`:idx: - `manual.html#163 `_ - - `funtions`:idx: - `manual.html#200 `_ - - `GC_disable`:idx: - `system.html#354 `_ - - `GC_disableMarkAndSweep`:idx: - `system.html#360 `_ - - `GC_enable`:idx: - `system.html#355 `_ - - `GC_enableMarkAndSweep`:idx: - `system.html#359 `_ - - `GC_fullCollect`:idx: - `system.html#356 `_ - - `GC_setStrategy`:idx: - `system.html#358 `_ - - `generic character types`:idx: - `regexprs.html#102 `_ - - `Generics`:idx: - `manual.html#209 `_ - - `getApplicationDir`:idx: - `os.html#108 `_ - - `getApplicationFilename`:idx: - `os.html#109 `_ - - `getClockStr`:idx: - `times.html#112 `_ - - `getConfigDir`:idx: - `os.html#113 `_ - - `getCurrentDir`:idx: - `os.html#110 `_ - - `getCurrentExceptionMsg`:idx: - * `manual.html#184 `_ - * `system.html#334 `_ - - `getDateStr`:idx: - `times.html#111 `_ - - `getEnv`:idx: - `os.html#139 `_ - - `getFilePos`:idx: - `system.html#389 `_ - - `getFileSize`:idx: - `system.html#381 `_ - - `getFreeMem`:idx: - `system.html#339 `_ - - `getGMTime`:idx: - `times.html#107 `_ - - `getHomeDir`:idx: - `os.html#112 `_ - - `getLastModificationTime`:idx: - `os.html#137 `_ - - `getLocalTime`:idx: - `times.html#106 `_ - - `getOccupiedMem`:idx: - `system.html#338 `_ - - `getRefcount`:idx: - `system.html#333 `_ - - `getStartMilsecs`:idx: - `times.html#114 `_ - - `getTime`:idx: - `times.html#105 `_ - - `getTotalMem`:idx: - `system.html#340 `_ - - `header`:idx: - `nimrodc.html#103 `_ - - `high`:idx: - `system.html#105 `_ - - `hint`:idx: - * `manual.html#221 `_ - * `manual.html#229 `_ - - `hypot`:idx: - `math.html#116 `_ - - `identifier`:idx: - `manual.html#105 `_ - - `Identifiers`:idx: - `manual.html#116 `_ - - `if`:idx: - `manual.html#181 `_ - - `implicit block`:idx: - `manual.html#207 `_ - - `import`:idx: - `manual.html#217 `_ - - `in`:idx: - `system.html#239 `_ - - `inc`:idx: - `system.html#143 `_ - - `incl`:idx: - `system.html#149 `_ - - `indentation sensitive`:idx: - `manual.html#113 `_ - - `inf`:idx: - `system.html#335 `_ - - `information hiding`:idx: - `manual.html#215 `_ - - `inline`:idx: - `manual.html#168 `_ - - `in_Operator`:idx: - * `strutils.html#121 `_ - * `strutils.html#122 `_ - - `in_Operator`:idx: - `system.html#238 `_ - - `intToStr`:idx: - `strutils.html#124 `_ - - `is`:idx: - `system.html#241 `_ - - `is_not`:idx: - `system.html#242 `_ - - `isPowerOfTwo`:idx: - `math.html#102 `_ - - `items`:idx: - * `system.html#343 `_ - * `system.html#344 `_ - * `system.html#345 `_ - * `system.html#346 `_ - * `system.html#347 `_ - * `system.html#348 `_ - - `iterator`:idx: - `manual.html#206 `_ - - `iterOverEnvironment`:idx: - `os.html#144 `_ - - `JoinPath`:idx: - * `os.html#116 `_ - * `os.html#118 `_ - - `keywords`:idx: - `manual.html#117 `_ - - `l-values`:idx: - `manual.html#107 `_ - - `len`:idx: - * `system.html#145 `_ - * `system.html#146 `_ - * `system.html#147 `_ - * `system.html#148 `_ - - `line feed`:idx: - `manual.html#123 `_ - - `line_dir`:idx: - `nimrodc.html#105 `_ - - `lines`:idx: - `system.html#390 `_ - - `line_trace`:idx: - `nimrodc.html#107 `_ - - `Literal strings`:idx: - `manual.html#119 `_ - - `ln`:idx: - `math.html#107 `_ - - `locations`:idx: - `manual.html#101 `_ - - `log10`:idx: - `math.html#117 `_ - - `low`:idx: - `system.html#106 `_ - - `Macros`:idx: - `manual.html#212 `_ - - `match`:idx: - * `regexprs.html#106 `_ - * `regexprs.html#107 `_ - - `matchLen`:idx: - `regexprs.html#108 `_ - - `max`:idx: - * `system.html#172 `_ - * `system.html#191 `_ - * `system.html#203 `_ - - `MaxSubpatterns`:idx: - `regexprs.html#105 `_ - - `methods`:idx: - `manual.html#199 `_ - - `min`:idx: - * `system.html#171 `_ - * `system.html#190 `_ - * `system.html#202 `_ - - `mod`:idx: - * `system.html#161 `_ - * `system.html#180 `_ - - `module`:idx: - `manual.html#214 `_ - - `moveFile`:idx: - `os.html#132 `_ - - `moveMem`:idx: - `system.html#294 `_ - - `nan`:idx: - `system.html#336 `_ - - `Natural`:idx: - `system.html#114 `_ - - `new`:idx: - * `system.html#103 `_ - * `system.html#104 `_ - - `newline`:idx: - `manual.html#121 `_ - - `newString`:idx: - `system.html#291 `_ - - `nextPowerOfTwo`:idx: - `math.html#101 `_ - - `nimcall`:idx: - `manual.html#170 `_ - - `NimrodMajor`:idx: - `system.html#278 `_ - - `NimrodMinor`:idx: - `system.html#279 `_ - - `NimrodPatch`:idx: - `system.html#280 `_ - - `NimrodVersion`:idx: - `system.html#277 `_ - - `nl`:idx: - `strutils.html#104 `_ - - `noconv`:idx: - `manual.html#173 `_ - - `no_decl`:idx: - `nimrodc.html#101 `_ - - `normalize`:idx: - `strutils.html#111 `_ - - `no_static`:idx: - `nimrodc.html#104 `_ - - `not`:idx: - * `system.html#102 `_ - * `system.html#156 `_ - * `system.html#175 `_ - - `not_in`:idx: - `system.html#240 `_ - - `Numerical constants`:idx: - `manual.html#137 `_ - - `object`:idx: - `manual.html#156 `_ - - `openarray`:idx: - `system.html#109 `_ - - `OpenFile`:idx: - `system.html#366 `_ - - `operator`:idx: - `manual.html#139 `_ - - `Operators`:idx: - `manual.html#204 `_ - - `or`:idx: - * `system.html#165 `_ - * `system.html#184 `_ - * `system.html#205 `_ - - `ord`:idx: - `system.html#152 `_ - - `Ordinal types`:idx: - `manual.html#142 `_ - - `paramCount`:idx: - `os.html#141 `_ - - `paramStr`:idx: - `os.html#142 `_ - - `ParDir`:idx: - `os.html#102 `_ - - `parentDir`:idx: - `os.html#120 `_ - - `ParseFloat`:idx: - `strutils.html#126 `_ - - `ParseInt`:idx: - `strutils.html#125 `_ - - `PathSep`:idx: - `os.html#105 `_ - - `PFloat32`:idx: - `system.html#269 `_ - - `PFloat64`:idx: - `system.html#270 `_ - - `PInt32`:idx: - `system.html#272 `_ - - `PInt64`:idx: - `system.html#271 `_ - - `PObject`:idx: - `system.html#117 `_ - - `pointers`:idx: - `manual.html#159 `_ - - `Positive`:idx: - `system.html#115 `_ - - `pow`:idx: - `math.html#121 `_ - - `pred`:idx: - `system.html#142 `_ - - `procedural type`:idx: - `manual.html#162 `_ - - `procedures`:idx: - `manual.html#201 `_ - - `push/pop`:idx: - `manual.html#230 `_ - - `putEnv`:idx: - `os.html#138 `_ - - `quit`:idx: - `system.html#286 `_ - - `QuitFailure`:idx: - `system.html#274 `_ - - `QuitSuccess`:idx: - `system.html#273 `_ - - `quotation mark`:idx: - `manual.html#128 `_ - - `random`:idx: - `math.html#104 `_ - - `randomize`:idx: - `math.html#105 `_ - - `range`:idx: - `system.html#107 `_ - - `re-raised`:idx: - `manual.html#185 `_ - - `readBuffer`:idx: - `system.html#384 `_ - - `ReadBytes`:idx: - `system.html#382 `_ - - `readChar`:idx: - `system.html#369 `_ - - `ReadChars`:idx: - `system.html#383 `_ - - `readFile`:idx: - `system.html#371 `_ - - `readLine`:idx: - `system.html#378 `_ - - `realloc`:idx: - `system.html#298 `_ - - `record`:idx: - `manual.html#155 `_ - - `Recursive module dependancies`:idx: - `manual.html#218 `_ - - `register`:idx: - `nimrodc.html#110 `_ - - `removeDir`:idx: - `os.html#134 `_ - - `removeFile`:idx: - `os.html#133 `_ - - `repeatChar`:idx: - `strutils.html#130 `_ - - `replaceStr`:idx: - `strutils.html#114 `_ - - `repr`:idx: - `system.html#254 `_ - - `result`:idx: - * `manual.html#192 `_ - * `manual.html#203 `_ - - `return`:idx: - `manual.html#191 `_ - - `safe`:idx: - `manual.html#112 `_ - - `safecall`:idx: - `manual.html#167 `_ - - `sameFile`:idx: - `os.html#143 `_ - - `scope`:idx: - * `manual.html#106 `_ - * `manual.html#219 `_ - - `separate compilation`:idx: - `manual.html#216 `_ - - `seq`:idx: - `system.html#110 `_ - - `Sequences`:idx: - `manual.html#154 `_ - - `set`:idx: - `system.html#111 `_ - - `set type`:idx: - `manual.html#158 `_ - - `setCurrentDir`:idx: - `os.html#111 `_ - - `setFilePos`:idx: - `system.html#388 `_ - - `setLen`:idx: - * `system.html#290 `_ - * `system.html#300 `_ - - `shl`:idx: - * `system.html#163 `_ - * `system.html#182 `_ - - `shr`:idx: - * `system.html#162 `_ - * `system.html#181 `_ - - `simple assertions`:idx: - `regexprs.html#103 `_ - - `simple statements`:idx: - `manual.html#175 `_ - - `sinh`:idx: - `math.html#118 `_ - - `sizeof`:idx: - `system.html#140 `_ - - `split`:idx: - `strutils.html#117 `_ - - `SplitFilename`:idx: - `os.html#123 `_ - - `SplitPath`:idx: - `os.html#119 `_ - - `splitSeq`:idx: - `strutils.html#118 `_ - - `sqrt`:idx: - * `math.html#106 `_ - * `complex.html#109 `_ - - `stack_trace`:idx: - `nimrodc.html#106 `_ - - `startsWith`:idx: - `strutils.html#131 `_ - - `Statements`:idx: - `manual.html#174 `_ - - `static error`:idx: - `manual.html#109 `_ - - `static type`:idx: - `manual.html#103 `_ - - `stdcall`:idx: - `manual.html#165 `_ - - `stderr`:idx: - `system.html#365 `_ - - `stdin`:idx: - `system.html#363 `_ - - `stdout`:idx: - `system.html#364 `_ - - `string`:idx: - `manual.html#151 `_ - - `strip`:idx: - `strutils.html#105 `_ - - `strStart`:idx: - `strutils.html#103 `_ - - `structured type`:idx: - `manual.html#152 `_ - - `style-insensitive`:idx: - `manual.html#118 `_ - - `subrange`:idx: - `manual.html#150 `_ - - `succ`:idx: - `system.html#141 `_ - - `swap`:idx: - `system.html#302 `_ - - `syscall`:idx: - `manual.html#172 `_ - - `system`:idx: - `manual.html#220 `_ - - `tabulator`:idx: - `manual.html#125 `_ - - `TAddress`:idx: - `system.html#255 `_ - - `tan`:idx: - `math.html#119 `_ - - `tanh`:idx: - `math.html#120 `_ - - `TCharSet`:idx: - `strutils.html#101 `_ - - `TComplex`:idx: - `complex.html#101 `_ - - `template`:idx: - `manual.html#211 `_ - - `TEndian`:idx: - `system.html#268 `_ - - `TFile`:idx: - `system.html#361 `_ - - `TFileMode`:idx: - `system.html#362 `_ - - `TFloatClass`:idx: - `math.html#122 `_ - - `TGC_Strategy`:idx: - `system.html#357 `_ - - `TimeInfoToTime`:idx: - `times.html#108 `_ - - `TMonth`:idx: - `times.html#101 `_ - - `toBiggestFloat`:idx: - `system.html#283 `_ - - `toBiggestInt`:idx: - `system.html#285 `_ - - `toBin`:idx: - `strutils.html#135 `_ - - `TObject`:idx: - `system.html#116 `_ - - `toFloat`:idx: - `system.html#282 `_ - - `toHex`:idx: - `strutils.html#123 `_ - - `toInt`:idx: - `system.html#284 `_ - - `toLower`:idx: - * `strutils.html#106 `_ - * `strutils.html#107 `_ - - `toOct`:idx: - `strutils.html#134 `_ - - `toOctal`:idx: - `strutils.html#116 `_ - - `toString`:idx: - `strutils.html#127 `_ - - `toU16`:idx: - `system.html#308 `_ - - `toU32`:idx: - `system.html#309 `_ - - `toU8`:idx: - `system.html#307 `_ - - `toUpper`:idx: - * `strutils.html#108 `_ - * `strutils.html#109 `_ - - `traced`:idx: - `manual.html#160 `_ - - `TResult`:idx: - `system.html#139 `_ - - `try`:idx: - `manual.html#187 `_ - - `TTime`:idx: - `times.html#103 `_ - - `TTimeInfo`:idx: - `times.html#104 `_ - - `tuple`:idx: - `system.html#112 `_ - - `TWeekDay`:idx: - `times.html#102 `_ - - `type`:idx: - * `manual.html#102 `_ - * `manual.html#141 `_ - * `manual.html#208 `_ - - `type parameters`:idx: - `manual.html#210 `_ - - `type suffix`:idx: - `manual.html#138 `_ - - `unchecked runtime error`:idx: - `manual.html#111 `_ - - `undef`:idx: - `manual.html#225 `_ - - `UnixToNativePath`:idx: - `os.html#122 `_ - - `unsigned integer`:idx: - `manual.html#143 `_ - - `unsigned operations`:idx: - `manual.html#144 `_ - - `untraced`:idx: - `manual.html#161 `_ - - `Var`:idx: - `manual.html#179 `_ - - `varargs`:idx: - `nimrodc.html#102 `_ - - `vertical tabulator`:idx: - `manual.html#126 `_ - - `volatile`:idx: - `nimrodc.html#109 `_ - - `walkFiles`:idx: - `os.html#145 `_ - - `warning`:idx: - * `manual.html#222 `_ - * `manual.html#228 `_ - - `when`:idx: - `manual.html#183 `_ - - `while`:idx: - `manual.html#196 `_ - - `Whitespace`:idx: - `strutils.html#102 `_ - - `write`:idx: - * `system.html#372 `_ - * `system.html#373 `_ - * `system.html#374 `_ - * `system.html#375 `_ - * `system.html#376 `_ - * `system.html#377 `_ - - `writeBuffer`:idx: - `system.html#387 `_ - - `writeBytes`:idx: - `system.html#385 `_ - - `writeChars`:idx: - `system.html#386 `_ - - `writeln`:idx: - `system.html#379 `_ - - `xor`:idx: - * `system.html#166 `_ - * `system.html#185 `_ - * `system.html#206 `_ - - `yield`:idx: - `manual.html#193 `_ - - `ze`:idx: - * `system.html#303 `_ - * `system.html#304 `_ - * `system.html#306 `_ - - `ze64`:idx: - `system.html#305 `_ - - `zeroMem`:idx: + +===== +Index +===== + +.. index:: + + + `!=`:idx: + `system.html#235 `_ + + `$`:idx: + * `system.html#326 `_ + * `system.html#327 `_ + * `system.html#328 `_ + * `system.html#329 `_ + * `system.html#330 `_ + * `system.html#331 `_ + * `system.html#332 `_ + * `times.html#109 `_ + * `times.html#110 `_ + + `%`:idx: + * `strutils.html#128 `_ + * `strutils.html#129 `_ + + `%%`:idx: + * `system.html#318 `_ + * `system.html#319 `_ + + `&`:idx: + * `system.html#245 `_ + * `system.html#246 `_ + * `system.html#247 `_ + * `system.html#248 `_ + * `system.html#349 `_ + * `system.html#350 `_ + * `system.html#351 `_ + * `system.html#352 `_ + + `*`:idx: + * `system.html#159 `_ + * `system.html#178 `_ + * `system.html#196 `_ + * `system.html#207 `_ + * `complex.html#107 `_ + + `*%`:idx: + * `system.html#314 `_ + * `system.html#315 `_ + + `+`:idx: + * `system.html#154 `_ + * `system.html#157 `_ + * `system.html#173 `_ + * `system.html#176 `_ + * `system.html#192 `_ + * `system.html#194 `_ + * `system.html#208 `_ + * `complex.html#103 `_ + + `+%`:idx: + * `system.html#310 `_ + * `system.html#311 `_ + + `-`:idx: + * `system.html#155 `_ + * `system.html#158 `_ + * `system.html#174 `_ + * `system.html#177 `_ + * `system.html#193 `_ + * `system.html#195 `_ + * `system.html#209 `_ + * `complex.html#104 `_ + * `complex.html#105 `_ + * `times.html#113 `_ + + `-%`:idx: + * `system.html#312 `_ + * `system.html#313 `_ + + `-+-`:idx: + `system.html#210 `_ + + `/`:idx: + * `system.html#197 `_ + * `os.html#117 `_ + * `complex.html#106 `_ + + `/%`:idx: + * `system.html#316 `_ + * `system.html#317 `_ + + `/../`:idx: + `os.html#121 `_ + + `<`:idx: + * `system.html#169 `_ + * `system.html#188 `_ + * `system.html#200 `_ + * `system.html#227 `_ + * `system.html#228 `_ + * `system.html#229 `_ + * `system.html#230 `_ + * `system.html#231 `_ + * `system.html#232 `_ + * `system.html#233 `_ + * `system.html#234 `_ + + `<%`:idx: + * `system.html#322 `_ + * `system.html#323 `_ + + `<=`:idx: + * `system.html#168 `_ + * `system.html#187 `_ + * `system.html#199 `_ + * `system.html#220 `_ + * `system.html#221 `_ + * `system.html#222 `_ + * `system.html#223 `_ + * `system.html#224 `_ + * `system.html#225 `_ + * `system.html#226 `_ + + `<=%`:idx: + * `system.html#320 `_ + * `system.html#321 `_ + + `==`:idx: + * `system.html#167 `_ + * `system.html#186 `_ + * `system.html#198 `_ + * `system.html#211 `_ + * `system.html#212 `_ + * `system.html#213 `_ + * `system.html#214 `_ + * `system.html#215 `_ + * `system.html#216 `_ + * `system.html#217 `_ + * `system.html#218 `_ + * `system.html#219 `_ + * `system.html#353 `_ + * `complex.html#102 `_ + + `>`:idx: + `system.html#237 `_ + + `>%`:idx: + `system.html#325 `_ + + `>=`:idx: + `system.html#236 `_ + + `>=%`:idx: + `system.html#324 `_ + + `[ESC]`:idx: + `manual.html#134 `_ + + `abs`:idx: + * `system.html#170 `_ + * `system.html#189 `_ + * `system.html#201 `_ + * `complex.html#108 `_ + + `add`:idx: + * `system.html#249 `_ + * `system.html#250 `_ + * `system.html#251 `_ + * `system.html#252 `_ + * `system.html#253 `_ + + `addQuitProc`:idx: + `system.html#287 `_ + + `alert`:idx: + `manual.html#131 `_ + + `allCharsInSet`:idx: + `strutils.html#133 `_ + + `alloc`:idx: + `system.html#296 `_ + + `alloc0`:idx: + `system.html#297 `_ + + `AltSep`:idx: + `os.html#104 `_ + + `and`:idx: + * `system.html#164 `_ + * `system.html#183 `_ + * `system.html#204 `_ + + `apostrophe`:idx: + `manual.html#129 `_ + + `AppendFileExt`:idx: + `os.html#127 `_ + + `arccos`:idx: + `math.html#110 `_ + + `arcsin`:idx: + `math.html#111 `_ + + `arctan`:idx: + `math.html#112 `_ + + `arctan2`:idx: + `math.html#113 `_ + + `array`:idx: + `system.html#108 `_ + + `Arrays`:idx: + `manual.html#153 `_ + + `assembler`:idx: + `manual.html#198 `_ + + `assert`:idx: + `system.html#301 `_ + + `Automatic type conversion`:idx: + `manual.html#145 `_ + + `backslash`:idx: + * `manual.html#127 `_ + * `regexprs.html#101 `_ + + `backspace`:idx: + `manual.html#132 `_ + + `BiggestFloat`:idx: + `system.html#257 `_ + + `BiggestInt`:idx: + `system.html#256 `_ + + `block`:idx: + `manual.html#194 `_ + + `boolean`:idx: + `manual.html#147 `_ + + `break`:idx: + `manual.html#195 `_ + + `breakpoint`:idx: + `endb.html#103 `_ + + `Byte`:idx: + `system.html#113 `_ + + `C`:idx: + `manual.html#136 `_ + + `calling conventions`:idx: + `manual.html#164 `_ + + `capitalize`:idx: + `strutils.html#110 `_ + + `card`:idx: + `system.html#151 `_ + + `carriage return`:idx: + `manual.html#122 `_ + + `case`:idx: + `manual.html#182 `_ + + `cchar`:idx: + `system.html#258 `_ + + `cdecl`:idx: + `manual.html#166 `_ + + `cdouble`:idx: + `system.html#265 `_ + + `cfloat`:idx: + `system.html#264 `_ + + `ChangeFileExt`:idx: + `os.html#128 `_ + + `character type`:idx: + `manual.html#148 `_ + + `character with decimal value d`:idx: + `manual.html#130 `_ + + `character with hex value HH`:idx: + `manual.html#135 `_ + + `checked runtime error`:idx: + `manual.html#110 `_ + + `chr`:idx: + `system.html#153 `_ + + `cint`:idx: + `system.html#261 `_ + + `classify`:idx: + `math.html#123 `_ + + `clong`:idx: + `system.html#262 `_ + + `clongdouble`:idx: + `system.html#266 `_ + + `clonglong`:idx: + `system.html#263 `_ + + `CloseFile`:idx: + `system.html#367 `_ + + `closure`:idx: + `manual.html#171 `_ + + `cmp`:idx: + * `system.html#243 `_ + * `system.html#244 `_ + + `cmpIgnoreCase`:idx: + `strutils.html#119 `_ + + `cmpIgnoreStyle`:idx: + `strutils.html#120 `_ + + `cmpPaths`:idx: + `os.html#126 `_ + + `comment pieces`:idx: + `manual.html#115 `_ + + `Comments`:idx: + `manual.html#114 `_ + + `CompileDate`:idx: + `system.html#275 `_ + + `CompileTime`:idx: + `system.html#276 `_ + + `complex statements`:idx: + `manual.html#176 `_ + + `const`:idx: + `manual.html#180 `_ + + `constant expressions`:idx: + `manual.html#108 `_ + + `Constants`:idx: + `manual.html#140 `_ + + `continue`:idx: + `manual.html#197 `_ + + `copy`:idx: + * `system.html#288 `_ + * `system.html#289 `_ + + `copyFile`:idx: + `os.html#131 `_ + + `copyMem`:idx: + `system.html#293 `_ + + `cos`:idx: + `math.html#114 `_ + + `cosh`:idx: + `math.html#115 `_ + + `countBits`:idx: + `math.html#103 `_ + + `countdown`:idx: + `system.html#341 `_ + + `countup`:idx: + `system.html#342 `_ + + `cpuEndian`:idx: + `system.html#281 `_ + + `createDir`:idx: + `os.html#135 `_ + + `cschar`:idx: + `system.html#259 `_ + + `cshort`:idx: + `system.html#260 `_ + + `cstringArray`:idx: + `system.html#267 `_ + + `CurDir`:idx: + `os.html#101 `_ + + `dangling else problem`:idx: + `manual.html#177 `_ + + `dbgLineHook`:idx: + `system.html#337 `_ + + `dealloc`:idx: + `system.html#299 `_ + + `debugger`:idx: + `nimrodc.html#108 `_ + + `dec`:idx: + `system.html#144 `_ + + `define`:idx: + `manual.html#224 `_ + + `defined`:idx: + `system.html#101 `_ + + `deleteStr`:idx: + `strutils.html#115 `_ + + `DirSep`:idx: + `os.html#103 `_ + + `discard`:idx: + `manual.html#178 `_ + + `div`:idx: + * `system.html#160 `_ + * `system.html#179 `_ + + `domain specific languages`:idx: + `manual.html#213 `_ + + `dynamic type`:idx: + `manual.html#104 `_ + + `EAccessViolation`:idx: + `system.html#128 `_ + + `EArithmetic`:idx: + `system.html#125 `_ + + `EAssertionFailed`:idx: + `system.html#129 `_ + + `EAsynch`:idx: + `system.html#119 `_ + + `E_Base`:idx: + `system.html#118 `_ + + `echo`:idx: + `system.html#380 `_ + + `EControlC`:idx: + `system.html#130 `_ + + `EDivByZero`:idx: + `system.html#126 `_ + + `EInvalidIndex`:idx: + `system.html#133 `_ + + `EInvalidObjectAssignment`:idx: + * `manual.html#157 `_ + * `system.html#137 `_ + + `EInvalidObjectConversion`:idx: + `system.html#138 `_ + + `EInvalidRegEx`:idx: + `regexprs.html#104 `_ + + `EInvalidValue`:idx: + * `manual.html#146 `_ + * `system.html#131 `_ + + `EIO`:idx: + `system.html#122 `_ + + `Embedded Nimrod Debugger`:idx: + `endb.html#101 `_ + + `ENDB`:idx: + `endb.html#102 `_ + + `EndOfFile`:idx: + `system.html#368 `_ + + `endsWith`:idx: + `strutils.html#132 `_ + + `ENoExceptionToReraise`:idx: + * `manual.html#186 `_ + * `system.html#136 `_ + + `Enumeration`:idx: + `manual.html#149 `_ + + `EOS`:idx: + `system.html#123 `_ + + `EOutOfMemory`:idx: + `system.html#132 `_ + + `EOutOfRange`:idx: + `system.html#134 `_ + + `EOverflow`:idx: + `system.html#127 `_ + + `equalMem`:idx: + `system.html#295 `_ + + `ERessourceExhausted`:idx: + `system.html#124 `_ + + `error`:idx: + * `manual.html#223 `_ + * `manual.html#226 `_ + + `escape`:idx: + `manual.html#133 `_ + + `escape sequences`:idx: + `manual.html#120 `_ + + `EStackOverflow`:idx: + `system.html#135 `_ + + `ESynch`:idx: + `system.html#120 `_ + + `ESystem`:idx: + `system.html#121 `_ + + `except`:idx: + `manual.html#189 `_ + + `exception handlers`:idx: + `manual.html#188 `_ + + `excl`:idx: + `system.html#150 `_ + + `executeProcess`:idx: + `os.html#129 `_ + + `executeShellCommand`:idx: + `os.html#130 `_ + + `existsDir`:idx: + `os.html#136 `_ + + `existsEnv`:idx: + `os.html#141 `_ + + `ExistsFile`:idx: + `os.html#115 `_ + + `exp`:idx: + `math.html#108 `_ + + `expandFilename`:idx: + `os.html#114 `_ + + `extractDir`:idx: + `os.html#124 `_ + + `extractFilename`:idx: + `os.html#125 `_ + + `ExtSep`:idx: + `os.html#107 `_ + + `fastcall`:idx: + `manual.html#169 `_ + + `fatal`:idx: + `manual.html#227 `_ + + `fileNewer`:idx: + `os.html#138 `_ + + `FileSystemCaseSensitive`:idx: + `os.html#106 `_ + + `finally`:idx: + `manual.html#190 `_ + + `find`:idx: + * `regexprs.html#109 `_ + * `regexprs.html#110 `_ + + `findSubStr`:idx: + * `strutils.html#112 `_ + * `strutils.html#113 `_ + + `FlushFile`:idx: + `system.html#370 `_ + + `for`:idx: + `manual.html#205 `_ + + `form feed`:idx: + `manual.html#124 `_ + + `forward`:idx: + `manual.html#202 `_ + + `frexp`:idx: + `math.html#109 `_ + + `functional`:idx: + `manual.html#163 `_ + + `funtions`:idx: + `manual.html#200 `_ + + `GC_disable`:idx: + `system.html#354 `_ + + `GC_disableMarkAndSweep`:idx: + `system.html#360 `_ + + `GC_enable`:idx: + `system.html#355 `_ + + `GC_enableMarkAndSweep`:idx: + `system.html#359 `_ + + `GC_fullCollect`:idx: + `system.html#356 `_ + + `GC_setStrategy`:idx: + `system.html#358 `_ + + `generic character types`:idx: + `regexprs.html#102 `_ + + `Generics`:idx: + `manual.html#209 `_ + + `getApplicationDir`:idx: + `os.html#108 `_ + + `getApplicationFilename`:idx: + `os.html#109 `_ + + `getClockStr`:idx: + `times.html#112 `_ + + `getConfigDir`:idx: + `os.html#113 `_ + + `getCurrentDir`:idx: + `os.html#110 `_ + + `getCurrentExceptionMsg`:idx: + * `manual.html#184 `_ + * `system.html#334 `_ + + `getDateStr`:idx: + `times.html#111 `_ + + `getEnv`:idx: + `os.html#140 `_ + + `getFilePos`:idx: + `system.html#389 `_ + + `getFileSize`:idx: + `system.html#381 `_ + + `getFreeMem`:idx: + `system.html#339 `_ + + `getGMTime`:idx: + `times.html#107 `_ + + `getHomeDir`:idx: + `os.html#112 `_ + + `getLastModificationTime`:idx: + `os.html#137 `_ + + `getLocalTime`:idx: + `times.html#106 `_ + + `getOccupiedMem`:idx: + `system.html#338 `_ + + `getRefcount`:idx: + `system.html#333 `_ + + `getStartMilsecs`:idx: + `times.html#114 `_ + + `getTime`:idx: + `times.html#105 `_ + + `getTotalMem`:idx: + `system.html#340 `_ + + `header`:idx: + `nimrodc.html#103 `_ + + `high`:idx: + `system.html#105 `_ + + `hint`:idx: + * `manual.html#221 `_ + * `manual.html#229 `_ + + `hypot`:idx: + `math.html#116 `_ + + `identifier`:idx: + `manual.html#105 `_ + + `Identifiers`:idx: + `manual.html#116 `_ + + `if`:idx: + `manual.html#181 `_ + + `implicit block`:idx: + `manual.html#207 `_ + + `import`:idx: + `manual.html#217 `_ + + `in`:idx: + `system.html#239 `_ + + `inc`:idx: + `system.html#143 `_ + + `incl`:idx: + `system.html#149 `_ + + `indentation sensitive`:idx: + `manual.html#113 `_ + + `inf`:idx: + `system.html#335 `_ + + `information hiding`:idx: + `manual.html#215 `_ + + `inline`:idx: + `manual.html#168 `_ + + `in_Operator`:idx: + * `strutils.html#121 `_ + * `strutils.html#122 `_ + + `in_Operator`:idx: + `system.html#238 `_ + + `intToStr`:idx: + `strutils.html#124 `_ + + `is`:idx: + `system.html#241 `_ + + `is_not`:idx: + `system.html#242 `_ + + `isPowerOfTwo`:idx: + `math.html#102 `_ + + `items`:idx: + * `system.html#343 `_ + * `system.html#344 `_ + * `system.html#345 `_ + * `system.html#346 `_ + * `system.html#347 `_ + * `system.html#348 `_ + + `iterator`:idx: + `manual.html#206 `_ + + `iterOverEnvironment`:idx: + `os.html#145 `_ + + `JoinPath`:idx: + * `os.html#116 `_ + * `os.html#118 `_ + + `keywords`:idx: + `manual.html#117 `_ + + `l-values`:idx: + `manual.html#107 `_ + + `len`:idx: + * `system.html#145 `_ + * `system.html#146 `_ + * `system.html#147 `_ + * `system.html#148 `_ + + `line feed`:idx: + `manual.html#123 `_ + + `line_dir`:idx: + `nimrodc.html#105 `_ + + `lines`:idx: + `system.html#390 `_ + + `line_trace`:idx: + `nimrodc.html#107 `_ + + `Literal strings`:idx: + `manual.html#119 `_ + + `ln`:idx: + `math.html#107 `_ + + `locations`:idx: + `manual.html#101 `_ + + `log10`:idx: + `math.html#117 `_ + + `low`:idx: + `system.html#106 `_ + + `Macros`:idx: + `manual.html#212 `_ + + `match`:idx: + * `regexprs.html#106 `_ + * `regexprs.html#107 `_ + + `matchLen`:idx: + `regexprs.html#108 `_ + + `max`:idx: + * `system.html#172 `_ + * `system.html#191 `_ + * `system.html#203 `_ + + `MaxSubpatterns`:idx: + `regexprs.html#105 `_ + + `methods`:idx: + `manual.html#199 `_ + + `min`:idx: + * `system.html#171 `_ + * `system.html#190 `_ + * `system.html#202 `_ + + `mod`:idx: + * `system.html#161 `_ + * `system.html#180 `_ + + `module`:idx: + `manual.html#214 `_ + + `moveFile`:idx: + `os.html#132 `_ + + `moveMem`:idx: + `system.html#294 `_ + + `nan`:idx: + `system.html#336 `_ + + `Natural`:idx: + `system.html#114 `_ + + `new`:idx: + * `system.html#103 `_ + * `system.html#104 `_ + + `newline`:idx: + `manual.html#121 `_ + + `newString`:idx: + `system.html#291 `_ + + `nextPowerOfTwo`:idx: + `math.html#101 `_ + + `nimcall`:idx: + `manual.html#170 `_ + + `NimrodMajor`:idx: + `system.html#278 `_ + + `NimrodMinor`:idx: + `system.html#279 `_ + + `NimrodPatch`:idx: + `system.html#280 `_ + + `NimrodVersion`:idx: + `system.html#277 `_ + + `nl`:idx: + `strutils.html#104 `_ + + `noconv`:idx: + `manual.html#173 `_ + + `no_decl`:idx: + `nimrodc.html#101 `_ + + `normalize`:idx: + `strutils.html#111 `_ + + `no_static`:idx: + `nimrodc.html#104 `_ + + `not`:idx: + * `system.html#102 `_ + * `system.html#156 `_ + * `system.html#175 `_ + + `not_in`:idx: + `system.html#240 `_ + + `Numerical constants`:idx: + `manual.html#137 `_ + + `object`:idx: + `manual.html#156 `_ + + `openarray`:idx: + `system.html#109 `_ + + `OpenFile`:idx: + `system.html#366 `_ + + `operator`:idx: + `manual.html#139 `_ + + `Operators`:idx: + `manual.html#204 `_ + + `or`:idx: + * `system.html#165 `_ + * `system.html#184 `_ + * `system.html#205 `_ + + `ord`:idx: + `system.html#152 `_ + + `Ordinal types`:idx: + `manual.html#142 `_ + + `paramCount`:idx: + `os.html#142 `_ + + `paramStr`:idx: + `os.html#143 `_ + + `ParDir`:idx: + `os.html#102 `_ + + `parentDir`:idx: + `os.html#120 `_ + + `ParseFloat`:idx: + `strutils.html#126 `_ + + `ParseInt`:idx: + `strutils.html#125 `_ + + `PathSep`:idx: + `os.html#105 `_ + + `PFloat32`:idx: + `system.html#269 `_ + + `PFloat64`:idx: + `system.html#270 `_ + + `PInt32`:idx: + `system.html#272 `_ + + `PInt64`:idx: + `system.html#271 `_ + + `PObject`:idx: + `system.html#117 `_ + + `pointers`:idx: + `manual.html#159 `_ + + `Positive`:idx: + `system.html#115 `_ + + `pow`:idx: + `math.html#121 `_ + + `pred`:idx: + `system.html#142 `_ + + `procedural type`:idx: + `manual.html#162 `_ + + `procedures`:idx: + `manual.html#201 `_ + + `push/pop`:idx: + `manual.html#230 `_ + + `putEnv`:idx: + `os.html#139 `_ + + `quit`:idx: + `system.html#286 `_ + + `QuitFailure`:idx: + `system.html#274 `_ + + `QuitSuccess`:idx: + `system.html#273 `_ + + `quotation mark`:idx: + `manual.html#128 `_ + + `random`:idx: + `math.html#104 `_ + + `randomize`:idx: + `math.html#105 `_ + + `range`:idx: + `system.html#107 `_ + + `re-raised`:idx: + `manual.html#185 `_ + + `readBuffer`:idx: + `system.html#384 `_ + + `ReadBytes`:idx: + `system.html#382 `_ + + `readChar`:idx: + `system.html#369 `_ + + `ReadChars`:idx: + `system.html#383 `_ + + `readFile`:idx: + `system.html#371 `_ + + `readLine`:idx: + `system.html#378 `_ + + `realloc`:idx: + `system.html#298 `_ + + `record`:idx: + `manual.html#155 `_ + + `Recursive module dependancies`:idx: + `manual.html#218 `_ + + `register`:idx: + `nimrodc.html#110 `_ + + `removeDir`:idx: + `os.html#134 `_ + + `removeFile`:idx: + `os.html#133 `_ + + `repeatChar`:idx: + `strutils.html#130 `_ + + `replaceStr`:idx: + `strutils.html#114 `_ + + `repr`:idx: + `system.html#254 `_ + + `result`:idx: + * `manual.html#192 `_ + * `manual.html#203 `_ + + `return`:idx: + `manual.html#191 `_ + + `safe`:idx: + `manual.html#112 `_ + + `safecall`:idx: + `manual.html#167 `_ + + `sameFile`:idx: + `os.html#144 `_ + + `scope`:idx: + * `manual.html#106 `_ + * `manual.html#219 `_ + + `separate compilation`:idx: + `manual.html#216 `_ + + `seq`:idx: + `system.html#110 `_ + + `Sequences`:idx: + `manual.html#154 `_ + + `set`:idx: + `system.html#111 `_ + + `set type`:idx: + `manual.html#158 `_ + + `setCurrentDir`:idx: + `os.html#111 `_ + + `setFilePos`:idx: + `system.html#388 `_ + + `setLen`:idx: + * `system.html#290 `_ + * `system.html#300 `_ + + `shl`:idx: + * `system.html#163 `_ + * `system.html#182 `_ + + `shr`:idx: + * `system.html#162 `_ + * `system.html#181 `_ + + `simple assertions`:idx: + `regexprs.html#103 `_ + + `simple statements`:idx: + `manual.html#175 `_ + + `sinh`:idx: + `math.html#118 `_ + + `sizeof`:idx: + `system.html#140 `_ + + `split`:idx: + `strutils.html#117 `_ + + `SplitFilename`:idx: + `os.html#123 `_ + + `SplitPath`:idx: + `os.html#119 `_ + + `splitSeq`:idx: + `strutils.html#118 `_ + + `sqrt`:idx: + * `math.html#106 `_ + * `complex.html#109 `_ + + `stack_trace`:idx: + `nimrodc.html#106 `_ + + `startsWith`:idx: + `strutils.html#131 `_ + + `Statements`:idx: + `manual.html#174 `_ + + `static error`:idx: + `manual.html#109 `_ + + `static type`:idx: + `manual.html#103 `_ + + `stdcall`:idx: + `manual.html#165 `_ + + `stderr`:idx: + `system.html#365 `_ + + `stdin`:idx: + `system.html#363 `_ + + `stdout`:idx: + `system.html#364 `_ + + `string`:idx: + `manual.html#151 `_ + + `strip`:idx: + `strutils.html#105 `_ + + `strStart`:idx: + `strutils.html#103 `_ + + `structured type`:idx: + `manual.html#152 `_ + + `style-insensitive`:idx: + `manual.html#118 `_ + + `subrange`:idx: + `manual.html#150 `_ + + `succ`:idx: + `system.html#141 `_ + + `swap`:idx: + `system.html#302 `_ + + `syscall`:idx: + `manual.html#172 `_ + + `system`:idx: + `manual.html#220 `_ + + `tabulator`:idx: + `manual.html#125 `_ + + `TAddress`:idx: + `system.html#255 `_ + + `tan`:idx: + `math.html#119 `_ + + `tanh`:idx: + `math.html#120 `_ + + `TCharSet`:idx: + `strutils.html#101 `_ + + `TComplex`:idx: + `complex.html#101 `_ + + `template`:idx: + `manual.html#211 `_ + + `TEndian`:idx: + `system.html#268 `_ + + `TFile`:idx: + `system.html#361 `_ + + `TFileMode`:idx: + `system.html#362 `_ + + `TFloatClass`:idx: + `math.html#122 `_ + + `TGC_Strategy`:idx: + `system.html#357 `_ + + `TimeInfoToTime`:idx: + `times.html#108 `_ + + `TMonth`:idx: + `times.html#101 `_ + + `toBiggestFloat`:idx: + `system.html#283 `_ + + `toBiggestInt`:idx: + `system.html#285 `_ + + `toBin`:idx: + `strutils.html#135 `_ + + `TObject`:idx: + `system.html#116 `_ + + `toFloat`:idx: + `system.html#282 `_ + + `toHex`:idx: + `strutils.html#123 `_ + + `toInt`:idx: + `system.html#284 `_ + + `toLower`:idx: + * `strutils.html#106 `_ + * `strutils.html#107 `_ + + `toOct`:idx: + `strutils.html#134 `_ + + `toOctal`:idx: + `strutils.html#116 `_ + + `toString`:idx: + `strutils.html#127 `_ + + `toU16`:idx: + `system.html#308 `_ + + `toU32`:idx: + `system.html#309 `_ + + `toU8`:idx: + `system.html#307 `_ + + `toUpper`:idx: + * `strutils.html#108 `_ + * `strutils.html#109 `_ + + `traced`:idx: + `manual.html#160 `_ + + `TResult`:idx: + `system.html#139 `_ + + `try`:idx: + `manual.html#187 `_ + + `TTime`:idx: + `times.html#103 `_ + + `TTimeInfo`:idx: + `times.html#104 `_ + + `tuple`:idx: + `system.html#112 `_ + + `TWeekDay`:idx: + `times.html#102 `_ + + `type`:idx: + * `manual.html#102 `_ + * `manual.html#141 `_ + * `manual.html#208 `_ + + `type parameters`:idx: + `manual.html#210 `_ + + `type suffix`:idx: + `manual.html#138 `_ + + `unchecked runtime error`:idx: + `manual.html#111 `_ + + `undef`:idx: + `manual.html#225 `_ + + `UnixToNativePath`:idx: + `os.html#122 `_ + + `unsigned integer`:idx: + `manual.html#143 `_ + + `unsigned operations`:idx: + `manual.html#144 `_ + + `untraced`:idx: + `manual.html#161 `_ + + `Var`:idx: + `manual.html#179 `_ + + `varargs`:idx: + `nimrodc.html#102 `_ + + `vertical tabulator`:idx: + `manual.html#126 `_ + + `volatile`:idx: + `nimrodc.html#109 `_ + + `walkFiles`:idx: + `os.html#146 `_ + + `warning`:idx: + * `manual.html#222 `_ + * `manual.html#228 `_ + + `when`:idx: + `manual.html#183 `_ + + `while`:idx: + `manual.html#196 `_ + + `Whitespace`:idx: + `strutils.html#102 `_ + + `write`:idx: + * `system.html#372 `_ + * `system.html#373 `_ + * `system.html#374 `_ + * `system.html#375 `_ + * `system.html#376 `_ + * `system.html#377 `_ + + `writeBuffer`:idx: + `system.html#387 `_ + + `writeBytes`:idx: + `system.html#385 `_ + + `writeChars`:idx: + `system.html#386 `_ + + `writeln`:idx: + `system.html#379 `_ + + `xor`:idx: + * `system.html#166 `_ + * `system.html#185 `_ + * `system.html#206 `_ + + `yield`:idx: + `manual.html#193 `_ + + `ze`:idx: + * `system.html#303 `_ + * `system.html#304 `_ + * `system.html#306 `_ + + `ze64`:idx: + `system.html#305 `_ + + `zeroMem`:idx: `system.html#292 `_ \ No newline at end of file diff --git a/doc/tutorial.txt b/doc/tutorial.txt old mode 100755 new mode 100644 diff --git a/dos2unix.py b/dos2unix.py old mode 100755 new mode 100644 diff --git a/gcccpuopt.sh b/gcccpuopt.sh old mode 100755 new mode 100644 diff --git a/ide/main.nim b/ide/main.nim old mode 100755 new mode 100644 diff --git a/ide/nimide.glade b/ide/nimide.glade old mode 100755 new mode 100644 diff --git a/install.txt b/install.txt old mode 100755 new mode 100644 index f08bc40bda..741181237e --- a/install.txt +++ b/install.txt @@ -1,5 +1,26 @@ -Note: Installation does not work yet - you have to bootstrap. Play with the -``koch.py`` script to compile the compiler. +Installation +============ + +Installation on Windows - the easy way +-------------------------------------- + +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. + + + +Installation on UNIX +-------------------- + +Note: + A C compiler is required - knowledge of C is not! + +**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 `_ compiler. Compile the compiler:: python koch.py nim @@ -8,16 +29,6 @@ To bootstrap (does not work yet):: python koch.py boot - -Installation -============ - -Note: - A C compiler is required - knowledge of C is not! - -Installation on UNIX --------------------- - 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 distributions do not ship with a C compiler preinstalled - then you have to @@ -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 old mode 100755 new mode 100644 index 330db5720d..73b38cdaf7 --- 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 old mode 100755 new mode 100644 diff --git a/lib/amd64.asm.in b/lib/amd64.asm.in old mode 100755 new mode 100644 diff --git a/lib/ansi_c.nim b/lib/ansi_c.nim old mode 100755 new mode 100644 diff --git a/lib/arithm.nim b/lib/arithm.nim old mode 100755 new mode 100644 diff --git a/lib/assign.nim b/lib/assign.nim old mode 100755 new mode 100644 diff --git a/lib/base/dialogs.nim b/lib/base/dialogs.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/atk.nim b/lib/base/gtk/atk.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/gdk2.nim b/lib/base/gtk/gdk2.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/gdk2pixbuf.nim b/lib/base/gtk/gdk2pixbuf.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/gdkglext.nim b/lib/base/gtk/gdkglext.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/glib2.nim b/lib/base/gtk/glib2.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/gtk2.nim b/lib/base/gtk/gtk2.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/gtkglext.nim b/lib/base/gtk/gtkglext.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/gtkhtml.nim b/lib/base/gtk/gtkhtml.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/libglade2.nim b/lib/base/gtk/libglade2.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/pango.nim b/lib/base/gtk/pango.nim old mode 100755 new mode 100644 diff --git a/lib/base/gtk/pangoutils.nim b/lib/base/gtk/pangoutils.nim old mode 100755 new mode 100644 diff --git a/lib/base/nregex.nim b/lib/base/nregex.nim old mode 100755 new mode 100644 diff --git a/lib/base/pcre.nim b/lib/base/pcre.nim old mode 100755 new mode 100644 diff --git a/lib/base/pcre_all.c b/lib/base/pcre_all.c old mode 100755 new mode 100644 diff --git a/lib/base/regexprs.nim b/lib/base/regexprs.nim old mode 100755 new mode 100644 diff --git a/lib/cntbits.nim b/lib/cntbits.nim old mode 100755 new mode 100644 diff --git a/lib/complex.nim b/lib/complex.nim old mode 100755 new mode 100644 diff --git a/lib/copying.txt b/lib/copying.txt old mode 100755 new mode 100644 diff --git a/lib/debugger.nim b/lib/debugger.nim old mode 100755 new mode 100644 diff --git a/lib/dlmalloc.c b/lib/dlmalloc.c old mode 100755 new mode 100644 diff --git a/lib/dlmalloc.h b/lib/dlmalloc.h old mode 100755 new mode 100644 diff --git a/lib/dyncalls.nim b/lib/dyncalls.nim old mode 100755 new mode 100644 diff --git a/lib/excpt.nim b/lib/excpt.nim old mode 100755 new mode 100644 diff --git a/lib/gc.nim b/lib/gc.nim old mode 100755 new mode 100644 diff --git a/lib/hti.nim b/lib/hti.nim old mode 100755 new mode 100644 diff --git a/lib/i386.asm.in b/lib/i386.asm.in old mode 100755 new mode 100644 diff --git a/lib/int64s.nim b/lib/int64s.nim old mode 100755 new mode 100644 diff --git a/lib/lgpl.txt b/lib/lgpl.txt old mode 100755 new mode 100644 diff --git a/lib/locks.nim b/lib/locks.nim old mode 100755 new mode 100644 diff --git a/lib/math.nim b/lib/math.nim old mode 100755 new mode 100644 diff --git a/lib/memman.nim b/lib/memman.nim old mode 100755 new mode 100644 diff --git a/lib/nimbase.h b/lib/nimbase.h old mode 100755 new mode 100644 diff --git a/lib/optparse.nim b/lib/optparse.nim old mode 100755 new mode 100644 diff --git a/lib/os.nim b/lib/os.nim old mode 100755 new mode 100644 index 5f9ea88a12..cd835c480a --- 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 old mode 100755 new mode 100644 diff --git a/lib/powerpc.asm.in b/lib/powerpc.asm.in old mode 100755 new mode 100644 diff --git a/lib/process.nim b/lib/process.nim old mode 100755 new mode 100644 diff --git a/lib/ptrset.nim b/lib/ptrset.nim old mode 100755 new mode 100644 diff --git a/lib/repr.nim b/lib/repr.nim old mode 100755 new mode 100644 diff --git a/lib/sets.nim b/lib/sets.nim old mode 100755 new mode 100644 diff --git a/lib/strutils.nim b/lib/strutils.nim old mode 100755 new mode 100644 diff --git a/lib/sysio.nim b/lib/sysio.nim old mode 100755 new mode 100644 diff --git a/lib/sysstr.nim b/lib/sysstr.nim old mode 100755 new mode 100644 diff --git a/lib/system.nim b/lib/system.nim old mode 100755 new mode 100644 diff --git a/lib/times.nim b/lib/times.nim old mode 100755 new mode 100644 diff --git a/lib/typeinfo.nim b/lib/typeinfo.nim old mode 100755 new mode 100644 diff --git a/lib/unicode.nim b/lib/unicode.nim old mode 100755 new mode 100644 diff --git a/lib/windows/mmsystem.nim b/lib/windows/mmsystem.nim old mode 100755 new mode 100644 diff --git a/lib/windows/nb30.nim b/lib/windows/nb30.nim old mode 100755 new mode 100644 diff --git a/lib/windows/ole2.nim b/lib/windows/ole2.nim old mode 100755 new mode 100644 diff --git a/lib/windows/shellapi.nim b/lib/windows/shellapi.nim old mode 100755 new mode 100644 diff --git a/lib/windows/shfolder.nim b/lib/windows/shfolder.nim old mode 100755 new mode 100644 diff --git a/lib/windows/windows.nim b/lib/windows/windows.nim old mode 100755 new mode 100644 diff --git a/makefile b/makefile old mode 100755 new mode 100644 diff --git a/nim/ast.pas b/nim/ast.pas old mode 100755 new mode 100644 diff --git a/nim/astalgo.pas b/nim/astalgo.pas old mode 100755 new mode 100644 diff --git a/nim/backends.pas b/nim/backends.pas old mode 100755 new mode 100644 diff --git a/nim/bitsets.pas b/nim/bitsets.pas old mode 100755 new mode 100644 diff --git a/nim/ccgexprs.pas b/nim/ccgexprs.pas old mode 100755 new mode 100644 diff --git a/nim/ccgstmts.pas b/nim/ccgstmts.pas old mode 100755 new mode 100644 diff --git a/nim/ccgtypes.pas b/nim/ccgtypes.pas old mode 100755 new mode 100644 diff --git a/nim/ccgutils.pas b/nim/ccgutils.pas old mode 100755 new mode 100644 diff --git a/nim/cgen.pas b/nim/cgen.pas old mode 100755 new mode 100644 index cb89cd9102..9c0e122f28 --- 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 old mode 100755 new mode 100644 diff --git a/nim/commands.pas b/nim/commands.pas old mode 100755 new mode 100644 diff --git a/nim/condsyms.pas b/nim/condsyms.pas old mode 100755 new mode 100644 diff --git a/nim/config.inc b/nim/config.inc old mode 100755 new mode 100644 diff --git a/nim/copying.txt b/nim/copying.txt old mode 100755 new mode 100644 diff --git a/nim/crc.pas b/nim/crc.pas old mode 100755 new mode 100644 diff --git a/nim/docgen.pas b/nim/docgen.pas old mode 100755 new mode 100644 diff --git a/nim/eval.pas b/nim/eval.pas old mode 100755 new mode 100644 diff --git a/nim/extccomp.pas b/nim/extccomp.pas old mode 100755 new mode 100644 index 6fdec11868..0fc24f8d3c --- 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) @@ -60,6 +60,21 @@ const asmStmtFrmt: 'asm($1);$n'; 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'; diff --git a/nim/genhelp.pas b/nim/genhelp.pas old mode 100755 new mode 100644 diff --git a/nim/gpl.html b/nim/gpl.html old mode 100755 new mode 100644 diff --git a/nim/hashes.pas b/nim/hashes.pas old mode 100755 new mode 100644 diff --git a/nim/highlite.pas b/nim/highlite.pas old mode 100755 new mode 100644 diff --git a/nim/idents.pas b/nim/idents.pas old mode 100755 new mode 100644 diff --git a/nim/importer.pas b/nim/importer.pas old mode 100755 new mode 100644 diff --git a/nim/instgen.pas b/nim/instgen.pas old mode 100755 new mode 100644 diff --git a/nim/lexbase.pas b/nim/lexbase.pas old mode 100755 new mode 100644 diff --git a/nim/lists.pas b/nim/lists.pas old mode 100755 new mode 100644 diff --git a/nim/llvmdyn.pas b/nim/llvmdyn.pas old mode 100755 new mode 100644 diff --git a/nim/llvmstat.pas b/nim/llvmstat.pas old mode 100755 new mode 100644 diff --git a/nim/lookup.pas b/nim/lookup.pas old mode 100755 new mode 100644 diff --git a/nim/magicsys.pas b/nim/magicsys.pas old mode 100755 new mode 100644 diff --git a/nim/main.pas b/nim/main.pas old mode 100755 new mode 100644 diff --git a/nim/msgs.pas b/nim/msgs.pas old mode 100755 new mode 100644 diff --git a/nim/nimconf.pas b/nim/nimconf.pas old mode 100755 new mode 100644 diff --git a/nim/nimrod.pas b/nim/nimrod.pas old mode 100755 new mode 100644 diff --git a/nim/nimsets.pas b/nim/nimsets.pas old mode 100755 new mode 100644 diff --git a/nim/nmath.pas b/nim/nmath.pas old mode 100755 new mode 100644 diff --git a/nim/nos.pas b/nim/nos.pas old mode 100755 new mode 100644 diff --git a/nim/nsystem.pas b/nim/nsystem.pas old mode 100755 new mode 100644 diff --git a/nim/ntime.pas b/nim/ntime.pas old mode 100755 new mode 100644 diff --git a/nim/nversion.pas b/nim/nversion.pas old mode 100755 new mode 100644 index f59a2e756e..6b6ee61697 --- 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 old mode 100755 new mode 100644 diff --git a/nim/paslex.pas b/nim/paslex.pas old mode 100755 new mode 100644 diff --git a/nim/pasparse.pas b/nim/pasparse.pas old mode 100755 new mode 100644 diff --git a/nim/platform.pas b/nim/platform.pas old mode 100755 new mode 100644 diff --git a/nim/pnimsyn.pas b/nim/pnimsyn.pas old mode 100755 new mode 100644 diff --git a/nim/pragmas.pas b/nim/pragmas.pas old mode 100755 new mode 100644 diff --git a/nim/procfind.pas b/nim/procfind.pas old mode 100755 new mode 100644 diff --git a/nim/readme.txt b/nim/readme.txt old mode 100755 new mode 100644 diff --git a/nim/rnimsyn.pas b/nim/rnimsyn.pas old mode 100755 new mode 100644 diff --git a/nim/rodgen.pas b/nim/rodgen.pas old mode 100755 new mode 100644 diff --git a/nim/ropes.pas b/nim/ropes.pas old mode 100755 new mode 100644 diff --git a/nim/rst.pas b/nim/rst.pas old mode 100755 new mode 100644 diff --git a/nim/scanner.pas b/nim/scanner.pas old mode 100755 new mode 100644 diff --git a/nim/sem.pas b/nim/sem.pas old mode 100755 new mode 100644 diff --git a/nim/semexprs.pas b/nim/semexprs.pas old mode 100755 new mode 100644 diff --git a/nim/semfold.pas b/nim/semfold.pas old mode 100755 new mode 100644 diff --git a/nim/semstmts.pas b/nim/semstmts.pas old mode 100755 new mode 100644 diff --git a/nim/semtempl.pas b/nim/semtempl.pas old mode 100755 new mode 100644 diff --git a/nim/semtypes.pas b/nim/semtypes.pas old mode 100755 new mode 100644 diff --git a/nim/sigmatch.pas b/nim/sigmatch.pas old mode 100755 new mode 100644 diff --git a/nim/strutils.pas b/nim/strutils.pas old mode 100755 new mode 100644 diff --git a/nim/syntaxes.pas b/nim/syntaxes.pas old mode 100755 new mode 100644 diff --git a/nim/transf.pas b/nim/transf.pas old mode 100755 new mode 100644 diff --git a/nim/transtmp.pas b/nim/transtmp.pas old mode 100755 new mode 100644 diff --git a/nim/trees.pas b/nim/trees.pas old mode 100755 new mode 100644 diff --git a/nim/treetab.pas b/nim/treetab.pas old mode 100755 new mode 100644 diff --git a/nim/types.pas b/nim/types.pas old mode 100755 new mode 100644 diff --git a/nim/vis.pas b/nim/vis.pas old mode 100755 new mode 100644 diff --git a/nim/wordrecg.pas b/nim/wordrecg.pas old mode 100755 new mode 100644 diff --git a/nimrod.aip b/nimrod.aip old mode 100755 new mode 100644 diff --git a/obj/empty.txt b/obj/empty.txt old mode 100755 new mode 100644 diff --git a/readme.txt b/readme.txt old mode 100755 new mode 100644 index e821277154..bfff6217b7 --- 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 old mode 100755 new mode 100644 diff --git a/tests/bench/GCBench.c b/tests/bench/GCBench.c old mode 100755 new mode 100644 diff --git a/tests/bench/GCBench.cpp b/tests/bench/GCBench.cpp old mode 100755 new mode 100644 diff --git a/tests/bench/GCBench.java b/tests/bench/GCBench.java old mode 100755 new mode 100644 diff --git a/tests/bench/GCBench_OGC.cpp b/tests/bench/GCBench_OGC.cpp old mode 100755 new mode 100644 diff --git a/tests/bench/gcbench.nim b/tests/bench/gcbench.nim old mode 100755 new mode 100644 diff --git a/tests/bench/prof.c b/tests/bench/prof.c old mode 100755 new mode 100644 diff --git a/tests/gc.bpf b/tests/gc.bpf old mode 100755 new mode 100644 diff --git a/tests/gc.bpr b/tests/gc.bpr old mode 100755 new mode 100644 diff --git a/tests/gctest.nim b/tests/gctest.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex1.nim b/tests/gtk/ex1.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex2.nim b/tests/gtk/ex2.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex3.nim b/tests/gtk/ex3.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex4.nim b/tests/gtk/ex4.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex5.nim b/tests/gtk/ex5.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex6.nim b/tests/gtk/ex6.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex7.nim b/tests/gtk/ex7.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex8.nim b/tests/gtk/ex8.nim old mode 100755 new mode 100644 diff --git a/tests/gtk/ex9.nim b/tests/gtk/ex9.nim old mode 100755 new mode 100644 diff --git a/tests/hallo.bpf b/tests/hallo.bpf old mode 100755 new mode 100644 diff --git a/tests/hallo.bpr b/tests/hallo.bpr old mode 100755 new mode 100644 diff --git a/tests/iotest.bpf b/tests/iotest.bpf old mode 100755 new mode 100644 diff --git a/tests/iotest.bpr b/tests/iotest.bpr old mode 100755 new mode 100644 diff --git a/tests/mambsym1.nim b/tests/mambsym1.nim old mode 100755 new mode 100644 diff --git a/tests/mambsym2.nim b/tests/mambsym2.nim old mode 100755 new mode 100644 diff --git a/tests/mambsys1.nim b/tests/mambsys1.nim old mode 100755 new mode 100644 diff --git a/tests/mambsys2.nim b/tests/mambsys2.nim old mode 100755 new mode 100644 diff --git a/tests/minit.nim b/tests/minit.nim old mode 100755 new mode 100644 diff --git a/tests/mnamspc1.nim b/tests/mnamspc1.nim old mode 100755 new mode 100644 diff --git a/tests/mnamspc2.nim b/tests/mnamspc2.nim old mode 100755 new mode 100644 diff --git a/tests/mopaque.nim b/tests/mopaque.nim old mode 100755 new mode 100644 diff --git a/tests/mrecmod.nim b/tests/mrecmod.nim old mode 100755 new mode 100644 diff --git a/tests/mvarious.nim b/tests/mvarious.nim old mode 100755 new mode 100644 diff --git a/tests/readme.txt b/tests/readme.txt old mode 100755 new mode 100644 diff --git a/tests/rectest/rectest.nim b/tests/rectest/rectest.nim old mode 100755 new mode 100644 diff --git a/tests/scantest.nim b/tests/scantest.nim old mode 100755 new mode 100644 diff --git a/tests/sdltest.nim b/tests/sdltest.nim old mode 100755 new mode 100644 diff --git a/tests/seqcon.bpf b/tests/seqcon.bpf old mode 100755 new mode 100644 diff --git a/tests/seqcon.bpr b/tests/seqcon.bpr old mode 100755 new mode 100644 diff --git a/tests/tack.nim b/tests/tack.nim old mode 100755 new mode 100644 diff --git a/tests/tambsym.nim b/tests/tambsym.nim old mode 100755 new mode 100644 diff --git a/tests/tambsys.nim b/tests/tambsys.nim old mode 100755 new mode 100644 diff --git a/tests/tarray.nim b/tests/tarray.nim old mode 100755 new mode 100644 diff --git a/tests/tarrindx.nim b/tests/tarrindx.nim old mode 100755 new mode 100644 diff --git a/tests/tassert.nim b/tests/tassert.nim old mode 100755 new mode 100644 diff --git a/tests/tassign.nim b/tests/tassign.nim old mode 100755 new mode 100644 diff --git a/tests/tblock1.nim b/tests/tblock1.nim old mode 100755 new mode 100644 diff --git a/tests/tcasestm.nim b/tests/tcasestm.nim old mode 100755 new mode 100644 diff --git a/tests/tcmdline.nim b/tests/tcmdline.nim old mode 100755 new mode 100644 diff --git a/tests/tconstr1.nim b/tests/tconstr1.nim old mode 100755 new mode 100644 diff --git a/tests/tconstr2.nim b/tests/tconstr2.nim old mode 100755 new mode 100644 diff --git a/tests/tcopy.nim b/tests/tcopy.nim old mode 100755 new mode 100644 diff --git a/tests/tdialogs.nim b/tests/tdialogs.nim old mode 100755 new mode 100644 diff --git a/tests/tendian.nim b/tests/tendian.nim old mode 100755 new mode 100644 diff --git a/tests/tenum.nim b/tests/tenum.nim old mode 100755 new mode 100644 diff --git a/tests/tformat.nim b/tests/tformat.nim old mode 100755 new mode 100644 diff --git a/tests/tforwty.nim b/tests/tforwty.nim old mode 100755 new mode 100644 diff --git a/tests/tforwty2.nim b/tests/tforwty2.nim old mode 100755 new mode 100644 diff --git a/tests/tgeneric.nim b/tests/tgeneric.nim old mode 100755 new mode 100644 diff --git a/tests/tgtk.nim b/tests/tgtk.nim old mode 100755 new mode 100644 diff --git a/tests/thallo.dot b/tests/thallo.dot old mode 100755 new mode 100644 diff --git a/tests/thallo.nim b/tests/thallo.nim old mode 100755 new mode 100644 diff --git a/tests/tillrec.nim b/tests/tillrec.nim old mode 100755 new mode 100644 diff --git a/tests/tinit.nim b/tests/tinit.nim old mode 100755 new mode 100644 diff --git a/tests/tinout.nim b/tests/tinout.nim old mode 100755 new mode 100644 diff --git a/tests/tinvwhen.nim b/tests/tinvwhen.nim old mode 100755 new mode 100644 diff --git a/tests/tio.nim b/tests/tio.nim old mode 100755 new mode 100644 diff --git a/tests/titer.nim b/tests/titer.nim old mode 100755 new mode 100644 diff --git a/tests/tlastmod.nim b/tests/tlastmod.nim old mode 100755 new mode 100644 diff --git a/tests/tloops.nim b/tests/tloops.nim old mode 100755 new mode 100644 diff --git a/tests/tlowhigh.nim b/tests/tlowhigh.nim old mode 100755 new mode 100644 diff --git a/tests/tmath.nim b/tests/tmath.nim old mode 100755 new mode 100644 diff --git a/tests/tnamspc.nim b/tests/tnamspc.nim old mode 100755 new mode 100644 diff --git a/tests/tnestif.nim b/tests/tnestif.nim old mode 100755 new mode 100644 diff --git a/tests/tnew.bpf b/tests/tnew.bpf old mode 100755 new mode 100644 diff --git a/tests/tnew.bpr b/tests/tnew.bpr old mode 100755 new mode 100644 diff --git a/tests/tnew.nim b/tests/tnew.nim old mode 100755 new mode 100644 diff --git a/tests/tnewsets.nim b/tests/tnewsets.nim old mode 100755 new mode 100644 diff --git a/tests/tnewuns.nim b/tests/tnewuns.nim old mode 100755 new mode 100644 diff --git a/tests/tnoop.nim b/tests/tnoop.nim old mode 100755 new mode 100644 diff --git a/tests/tobject2.nim b/tests/tobject2.nim old mode 100755 new mode 100644 diff --git a/tests/tobjects.nim b/tests/tobjects.nim old mode 100755 new mode 100644 diff --git a/tests/topaque.nim b/tests/topaque.nim old mode 100755 new mode 100644 diff --git a/tests/toptions.nim b/tests/toptions.nim old mode 100755 new mode 100644 diff --git a/tests/toverflw.nim b/tests/toverflw.nim old mode 100755 new mode 100644 diff --git a/tests/toverl.nim b/tests/toverl.nim old mode 100755 new mode 100644 diff --git a/tests/toverlop.nim b/tests/toverlop.nim old mode 100755 new mode 100644 diff --git a/tests/toverwr.nim b/tests/toverwr.nim old mode 100755 new mode 100644 diff --git a/tests/tovfint.nim b/tests/tovfint.nim old mode 100755 new mode 100644 diff --git a/tests/tparedef.nim b/tests/tparedef.nim old mode 100755 new mode 100644 diff --git a/tests/tpos.nim b/tests/tpos.nim old mode 100755 new mode 100644 diff --git a/tests/tposix.nim b/tests/tposix.nim old mode 100755 new mode 100644 diff --git a/tests/tprep.nim b/tests/tprep.nim old mode 100755 new mode 100644 diff --git a/tests/tprintf.nim b/tests/tprintf.nim old mode 100755 new mode 100644 diff --git a/tests/tprocvar.nim b/tests/tprocvar.nim old mode 100755 new mode 100644 diff --git a/tests/tpush.nim b/tests/tpush.nim old mode 100755 new mode 100644 diff --git a/tests/tquit.nim b/tests/tquit.nim old mode 100755 new mode 100644 diff --git a/tests/trawstr.nim b/tests/trawstr.nim old mode 100755 new mode 100644 diff --git a/tests/treadln.nim b/tests/treadln.nim old mode 100755 new mode 100644 diff --git a/tests/trecmod.nim b/tests/trecmod.nim old mode 100755 new mode 100644 diff --git a/tests/trectype.nim b/tests/trectype.nim old mode 100755 new mode 100644 diff --git a/tests/trefs.nim b/tests/trefs.nim old mode 100755 new mode 100644 diff --git a/tests/tregex.nim b/tests/tregex.nim old mode 100755 new mode 100644 diff --git a/tests/treguse.nim b/tests/treguse.nim old mode 100755 new mode 100644 diff --git a/tests/trepr.nim b/tests/trepr.nim old mode 100755 new mode 100644 diff --git a/tests/tseqcon.nim b/tests/tseqcon.nim old mode 100755 new mode 100644 diff --git a/tests/tsets.nim b/tests/tsets.nim old mode 100755 new mode 100644 diff --git a/tests/tsimtych.nim b/tests/tsimtych.nim old mode 100755 new mode 100644 diff --git a/tests/tsizeof.nim b/tests/tsizeof.nim old mode 100755 new mode 100644 diff --git a/tests/tstatret.nim b/tests/tstatret.nim old mode 100755 new mode 100644 diff --git a/tests/tstmtexp.nim b/tests/tstmtexp.nim old mode 100755 new mode 100644 diff --git a/tests/tstrace.nim b/tests/tstrace.nim old mode 100755 new mode 100644 diff --git a/tests/tstrange.nim b/tests/tstrange.nim old mode 100755 new mode 100644 diff --git a/tests/tstrdesc.nim b/tests/tstrdesc.nim old mode 100755 new mode 100644 diff --git a/tests/tstrdist.nim b/tests/tstrdist.nim old mode 100755 new mode 100644 diff --git a/tests/tstrutil.nim b/tests/tstrutil.nim old mode 100755 new mode 100644 diff --git a/tests/ttime.nim b/tests/ttime.nim old mode 100755 new mode 100644 diff --git a/tests/tvardecl.nim b/tests/tvardecl.nim old mode 100755 new mode 100644 diff --git a/tests/tvarious.nim b/tests/tvarious.nim old mode 100755 new mode 100644 diff --git a/tests/tvarnums.nim b/tests/tvarnums.nim old mode 100755 new mode 100644 diff --git a/tests/twalker.nim b/tests/twalker.nim old mode 100755 new mode 100644 diff --git a/tests/typredef.nim b/tests/typredef.nim old mode 100755 new mode 100644 diff --git a/tests/walker.bpf b/tests/walker.bpf old mode 100755 new mode 100644 diff --git a/tests/walker.bpr b/tests/walker.bpr old mode 100755 new mode 100644 diff --git a/tests/wingui.nim b/tests/wingui.nim old mode 100755 new mode 100644 diff --git a/todo.txt b/todo.txt old mode 100755 new mode 100644 diff --git a/unix2dos.py b/unix2dos.py old mode 100755 new mode 100644 diff --git a/web/documentation.txt b/web/documentation.txt old mode 100755 new mode 100644 diff --git a/web/docutils.tmpl b/web/docutils.tmpl old mode 100755 new mode 100644 diff --git a/web/download.txt b/web/download.txt old mode 100755 new mode 100644 index a349734297..e58af7840e --- 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): ``_ -* source for Unix (including MacOS X): ``_ +* source for Unix (including MacOS X): ``_ +* binary and source for Windows (95, 98, XP): ``_ + (includes LLVM and everything else you need) .. include:: ../install.txt diff --git a/web/genweb.py b/web/genweb.py old mode 100755 new mode 100644 diff --git a/web/index.txt b/web/index.txt old mode 100755 new mode 100644 index daf9508239..c689a6ce7d --- 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 old mode 100755 new mode 100644 index 82389f327d..baaf36144e --- 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 old mode 100755 new mode 100644 index d54acd7b2b..d92bbfe403 --- 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 old mode 100755 new mode 100644 index aee12a1e6a..40f9ea67ea --- 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 old mode 100755 new mode 100644 diff --git a/web/style/graphic.jpg b/web/style/graphic.jpg old mode 100755 new mode 100644 diff --git a/web/style/link.png b/web/style/link.png old mode 100755 new mode 100644 diff --git a/web/style/logo.jpg b/web/style/logo.jpg old mode 100755 new mode 100644 diff --git a/web/style/menu.png b/web/style/menu.png old mode 100755 new mode 100644 diff --git a/web/style/menu_hover.png b/web/style/menu_hover.png old mode 100755 new mode 100644 diff --git a/web/style/sbi_header.png b/web/style/sbi_header.png old mode 100755 new mode 100644 diff --git a/web/style/style.css b/web/style/style.css old mode 100755 new mode 100644 diff --git a/web/sunset.tmpl b/web/sunset.tmpl old mode 100755 new mode 100644 diff --git a/web/theindex.txt b/web/theindex.txt old mode 100755 new mode 100644 diff --git a/web/voidspace.css b/web/voidspace.css old mode 100755 new mode 100644 diff --git a/whiteutils.py b/whiteutils.py old mode 100755 new mode 100644