unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* NYACC version 0.70.0 released
@ 2016-03-04 20:49 Matt Wette
  2016-04-15  1:47 ` nyacc version 0.71.0 released Matt Wette
  0 siblings, 1 reply; 8+ messages in thread
From: Matt Wette @ 2016-03-04 20:49 UTC (permalink / raw
  To: guile-user

[-- Attachment #1: Type: text/plain, Size: 986 bytes --]

NYACC version 0.70.0 is released as beta

NYACC is a LALR parser generator written from the ground up in guile

Features/Updates:
* clean scheme-flavored syntax for grammar specification 
* prototype parsers for c, javascript, matlab that output parse trees in a SXML format
* partial sxml-parse-tree to il-tree conversion for javascript and C
* partial sxml-parse-tree pretty printer for javascript and C
* update: some minor bugs in C99 parser fixed
* update: cleaned up C99 file layout and updated install makefile

To install in scheme distribution:
	$ cd module
	$ make -f Makefile.nyacc install

download tarball from 
	http://download.savannah.gnu.org/releases/nyacc/ <http://download.savannah.gnu.org/releases/nyacc/>
or git clone from 
	git://git.savannah.nongnu.org/nyacc.git <git://git.savannah.nongnu.org/nyacc.git>

Future work: I would like to work on documenting the lalr algorithms and work on adding syntax for pruning production rules.

Matt


[-- Attachment #2: Type: text/html, Size: 1993 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* nyacc version 0.71.0 released
  2016-03-04 20:49 NYACC version 0.70.0 released Matt Wette
@ 2016-04-15  1:47 ` Matt Wette
  2016-06-21 12:21   ` Chaos Eternal
  2016-06-21 14:55   ` Ludovic Courtès
  0 siblings, 2 replies; 8+ messages in thread
