Commit graph

47 commits

Author SHA1 Message Date
Jan Nieuwenhuizen abcd24f517
doc: Release update.
* HACKING (prefix): Update.
* INSTALL (http): Update.
* NEWS: Update.
* README (C-compiler): Update.
* doc/announce/ANNOUNCE-0.17: Update.
2018-08-10 00:22:05 +02:00
Jan Nieuwenhuizen 46e0641e9c
mescc: Mes C Library: Add x86_64 libc-mini support.
* lib/linux/x86-mes-gcc/mini.c: Rename from lib/linux/mini-gcc.c.
* lib/linux/x86-mes/mini.c: Rename from lib/linux/mini-mes.c.
* lib/linux/x86_64-mes-gcc/crt1.c: Rename from lib/linux/x86_64/crt1.c.
* lib/linux/x86_64-mes-gcc/mini.c: New file.
* build-aux/build-cc.sh: Build libc-mini, scaffold/main, scaffold/hello.
* build-aux/cc64.sh: New file.
2018-08-10 17:05:01 +02:00
Jan Nieuwenhuizen 54bfc90850
doc: Release update.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* doc/announce/ANNOUNCE-0.17: New file.
2018-07-22 16:21:50 +02:00
Jan Nieuwenhuizen f1778a7a0c
Add missing copyright headers.
* .dir-locals.el: Add copyright header.
* AUTHORS: Likewise.
* HACKING: Likewise.
* INSTALL: Likewise.
* README: Likewise.
* build-aux/export.make: Likewise.
* build-aux/setup-mes.sh: Likewise.
* configure.sh: Likewise.
* install.sh: Likewise.
* scaffold/tests/90-goto-var.c: Likewise.
* scaffold/tests/91-goto-array.c: Likewise.
* tests/read.test: Likewise.
* uninstall.sh: Likewise.
* doc/fosdem/beamercolorthemeX.sty:
* doc/fosdem/beamerthemeX.sty:
* doc/fosdem/html.sty: Remove.
* doc/fosdem/README: New file.
* doc/images/README: New file.
2018-07-23 19:10:34 +02:00
Jan Nieuwenhuizen 72cb975213
GNU Mes.
Throughout, make these changes

   Copyright headers: GNU Mes
   First mention of name: GNU Mes
   Website: https://www.gnu.org/software/mes
   Git:     git://git.savannah.gnu.org/mes.git
2018-07-22 14:24:36 +02:00
Jan Nieuwenhuizen 53c0941937
guix: Refactor package setup.
Next to the convenient environment setup and package build from git

   guix environment -l .guix.scm
   guix build -f .guix.scm

we can now also build other included packages

    GUIX_PACKAGE_PATH=guix guix build mes@0.17
    GUIX_PACKAGE_PATH=guix guix build nyacc@0.80.42

* guix/git/mes.scm: Move from .guix.scm, make a module.
* .guix.scm: Move from guix.scm, use it.
* build-aux/manifest.scm: Update location.
* build-aux/pre-inst-env.in: Support it.
* configure: Check for guix.
* build-aux/export.make: Export GUIX.
* GNUmakefile (update-hash): New target.
2018-07-22 08:41:48 +02:00
Jan Nieuwenhuizen 87269a16f6
core: Document number->string INT-MIN failure with gcc-x86.
* src/mes.c (scm_symbol_arch, scm_symbol_compiler): New symbol.
  (mes_symbols, bload_env): Add them.
  (scm_symbol_gnuc, scm_symbol_mesc): Remove.
* scaffold/mini-mes.c: Likewise.
* module/mes/mes-0.scm (%arch, %compiler): New public variable.
* tests/srfi-13.test: Expect number->string INT-MIN to fail for
  gcc-x86.
