unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Matt Wette <matthew.wette@verizon.net>
To: guile-user@gnu.org
Subject: Re: my current project: new lalr module
Date: Sun, 19 Jul 2015 17:36:58 -0700	[thread overview]
Message-ID: <AE3BFD88-AD4F-4290-8398-855FF3D34600@verizon.net> (raw)
In-Reply-To: <11C48931-416C-46B1-AA4B-9BA8FA936010@verizon.net>

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


On Jun 26, 2015, at 1:43 PM, Matt Wette <matthew.wette@verizon.net> wrote:
> On Jun 3, 2015, at 8:40 PM, Matt Wette <matthew.wette@verizon.net> wrote:
>> My current project is a lalr module. 
> 
> Here is a slight update on my parser generator. 
> 1) I have added a "hashify" procedure that allows one to set up the parser and lex'er to use integers instead of symbols.
> 2) I have updated the specification parser and processor to allow use of strings.  My C-parser is using "++" and "+=" now.
> 3) I have updated the lexical analyzer tools to allow (I hope) easier construction of lexical analyzers.   

More updates:
1) I reworked the export to Bison.  I 
2) I started working on user/hacker manual
3) I am working on some parsers: C, Matlab, Modelica, Ecmascript.
    (When I run my exports modelica grammar through bison I get the same S/R and R/R conflicts.  => vote of confidence)
4) I am working on  writing to standalone file (a la bison for C).
5)  I have submitted much of the code to savannah.   (I have not included the in-work parsers.)
Bugs surely remain.

Here is sample output from the writer for generated parser file (in work) for my C parser:

(define len-v
  #(1 1 5 0 1 2 1 2 1 2 1 2 1 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 
    ...))

(define pat-v
  #(((8 . 1) (9 . 2) (58 . 3) (60 . 4) (61 . 5) (62 . 6) (65 . 7) (66 . 8) (
    ...))

(define act-v
  #(;; state 0
    (lambda ($1 . $rest) $1)
    ...
    ;; state 3
    (lambda ($2 $1 . $rest)
      (let ((decl `(decl ,(tl->list $1) ,(tl->list $2))))
        (for-each add-typename (find-new-typenames decl))
        decl))
    ...
    ;; state 322
    (lambda ($1 . $rest) `(cpp-stmt ,$1))


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

      reply	other threads:[~2015-07-20  0:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E45D6E7C-3864-4CEB-91DE-2560CA145BF1@verizon.net>
2015-06-04  3:40 ` Fwd: my current project: new lalr module Matt Wette
2015-06-04  8:41   ` Nala Ginrut
2015-06-06 17:19     ` Matt Wette
2015-06-08  3:15       ` Nala Ginrut
2015-06-26 20:43   ` Matt Wette
2015-07-20  0:36     ` Matt Wette [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AE3BFD88-AD4F-4290-8398-855FF3D34600@verizon.net \
    --to=matthew.wette@verizon.net \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).