From: Matt Wette @ 2016-04-15  1:47 UTC (permalink / raw
  To: guile-user

[-- Attachment #1: Type: text/plain, Size: 2048 bytes --]

nyacc version 0.71.0 is released as beta

nyacc is a LALR parser generator written from the ground up in guile

Features/Updates:
* clean scheme-flavored syntax for grammar specification
* prototype parsers for C99,(partial) javascript, matlab that output parse trees in a SXML format
* update: C99 preprocessor updated to expand defines in C code
* update: cleaned up file structure
* update: started working on test-suite
* update: added grammar for C++
* update: build parsers via bison
  + to use in example below replace `make-lalr-machine' with `make-lalr-machine/bison’,
     after adding (use-module (nyacc bison)
  + the bison module will 
     - export a bison gram.y file, 
     - run "bison -x gram.y” to produce a gram.xml file
     - translate gram.xml file into the nyacc “machine” data structure
  
To run a simple demo:
$ tar xzf nyacc-0.71.tar.gz
$ cd examples/nyacc/lang/calc
$ ./calc
2 + 2 => 4

Tcalc.scm:

(use-modules (nyacc lalr))
(use-modules (nyacc lex))
(use-modules (nyacc parse))

(define simple-spec
  (lalr-spec
   (prec< (left "+" "-") (left "*" "/"))
   (start expr)
   (grammar
    (expr
     (expr "+" expr ($$ (+ $1 $3)))
     (expr "-" expr ($$ (- $1 $3)))
     (expr "*" expr ($$ (* $1 $3)))
     (expr "/" expr ($$ (/ $1 $3)))
     ($fixed ($$ (string->number $1)))
     ($float ($$ (string->number $1)))
     ("(" expr ")" ($$ $2))))))

(define simple-mach (make-lalr-machine simple-spec))

(define match-table (assq-ref simple-mach 'mtab))

(define gen-lexer (make-lexer-generator match-table))

(define parse (make-lalr-parser simple-mach))

(define demo-string "2 + 2")

(simple-format #t "~A => ~A\n"
	       demo-string
	       (with-input-from-string demo-string
		 (lambda () (parse (gen-lexer)))))

download tarball from:
	http://download.savannah.gnu.org/releases/nyacc/ <http://download.savannah.gnu.org/releases/nyacc/>
or git clone from
	git://git.savannah.nongnu.org/nyacc.git <git://git.savannah.nongnu.org/nyacc.git>



[-- Attachment #2: Type: text/html, Size: 5567 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nyacc version 0.71.0 released
  2016-04-15  1:47 ` nyacc version 0.71.0 released Matt Wette
@ 2016-06-21 12:21   ` Chaos Eternal
  2016-06-21 12:55     ` Matt Wette
  2016-06-21 13:21     ` Matt Wette
  2016-06-21 14:55   ` Ludovic Courtès
  1 sibling, 2 replies; 8+ messages in thread
From: Chaos Eternal @ 2016-06-21 12:21 UTC (permalink / raw
  To: Matt Wette, guile-user

Hi,

I met with this message when I want to parse UnixODBC's header file:
but guile version is 2.0.11

$ ./cxp -Ilang/c99/ -I/usr/include /usr/include/sql.h
Backtrace:
In ice-9/boot-9.scm:
4052: 19 [#<procedure 23f4a00 at ice-9/boot-9.scm:4045:3 ()>]
In unknown file:
   ?: 18 [load-compiled/vm
"/home/chaos/.cache/guile/ccache/2.0-LE-8-2.0/home/chaos/src/nyacc/examples/nyacc/cxp.go"]
In ice-9/boot-9.scm:
 768: 17 [for-each #<procedure 2a056c0 at
/home/chaos/src/nyacc/examples/nyacc/./cxp:52:3 (file)> ...]
In /home/chaos/src/nyacc/examples/nyacc/./cxp:
  53: 16 [#<procedure 2a056c0 at
/home/chaos/src/nyacc/examples/nyacc/./cxp:52:3 (file)>
"/usr/include/sql.h"]
In ice-9/boot-9.scm:
 867: 15 [call-with-input-file "/usr/include/sql.h" ...]
In ice-9/r4rs.scm:
 172: 14 [with-input-from-port #<variable 2a0cc00 value: #<input: file
/dev/pts/3>> ...]
In ice-9/boot-9.scm:
 157: 13 [catch parse-error ...]
In unknown file:
   ?: 12 [with-fluid* #<fluid 22> # ...]
In ../../../../module/nyacc/parse.scm:
 120: 11 [#<procedure 219c540 at ../../../../module/nyacc/parse.scm:97:4
(lexr #:key debug)> #<procedure 221d080 at
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
()> ...]
In
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:
 371: 10 [#<procedure 221d080 at
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
()>]
 349: 9 [read-token]
 277: 8 [exec-cpp "include \"sqltypes.h\""]
In ice-9/boot-9.scm:
 867: 7 [call-with-input-file "/usr/include/sqltypes.h" ...]
In ice-9/r4rs.scm:
 172: 6 [with-input-from-port #<variable 2a19410 value: #<input:
/usr/include/sql.h 5>> ...]
In ../../../../module/nyacc/parse.scm:
 120: 5 [#<procedure 219c540 at ../../../../module/nyacc/parse.scm:97:4
(lexr #:key debug)> #<procedure 221d000 at
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
()> ...]
In
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:
 371: 4 [#<procedure 221d000 at
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
()>]
 349: 3 [read-token]
 294: 2 [exec-cpp "if (ODBCVER >= 0x0300)"]
In ice-9/boot-9.scm:
 157: 1 [catch error ...]
In
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:
  69: 0 [eval-expr (ge (ident "ODBCVER") (fixed "0x0300"))]

/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:69:22:
In procedure eval-expr:
/home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:69:22:
In procedure >=: Wrong type argument in position 1: #f
chaos@florrum:~/src/nyacc/examples/nyacc



On Fri, Apr 15, 2016 at 9:35 PM Matt Wette <matt.wette@gmail.com> wrote:

> nyacc version 0.71.0 is released as beta
>
> nyacc is a LALR parser generator written from the ground up in guile
>
> Features/Updates:
> * clean scheme-flavored syntax for grammar specification
> * prototype parsers for C99,(partial) javascript, matlab that output parse
> trees in a SXML format
> * update: C99 preprocessor updated to expand defines in C code
> * update: cleaned up file structure
> * update: started working on test-suite
> * update: added grammar for C++
> * update: build parsers via bison
>   + to use in example below replace `make-lalr-machine' with
> `make-lalr-machine/bison’,
>      after adding (use-module (nyacc bison)
>   + the bison module will
>      - export a bison gram.y file,
>      - run "bison -x gram.y” to produce a gram.xml file
>      - translate gram.xml file into the nyacc “machine” data structure
>
> To run a simple demo:
> $ tar xzf nyacc-0.71.tar.gz
> $ cd examples/nyacc/lang/calc
> $ ./calc
> 2 + 2 => 4
>
> Tcalc.scm:
>
> (use-modules (nyacc lalr))
> (use-modules (nyacc lex))
> (use-modules (nyacc parse))
>
> (define simple-spec
>   (lalr-spec
>    (prec< (left "+" "-") (left "*" "/"))
>    (start expr)
>    (grammar
>     (expr
>      (expr "+" expr ($$ (+ $1 $3)))
>      (expr "-" expr ($$ (- $1 $3)))
>      (expr "*" expr ($$ (* $1 $3)))
>      (expr "/" expr ($$ (/ $1 $3)))
>      ($fixed ($$ (string->number $1)))
>      ($float ($$ (string->number $1)))
>      ("(" expr ")" ($$ $2))))))
>
> (define simple-mach (make-lalr-machine simple-spec))
>
> (define match-table (assq-ref simple-mach 'mtab))
>
> (define gen-lexer (make-lexer-generator match-table))
>
> (define parse (make-lalr-parser simple-mach))
>
> (define demo-string "2 + 2")
>
> (simple-format #t "~A => ~A\n"
>       demo-string
>       (with-input-from-string demo-string
> (lambda () (parse (gen-lexer)))))
>
> download tarball from:
> http://download.savannah.gnu.org/releases/nyacc/
> or git clone from
> git://git.savannah.nongnu.org/nyacc.git
>
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nyacc version 0.71.0 released
  2016-06-21 12:21   ` Chaos Eternal
@ 2016-06-21 12:55     ` Matt Wette
  2016-06-21 13:21     ` Matt Wette
  1 sibling, 0 replies; 8+ messages in thread
From: Matt Wette @ 2016-06-21 12:55 UTC (permalink / raw
  To: Chaos Eternal; +Cc: guile-user

Like I said: “beta code."  It’s gonna have bugs.  I will check against my latest.  The last iteration included work on the CPP.

> On Jun 21, 2016, at 5:21 AM, Chaos Eternal <chaoseternal@shlug.org> wrote:
> 
> Hi,
> 
> I met with this message when I want to parse UnixODBC's header file:
> but guile version is 2.0.11
> 
> $ ./cxp -Ilang/c99/ -I/usr/include /usr/include/sql.h
> Backtrace:
> In ice-9/boot-9.scm:
> 4052: 19 [#<procedure 23f4a00 at ice-9/boot-9.scm:4045:3 ()>]
> In unknown file:
>   ?: 18 [load-compiled/vm
> "/home/chaos/.cache/guile/ccache/2.0-LE-8-2.0/home/chaos/src/nyacc/examples/nyacc/cxp.go"]
> In ice-9/boot-9.scm:
> 768: 17 [for-each #<procedure 2a056c0 at
> /home/chaos/src/nyacc/examples/nyacc/./cxp:52:3 (file)> ...]
> In /home/chaos/src/nyacc/examples/nyacc/./cxp:
>  53: 16 [#<procedure 2a056c0 at
> /home/chaos/src/nyacc/examples/nyacc/./cxp:52:3 (file)>
> "/usr/include/sql.h"]
> In ice-9/boot-9.scm:
> 867: 15 [call-with-input-file "/usr/include/sql.h" ...]
> In ice-9/r4rs.scm:
> 172: 14 [with-input-from-port #<variable 2a0cc00 value: #<input: file
> /dev/pts/3>> ...]
> In ice-9/boot-9.scm:
> 157: 13 [catch parse-error ...]
> In unknown file:
>   ?: 12 [with-fluid* #<fluid 22> # ...]
> In ../../../../module/nyacc/parse.scm:
> 120: 11 [#<procedure 219c540 at ../../../../module/nyacc/parse.scm:97:4
> (lexr #:key debug)> #<procedure 221d080 at
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
> ()> ...]
> In
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:
> 371: 10 [#<procedure 221d080 at
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
> ()>]
> 349: 9 [read-token]
> 277: 8 [exec-cpp "include \"sqltypes.h\""]
> In ice-9/boot-9.scm:
> 867: 7 [call-with-input-file "/usr/include/sqltypes.h" ...]
> In ice-9/r4rs.scm:
> 172: 6 [with-input-from-port #<variable 2a19410 value: #<input:
> /usr/include/sql.h 5>> ...]
> In ../../../../module/nyacc/parse.scm:
> 120: 5 [#<procedure 219c540 at ../../../../module/nyacc/parse.scm:97:4
> (lexr #:key debug)> #<procedure 221d000 at
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
> ()> ...]
> In
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:
> 371: 4 [#<procedure 221d000 at
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/body.scm:246:8
> ()>]
> 349: 3 [read-token]
> 294: 2 [exec-cpp "if (ODBCVER >= 0x0300)"]
> In ice-9/boot-9.scm:
> 157: 1 [catch error ...]
> In
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:
>  69: 0 [eval-expr (ge (ident "ODBCVER") (fixed "0x0300"))]
> 
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:69:22:
> In procedure eval-expr:
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:69:22:
> In procedure >=: Wrong type argument in position 1: #f
> chaos@florrum:~/src/nyacc/examples/nyacc
> 
> 
> 
> On Fri, Apr 15, 2016 at 9:35 PM Matt Wette <matt.wette@gmail.com> wrote:
> 
>> nyacc version 0.71.0 is released as beta
>> 
>> nyacc is a LALR parser generator written from the ground up in guile
>> 
>> Features/Updates:
>> * clean scheme-flavored syntax for grammar specification
>> * prototype parsers for C99,(partial) javascript, matlab that output parse
>> trees in a SXML format
>> * update: C99 preprocessor updated to expand defines in C code
>> * update: cleaned up file structure
>> * update: started working on test-suite
>> * update: added grammar for C++
>> * update: build parsers via bison
>>  + to use in example below replace `make-lalr-machine' with
>> `make-lalr-machine/bison’,
>>     after adding (use-module (nyacc bison)
>>  + the bison module will
>>     - export a bison gram.y file,
>>     - run "bison -x gram.y” to produce a gram.xml file
>>     - translate gram.xml file into the nyacc “machine” data structure
>> 
>> To run a simple demo:
>> $ tar xzf nyacc-0.71.tar.gz
>> $ cd examples/nyacc/lang/calc
>> $ ./calc
>> 2 + 2 => 4
>> 
>> Tcalc.scm:
>> 
>> (use-modules (nyacc lalr))
>> (use-modules (nyacc lex))
>> (use-modules (nyacc parse))
>> 
>> (define simple-spec
>>  (lalr-spec
>>   (prec< (left "+" "-") (left "*" "/"))
>>   (start expr)
>>   (grammar
>>    (expr
>>     (expr "+" expr ($$ (+ $1 $3)))
>>     (expr "-" expr ($$ (- $1 $3)))
>>     (expr "*" expr ($$ (* $1 $3)))
>>     (expr "/" expr ($$ (/ $1 $3)))
>>     ($fixed ($$ (string->number $1)))
>>     ($float ($$ (string->number $1)))
>>     ("(" expr ")" ($$ $2))))))
>> 
>> (define simple-mach (make-lalr-machine simple-spec))
>> 
>> (define match-table (assq-ref simple-mach 'mtab))
>> 
>> (define gen-lexer (make-lexer-generator match-table))
>> 
>> (define parse (make-lalr-parser simple-mach))
>> 
>> (define demo-string "2 + 2")
>> 
>> (simple-format #t "~A => ~A\n"
>>      demo-string
>>      (with-input-from-string demo-string
>> (lambda () (parse (gen-lexer)))))
>> 
>> download tarball from:
>> http://download.savannah.gnu.org/releases/nyacc/
>> or git clone from
>> git://git.savannah.nongnu.org/nyacc.git
>> 
>> 
>> 




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nyacc version 0.71.0 released
  2016-06-21 12:21   ` Chaos Eternal
  2016-06-21 12:55     ` Matt Wette
@ 2016-06-21 13:21     ` Matt Wette
  1 sibling, 0 replies; 8+ messages in thread
From: Matt Wette @ 2016-06-21 13:21 UTC (permalink / raw
  To: Chaos Eternal; +Cc: guile-user


> On Jun 21, 2016, at 5:21 AM, Chaos Eternal <chaoseternal@shlug.org> wrote:
> 349: 3 [read-token]
> 294: 2 [exec-cpp "if (ODBCVER >= 0x0300)"]
> In ice-9/boot-9.scm:
> 157: 1 [catch error ...]
> In
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:
>  69: 0 [eval-expr (ge (ident "ODBCVER") (fixed "0x0300"))]
> 
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:69:22:
> In procedure eval-expr:
> /home/chaos/src/nyacc/examples/nyacc/../../module/nyacc/lang/c99/cppbody.scm:69:22:
> In procedure >=: Wrong type argument in position 1: #f
> chaos@florrum:~/src/nyacc/examples/nyacc
> 


I think that is fixed my in-progress version.

mwette$ cat zz.h
#define ODBCVER 123
#if (ODBCVER >= 0x0300)
int bar() { return 1; }
#else
int bar() { return 2; }
#endif

int foo() { bar(); }

mwette$ ./cxp zz.h
zz.h:
(trans-unit
  (cpp-stmt (define (name "ODBCVER") (repl "123")))
  (cpp-stmt (if "(ODBCVER >= 0x0300)"))
  (fctn-defn
    (decl-spec-list (type-spec (fixed-type "int")))
    (ftn-declr (ident "bar") (param-list))
    (compd-stmt
      (block-item-list (return (p-expr (fixed "1"))))))
  (cpp-stmt (else ""))
  (fctn-defn
    (decl-spec-list (type-spec (fixed-type "int")))
    (ftn-declr (ident "bar") (param-list))
    (compd-stmt
      (block-item-list (return (p-expr (fixed "2"))))))
  (cpp-stmt (endif ""))
  (fctn-defn
    (decl-spec-list (type-spec (fixed-type "int")))
    (ftn-declr (ident "foo") (param-list))
    (compd-stmt
      (block-item-list
        (expr-stmt
          (fctn-call (p-expr (ident "bar")) (expr-list)))))))



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nyacc version 0.71.0 released
  2016-04-15  1:47 ` nyacc version 0.71.0 released Matt Wette
  2016-06-21 12:21   ` Chaos Eternal
@ 2016-06-21 14:55   ` Ludovic Courtès
  2016-06-21 18:12     ` Matt Wette
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2016-06-21 14:55 UTC (permalink / raw
  To: guile-user

Hi,

Matt Wette <matt.wette@gmail.com> skribis:

> nyacc version 0.71.0 is released as beta
>
> nyacc is a LALR parser generator written from the ground up in guile
>
> Features/Updates:
> * clean scheme-flavored syntax for grammar specification
> * prototype parsers for C99,(partial) javascript, matlab that output parse trees in a SXML format
> * update: C99 preprocessor updated to expand defines in C code
> * update: cleaned up file structure
> * update: started working on test-suite
> * update: added grammar for C++

Very impressive!

Side note: it would be nice if there were a tiny configure.ac and
Makefile.am to simplify build and installation.  :-)

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nyacc version 0.71.0 released
  2016-06-21 14:55   ` Ludovic Courtès
@ 2016-06-21 18:12     ` Matt Wette
  2016-06-22  7:34       ` Chaos Eternal
  0 siblings, 1 reply; 8+ messages in thread
From: Matt Wette @ 2016-06-21 18:12 UTC (permalink / raw
  To: Ludovic Courtès; +Cc: guile-user


> On Jun 21, 2016, at 7:55 AM, Ludovic Courtès <ludo@gnu.org> wrote:
> Matt Wette <matt.wette@gmail.com> skribis:
> 
>> nyacc version 0.71.0 is released as beta
>> 
>> nyacc is a LALR parser generator written from the ground up in guile
>> 
>> Features/Updates:
>> * clean scheme-flavored syntax for grammar specification
>> * prototype parsers for C99,(partial) javascript, matlab that output parse trees in a SXML format
>> * update: C99 preprocessor updated to expand defines in C code
>> * update: cleaned up file structure
>> * update: started working on test-suite
>> * update: added grammar for C++
> 
> Very impressive!
> 
> Side note: it would be nice if there were a tiny configure.ac and
> Makefile.am to simplify build and installation.  :-)

Thanks.  Getting C++ and Javascript fully working is going to be a lot of work: C++ needs backtracking and Javascript needs “pruning”.  But the C99 parser is mature enough to provide some value, I think.

Regarding using autoconf, I was hoping to minimize overhead code.  If the lone Makefiles are not cutting it I can work to blend in autoconf.   

Irrelevant side note: Years ago I developed a tool like automake, called metamake, that provided macros, implemented in M4, to expand “makefile.mm" into “makefile".   To this day automake just seems to me like the wrong way to do that job.

Matt




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: nyacc version 0.71.0 released
  2016-06-21 18:12     ` Matt Wette
@ 2016-06-22  7:34       ` Chaos Eternal
  0 siblings, 0 replies; 8+ messages in thread
From: Chaos Eternal @ 2016-06-22  7:34 UTC (permalink / raw
  To: Matt Wette, Ludovic Courtès; +Cc: guile-user

and, for FFI purpose, I think just CPP output is enough :)

On Wed, Jun 22, 2016 at 2:12 AM Matt Wette <matt.wette@gmail.com> wrote:

>
> > On Jun 21, 2016, at 7:55 AM, Ludovic Courtès <ludo@gnu.org> wrote:
> > Matt Wette <matt.wette@gmail.com> skribis:
> >
> >> nyacc version 0.71.0 is released as beta
> >>
> >> nyacc is a LALR parser generator written from the ground up in guile
> >>
> >> Features/Updates:
> >> * clean scheme-flavored syntax for grammar specification
> >> * prototype parsers for C99,(partial) javascript, matlab that output
> parse trees in a SXML format
> >> * update: C99 preprocessor updated to expand defines in C code
> >> * update: cleaned up file structure
> >> * update: started working on test-suite
> >> * update: added grammar for C++
> >
> > Very impressive!
> >
> > Side note: it would be nice if there were a tiny configure.ac and
> > Makefile.am to simplify build and installation.  :-)
>
> Thanks.  Getting C++ and Javascript fully working is going to be a lot of
> work: C++ needs backtracking and Javascript needs “pruning”.  But the C99
> parser is mature enough to provide some value, I think.
>
> Regarding using autoconf, I was hoping to minimize overhead code.  If the
> lone Makefiles are not cutting it I can work to blend in autoconf.
>
> Irrelevant side note: Years ago I developed a tool like automake, called
> metamake, that provided macros, implemented in M4, to expand “makefile.mm"
> into “makefile".   To this day automake just seems to me like the wrong way
> to do that job.
>
> Matt
>
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-06-22  7:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-04 20:49 NYACC version 0.70.0 released Matt Wette
2016-04-15  1:47 ` nyacc version 0.71.0 released Matt Wette
2016-06-21 12:21   ` Chaos Eternal
2016-06-21 12:55     ` Matt Wette
2016-06-21 13:21     ` Matt Wette
2016-06-21 14:55   ` Ludovic Courtès
2016-06-21 18:12     ` Matt Wette
2016-06-22  7:34       ` Chaos Eternal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).