* HACKING (Bugs): Add it.
2018-07-21 15:20:01 +02:00
Jan Nieuwenhuizen c0af8a1452
doc: Release update.
* BOOTSTRAP: Update.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* scaffold/tests/23-pointer.c: Add (janneke) to copyright line.
* doc/images/gcc-mesboot-graph.png: Update.
* doc/mes.texi (The Mes Bootstrap Process): Describe update.
2018-07-12 22:30:01 +02:00
Jan Nieuwenhuizen ec7d9f5d57
build: Use GNU style lower case directory configure variable naming.
* GNUmakefile: Use GNU style lower case directory configure variable naming.
* HACKING: Likewise.
* INSTALL: Likewise.
* build-aux/build-cc.sh: Likewise.
* build-aux/build-cc32.sh: Likewise.
* build-aux/cc-mes.sh: Likewise.
* build-aux/cc.sh: Likewise.
* build-aux/cc32-mes.sh: Likewise.
* build-aux/export.make: Likewise.
* build-aux/setup-mes.sh: Likewise.
* build.sh: Likewise.
* check.sh: Likewise.
* configure: Likewise.
* doc/mes.texi: Likewise.
* install.sh: Likewise.
* scripts/mescc: Likewise.
2018-07-12 22:29:59 +02:00
Jan Nieuwenhuizen 73be085f3a
doc: Release update.
* BOOTSTRAP: Update.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.16: New file.
2018-06-24 13:13:13 +02:00
Jan Nieuwenhuizen 25651c6d51
doc: Release udpate.
* BOOTSTRAP: Update.
* HACKING: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.15: New file.
2018-05-23 22:48:00 +02:00
Jan Nieuwenhuizen e411d38bbd
doc: Release udpate.
* BOOTSTRAP: Update.
* HACKING: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.14: New file.
2018-05-19 20:52:24 +02:00
Jan Nieuwenhuizen 6e32754a98
doc: Release udpate.
* BOOTSTRAP: Update.
* HACKING: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.13: New file.
2018-04-22 00:45:00 +02:00
Jan Nieuwenhuizen b65e57be31
core: Tune debug printing.
* src/mes.c: Tune debug printing.
* src/gc.c: Likewise.
* module/mes/guile.mes: Likewise.
* HACKING: Describe it.
2018-04-09 07:12:38 +02:00
Jan Nieuwenhuizen ad135d3752 doc: Release udpate.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.12: New file.
* throughout: (janneke) coming out.
2017-11-21 19:22:26 +01:00
Jan Nieuwenhuizen 0fa18b338d build: mlib/include to include, move mlib to lib.
* include: Move from mlib/include.
* lib: Move from mlib.
* BOOTSTRAP: Update.
* HACKING: Update.
* guile/guix/make.scm: Update.
* make.scm: Update.
* module/language/c99/compiler.mes: Update.
2017-11-22 16:23:48 +01:00
Jan Nieuwenhuizen 48e8711c38 doc: Release udpate.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.11: New file.
2017-11-11 13:09:26 +01:00
Jan Nieuwenhuizen 5c7ba63729 doc: Release udpate.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* doc/ANNOUNCE-0.10: New file.
* BOOTSTRAP: New file.
* make.scm: Install them.
2017-09-10 21:53:59 +02:00
Jan Nieuwenhuizen e1e8f03735 doc: Release udpate.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.9: New file.
* make.scm: Install it.
* guix.scm (mescc-tools): Bump to 0.2.
2017-07-26 15:57:38 +02:00
Jan Nieuwenhuizen 97951fd47e doc: Release update.
* NEWS: Update.
* INSTALL: Update.
* HACKING: Update.
* doc/ANNOUNCE-0.8: New file.
2017-06-08 20:39:24 +02:00
Jan Nieuwenhuizen 18e7d97b23 doc: Release update.
* AUTHORS: Remove module/nyacc.
* HACKING: Release uppdate.
* NEWS: Release uppdate.
* doc/ANNOUNCE-0.7: New file.
2017-06-03 21:38:39 +02:00
Jan Nieuwenhuizen 4d1df9cbcb mescc: move include into share/mlibc, allows installing alongside gcc.
* mlibc: Rename from libc.
* HACKING: Update for name change.
* make/bin.make: Likewise.
* make/mescc-guile.make: Likewise.
* make/mescc-mes.make: Likewise.
* scaffold/scaffold.make: Likewise.
* make/install.make: Likewise.
  (install): Install mlibc into share/mlibc.
2017-06-03 12:27:53 +02:00
Jan Nieuwenhuizen 3a240221f0 build: Skip gcc, mlibc, guile or mes builds using CC=, CC32=, GUILE= or MES=.
* GNUmakefile (build-scripts): New target
  (HELP_TOP): Mention it.
* configure (main): Write GUILE_FOR_BUILD.
* make/bin-mlibc.make: Skip if CC32 is not set.
* make/bin.make: Skip if CC is not set.
* make/install.make (install): Only install $(OUT)/mes.mes if
  MES_BOOTSTRAP is set.
