live-bootstrap/sysa/mes-0.22/module/nyacc/lang/c99/ChangeLog
fosslinux 649d7b68dc Add mes and mescc-tools-extra
mescc-tools-extra contains two important tools:
- cp
- chmod

mes first builds itself from a mes 0.21 seed as used by guix, and then
builds a mes 0.22 and then mes 0.22 using that created mes 0.22.

It does /not/ use bootstrap.sh as we don't have a proper shell at this
point, it has been manually adapted for kaem.
2020-12-25 18:40:14 +11:00

330 lines
11 KiB
Text

2019-04-27 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (cpp-define): Now accommodates comments in CPP like
this: #define /* MAX as macro */ MAX(X,Y) (((X)>(Y))?(X):(Y))
support item 109657
2019-03-24 Matt Wette <mwette@alumni.caltech.edu>
* ffi-help.scm (cnvt-udecl): fixed error in "typedef union foo
foo_t;" by adding (fhscm-def-compound typename). The desc was
being defined but not the type. This was causing (make-foo_t)
return a void. Same issue for "typedef struct foo foo_t".
2019-02-05 Matt Wette <mwette@alumni.caltech.edu>
* ffi-help.scm (gen-lookup-proc): in-line open "/dev/null" was
generating "too many open files". Replaced with open/close in
gen-lookup-proc and added try-parse-repl
2019-01-18 Matt Wette <mwette@alumni.caltech.edu>
* mach.d: changed convention from xxxact.scm, xxxtab.scm to
xxx-act.scm, xxx-tab.scm; added xxx-xtr.scm which has extra
table to help with debugging output
2019-01-02 Matt Wette <mwette@alumni.caltech.edu>
* parser.scm: now using c99-def-help from c99/util.scm for default
inc-help ; adding this to ffi-help and others
2018-12-31 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): add attribute on declarators in structs;
had to add specifier-qualifier-list/no-attr to use for type-name
production to remove loop-conflict
2018-12-30 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (make-c99-lexer-generator): pass pragma always, if
file mode, then as cpp-stmt, else pass as (pragma "opt-args")
2018-12-28 Matt Wette <mwette@alumni.caltech.edu>
* cxeval.scm (eval-sizeof-expr): updated for (string "abc" "def")
2018-11-21 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): knr was restored and then removed;
__attributes__ will appear in decl-spec-list now
2018-11-17 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): remove K&R function definition for now: it
generates a parser that does not work with attribute-specifiers
2018-11-16 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): major changes to organization of
declarations in order to deal with wide usage of __attribute__
2018-11-11 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): in attribute-expr replace ($string)
with (string-literal); problem was G_GNUC_DEPRECATED macro in
glib/gmacros.h
* body.scm (make-c99-lexer-generator): changed cpi-push,shift,pop
to cpi-push-x,shift-x,pop-x; added cpi-push, cpi-pop and calls to
properly scope typedefs; needed to deal with local typedefs in glib.h
2018-10-30 Matt Wette <mwette@alumni.caltech.edu>
* pprint.scm (pretty-print-c99): If comments look like they were
generated with `//' then use that.
2018-10-22 Matt Wette <mwette@alumni.caltech.edu>
* cxeval.scm (eval-sizeof-type): was returning #t, should return
the integer size; still needs work on random typedefs
2018-10-12 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (rtokl->string): handle comments from scan-cpp-input
(scan-cpp-input): add keyword arg to pass through comments, and
now comments are not necessarily ignored
2018-09-05 Matt Wette <mwette@alumni.caltech.edu>
* util1.scm (get-gcc-cpp-defs): removed dependence on regex
2018-04-05 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): Committed major surgery to add handling of
attribute specifiers to be returned as attributes like
(@ ("packed" "") ("aligned" "(__alignof__(long long))"))
2018-03-10 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (gen-c-lexer): Worked on x-def usage. I'm still unsure
if read-c-ident logic is all correct.
2018-02-19 Matt Wette <mwette@alumni.caltech.edu>
* ../../../../examples/nyacc/lang/c99/ffi-help.scm
(mtail->bs-desc): bug in (pointer-to typename) to (assoc-ref map
name) from (assoc-ref name map)
2017-12-23 Matt Wette <mwette@alumni.caltech.edu>
* pprint.scm (pretty-print-c99): added initializer and
initializer-list, and removed (comp declr initr)
2017-12-13 Matt Wette <mwette@alumni.caltech.edu>
* util1.scm (get-gcc-inc-dirs): update to use -Wp,-v. Note this
may break because it uses "2>&1" to get stderr. check w/ csh
please -- works for me
2017-12-10 Matt Wette <mwette@alumni.caltech.edu>
* munge.scm: note: at some point in the past changed util2.scm to
munge.scm
2017-11-18 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (read-rest): new procedure to replace get-string-all
from (ice-9 textual-ports); remove use-module (ice-9 textual-ports)
2017-11-15 Matt Wette <mwette@alumni.caltech.edu>
* pprint.scm (pretty-print-c99): added case for wide char types
2017-11-13 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): added lone `;' in structs and unions
(struct-declaration-list production)
2017-11-11 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (gen-c-lexer): Since include files now have <> or "" I
need to strip them off before looking through the helper list.
* cpp.scm (expand-cpp-macro-ref): Fixed, once again, the def-bwl.c
bug reported by Jan N:
was:
(or (expand-cpp-macro-ref repl defs (cons repl used)) repl)
is:
(or (expand-cpp-macro-ref repl defs used) repl)
2017-09-20 Matt Wette <mwette@alumni.caltech.edu>
* pprint.scm (pretty-print-c99): added enum-ref
2017-09-04 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (expand-specl-typerefs): fixed c99-06 test 1:
was => int (*baz)(..., now => int *(*bar)(...
2017-08-31 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (cpp-define): major bug: was using drain-input when I
should be using get-string-all, same for cpp-line->stmt
2017-08-04 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): add GNU compound statement in paren's as expr
2017-08-01 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (eval-cpp-expr): If tree is (char x) then we need to
apply string-ref to get argument for char->integer.
(rtokl->string): ugh. when CPP builds strings we need to escape
characters to reassemble. Not sure I have done it all here.
Needs more testing.
* util2.scm (canize-enum-def-list): enum values more robust:
was (p-expr (fixed "1")) or (neg (p-expr (fixed "1"))) only.
* body.scm (gen-c-lexer): added support for CPP #warning
(find-file-in-dirl): added logic to look in current directory
first, if header.
2017-07-28 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (collect-args): when moving from iter1 to iter2 was
neglecting to unread-char the character carried from iter1. Fix
based on bug report from janneke. Thanks again, Jan.
2017-07-28 Wette <mwette@alumni.caltech.edu>
* body.scm (gen-c-lexer): bug report by janneke.
`#undef NAME' not working; was using delete, now acons #f
* mach.scm (c99-spec): bug report by janneke.
ident-like returns (ident ("foo")) instead of (ident "foo");
fixed w/ (car $1) => (sx-ref $1 1)
2017-07-16 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): change declr-fctn to abs-fctn-decl;
declr-fctn-anon to anon-fctn-declr
2017-07-15 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): for type-qualifier-list return
type-qual-list (was decl-spec-list)
2017-07-08 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (munge-decl): If arg is already udecl just return it.
2017-07-07 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (canize-enum-def-list): fixed so enums start at 0, was 1
2017-07-01 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): added GNU-C asm extension
2017-06-30 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (gen-c-lexer): handle #define FOO "foo.h" #include FOO
2017-06-29 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (eval-cpp-expr): cleaned up bitwise-or,xor,and
(cpp-include): only handled args w/ " or <, now c-ident also
2017-06-17 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (clean-field-list): fixed bug that would add comments
when there were none at all
2017-06-16 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (munge-decl): changed (decl to (udecl
2017-06-15 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (c99-trans-unit->udict): changed to fold-right
(canize-enum-def-list): now working for negative enum vals
2017-06-11 Matt Wette <mwette@alumni.caltech.edu>
* util2.scm (c99-trans-unit->udict): if include was not
getting the include's trans-unit
2017-06-03 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (gen-c-lexer): fixed cpp expansion to allow
re-expansion when replacement is ident-like. This allows
#define ABC(X,Y) ((X)+(Y))
#define DEF ABC
int main { int x = DEF(1,2); }
reference: janneke bug report on def-bwl.c
2017-05-04 Matt Wette <mwette@alumni.caltech.edu>
* pprint.scm (pretty-print-c99): removed double spacing
in printed declarations
2017-03-11 Matt Wette <mwette@alumni.caltech.edu>
* parser.scm (parse-c99): added mode keyword argument to
gen-c-lexer, file mode would not have been working ...
2017-02-28 Matt Wette <mwette@alumni.caltech.edu>
* pprint.scm: (binary 'd-del .. => (binary 'd-sel
2017-02-22 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (rtokl->string): added handler for 'string
* body.scm: added 'skip state so that if skipping #if
then no CPP if or elif arguments are evaluated
* cpp.scm: parse 0L numbers, convert c numbers (e.g.,
123L) to scheme so that string->number works. I need to update
cnumstr->snumstr in nyacc/lex.scm.
2017-02-16 Matt Wette <mwette@alumni.caltech.edu>
* cpp.scm (rtokl->string): now handled symb ## arg ## symb
(scan-cpp-input): skip-il-ws after #\(
2017-01-18 Matt Wette <mwette@alumni.caltech.edu>
* parser.scm: check for EOF in end of CPP line
* mach.scm (c99-spec): decl for translation unit was
updated to allow programs with no declarations or statements
2017-01-07 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (read-cpp-line): cpp statement should not
include newline? Changed to unread final newline.
* mach.scm (c99-spec): from
2017-01-07 Jan Nieuwenhuizen <janneke@gnu.org>
mising unquote in output sx for goto: `(goto $2) => `(goto ,$2)
2017-01-06 Matt Wette <mwette@alumni.caltech.edu>
* parser.scm: default parser #:mode is now 'code; done
since the CPP should now be working (??)
2017-01-02 Matt Wette <mwette@alumni.caltech.edu>
* mach.scm (c99-spec): added hooks (cpp-ok!, no-cpp!) to
provide handshaking between parser and lexer wrt when the lexer
can pass CPP statements to the parser
* cppbody.scm (expand-cpp-mref): skip ws between ident
and left paren
2017-01-01 Matt Wette <mwette@alumni.caltech.edu>
* body.scm (gen-c-lexer): in code mode now expands includes
* pprint.scm (pretty-print-c99): added enum-dev w/o name
Copyright (C) 2017 Matthew R. Wette
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.