2017-02-22 Matt Wette * lang/c99/body.scm: added 'skip state so that if skipping #if then no CPP if or elif arguments are evaluated * lang/c99/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 * lang/c99/cpp.scm (rtokl->string): now handled symb ## arg ## symb (scan-cpp-input): skip-il-ws after #\( 2017-01-18 Matt Wette * lang/c99/parser.scm: check for EOF in end of CPP line * lang/c99/mach.scm (c99-spec): decl for translation unit was updated to allow programs with no declarations or statements 2017-01-08 Matt Wette * ../../test-suite/nyacc/lang/c99/exam.d/ex05.c: C99 does not allow lone `;' outside of functions. Removed. 2017-01-07 Matt Wette * lang/c99/body.scm (read-cpp-line): cpp statement should not include newline? Changed to unread final newline. * lang/util.scm: add report-error: prints msg w/ file, line * parse.scm (make-lalr-parser): changed printout of parse error to (throw 'parse-error . args) and expect the full parser to catch the error * lang/c99/mach.scm (c99-spec): from 2017-01-07 Jan Nieuwenhuizen mising unquote in output sx for goto: `(goto $2) => `(goto ,$2) 2017-01-06 Matt Wette * lang/c99/parser.scm: default parser #:mode is now 'code; done since the CPP should now be working (??) * lalr.scm (process-spec): in add-el changed memq to member since we are using strings for terminals 2017-01-02 Matt Wette * lang/c99/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 * lang/c99/cppbody.scm (expand-cpp-mref): skip ws between ident and left paren 2017-01-01 Matt Wette * lang/c99/body.scm (gen-c-lexer): in code mode now expands includes * lang/c99/pprint.scm (pretty-print-c99): added enum-dev w/o name 2016-11-25 Matt Wette * added support for ellipsis to lang/c99/cpp.scm 2016-11-24 Matt Wette * added (ellipsis) to lang/c99/pprint.scm 2016-04-09 Matt Wette * bison.scm: new file providing make-lalr-machin/bison. It is similar to make-lalr-machine but uses external bison program instead of the default from-scratch lalr code. 2016-03-04 Matt Wette * lalr.scm: changed grammar parser to interpret $string as terminal. This saves typing a quote in front. Copyright (C) 2015-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.