* make/mescc-guile.make: Skip if GUILE is not set.
* make/mescc-mes.make: Skip if MES is not set.
* HACKING: write something about
2017-05-28 18:32:53 +02:00
Jan Nieuwenhuizen 9f56b8b102 core: Always include reader.c, drop binary read-0-32.mo dependency.
* module/language/c99/compiler.mes (c99-input->full-ast): Remove
  obsolete __NYACC__ and MES_FULL defines.
* src/mes.c [!MES_FULL]: Include reader-mes.h.
  (mes_builtins) [!MES_FULL]: Include reader.mes.i, reader.me.environment.i.
  [!MES_FULL]: Include reader.c.
  (main) [!MES_FULL]: By default call load_env, only call bload_env
  when --load is supplied.  WAS: Always bload read-0-32.mo.
* src/reader.c (__end_of__mes_): Remove.
  (dump): Remove option of dumping tiny test program.
* make/mescc-mes.make ($(OUT)/$(TARGET), mescc.mes-ccompile,
  mescc.mes.c-compile-E): Depend on $(OUT)/mes, scripts/mes.
* src/src.make (mes.guile): Remove module/mes/read-32-0 dependency.
  Do not build $(OUT)/mes.mes.
* module/module.make (module/mes/read-0.mo, module/mes/read-0-32.mo,
  module/mes/tiny-0-32.mo): Remove targets.
  (CLEAN): Do not add them.  Neither install $(OUT)/mes.mes.
* .gitignore: Remove exceptions for them.
* make/install.make (install): Do not install them.
* HACKING: Update info about creating module/mes/read-32-0.mo.
* scaffold/mini-mes.c: Remove.
* scaffold/tiny-mes.c: Remove.
* scaffold/cons-mes.c: Remove.
* scaffold/scaffold.make (tiny-mes.libc, tiny-mes.guile, tiny-mes.mes,
  mini-mes.libc, mini-mes.guile, mini-mes.mes): Reemove targets.
2017-05-28 16:03:45 +02:00
Jan Nieuwenhuizen d9e5e2d21f doc: Release update.
* AUTHORS: Mention Nyacc and GuixSD.
* NEWS: Update.
* README: Update.
* doc/ANNOUNCE-0.5 New file.
* HACKING: Add pointers, update TODO/DONE.
2017-04-27 12:08:16 +02:00
Jan Nieuwenhuizen d7797ad2cf HACKING: Removed __MESC__ workarounds.
* HACKING: Update pointer.
2017-04-10 07:54:38 +02:00
Jan Nieuwenhuizen 7548ad9efc HACKING: Removed gc.c, vector.c mescc workarounds.
* HACKING: Update pointer and recipe.
2017-04-06 23:15:59 +02:00
Jan Nieuwenhuizen ee3215a183 HACKING: scripts/mescc.mes scaffold/mini-mes runs.
* HACKING: Update pointer and recipe.
2017-04-02 13:27:00 +02:00
Jan Nieuwenhuizen 5cd5681a4d HACKING: scripts/mescc.mes scaffold/t.c runs. 2017-04-01 17:07:28 +02:00
Jan Nieuwenhuizen 28347aa3a3 HACKING: scripts/mescc.mes scaffold/tiny-mes.c runs. 2017-04-01 16:15:08 +02:00
Jan Nieuwenhuizen e87469c721 HACKING: scripts/mescc.mes scaffold/cons-mes.c runs. 2017-04-01 16:12:51 +02:00
Jan Nieuwenhuizen 542a8c2106 test: Add nyacc cpp match tests; two fail.
* tests/match.test ("match nyacc 0", "match nyacc 1"): New tests.
 ("match nyacc simple", "match nyacc tkl0"): New tests; FAIL with Mes.
 (report): Set failure expectation to 2 for Mes.
* HACKING: Add to bugs.
2017-04-01 15:06:07 +02:00
Jan Nieuwenhuizen 091c1ccd31 doc: Add Roamdmap.
* HACKING: Add roadmap.
2017-03-29 08:05:18 +02:00
Jan Nieuwenhuizen 240f2814f4 mescc: Cleanup mini-mes build and test.
* GNUmakefile (guile-cons-mes guile-m guile-main guile-micro-mes
  guile-mini-mes guile-t guile-tiny-mes): New targets.
  (clean): Clean them.
* .gitignore: Ignore them.
* HACKING: Update.
* scaffold/tiny-mes.c (bload_env): Read module/mes/tiny-0-32.mo.
* scaffold/cons-mes.c (simple_bload_env): Likewise.
* lib.c (dump)[MES_TINY]: Write crafted dump: module/mes/tiny-0-32.mo.
  (load_env): Read module/mes/mini-0.mes.
  (bload_env): Read module/mes/read-0-32.mo.
* module/mes/mini-0.mes: New file.
* module/mes/tiny-0.mes : New file.
2017-03-19 13:41:56 +01:00
Jan Nieuwenhuizen 70e4aec861 mescc: Run mini-mes.
* .gitignore: Ignore tiny-mes and tiny .mo's.
* doc/examples/tiny-mes.c: Simplify.
* doc/examples/mini-mes.c: Use simplifications from tiny-mes.
* doc/examples/t.c (read_test, struct_test): New functions.
  (test): Add tests for arena, g_cells globals.
* module/mes/elf-util.mes (dec->hex): New function.
  (lambda/label->list): Add text-address parameter.  Update callers.
* module/language/c99/compiler.mes (make, info, clone): Add init field.
  (.init): New function.
  (ident->accu): Add exceptions for globals.
* module/mes/elf-util.scm: Export it.
* module/mes/libc-i386.mes (i386:accu->base-ref,
  i386:byte-accu->base-ref, i386:accu->base-ref+n,
  i386:accu->global-ref, i386:global-ref->accu, i386:global-ref->base,
  i386:global-add, i386:global->accu):, i386:local-ref->accu,
  i386:local-ptr->accu, i386:local-ptr->base): New functions.
* module/mes/libc-i386.scm: Export them.
2017-01-29 15:22:39 +01:00
Jan Nieuwenhuizen 8692fa3bb8 doc: Add gdb assembly debugging info.
* HACKING: Add gdb assembly debugging info.
2017-01-22 14:16:22 +01:00
Jan Nieuwenhuizen 67c2f1537b Update documentation.
* HACKING: Update status, some ideas where to go next.
* NEWS: Update status.
* README: Update.
* doc/ANNOUNCE: Move from top.
* doc/ANNOUNCE-2: Likewise.
* doc/ANNOUNCE-0.3: New file.
2016-12-24 17:22:34 +01:00
Jan Nieuwenhuizen 696ff8bc77 Update documentation.
* README: Add make targets.
* INSTALL: Add guix.
* HACKING: Add info on sc.
2016-12-12 20:35:19 +01:00
Jan Nieuwenhuizen 2b577eaee0 Add loadable modules.
* module/mes/base-0.mes (mes-use-module): Implement.
* module/mes: Update users.
* HACKING: Update.
* NEWS: Update.
* configure (main): Use shell expansion for prefix.
* make/install.make (install): Substitute prefix.
2016-12-12 20:35:19 +01:00
Jan Nieuwenhuizen e6a0257a79 core: Cleanup cells.
* mes.c: Use accessors rather than g_cell[] access throughout.
2016-12-12 20:35:19 +01:00
Jan Nieuwenhuizen 0e13b7e8dd Update documentation wrt syntax-case.
* HACKING: Update wrt syntax-case.
* NEWS: Likewise.
* README: Likewise.
* guix.scm: Likewise.
2016-12-12 20:33:49 +01:00
Jan Nieuwenhuizen 09a21626a8 Documentation update.
* HACKING: Target is R6RS-like, at least having syntax-case.
* README: Likewise.
* guix.scm: Likewise.
2016-11-20 21:45:12 +01:00
Jan Nieuwenhuizen 1e59009102 Update documentation.
* HACKING: Describe (mes-use-modules).
* NEWS: Update.
2016-10-19 00:36:12 +02:00
Jan Nieuwenhuizen 2001183928 Prepare for 0.1 release: update READMEs.
* NEWS: New file.
* AUTHORS: Add info about files taken from Scheme48.
* HACKING: Update with info from TODO.
* TODO: Remove.
2016-10-15 11:54:24 +02:00
Jan Nieuwenhuizen 7ff86c393f cleanup and doc update. 2016-10-10 23:24:44 +02:00
Jan Nieuwenhuizen d5fc30d265 TODO/HACKING: update: lalr/paren.scm runs. 2016-07-24 19:38:47 +02:00
Jan Nieuwenhuizen e63f3b2ee4 Update documentation, remove old bug files, move bugs into bugs/. 2016-07-22 22:12:05 +02:00