Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Paul B Mann  
View profile  
 More options Feb 7, 5:47 pm
Newsgroups: comp.compilers
From: Paul B Mann <p...@paulbmann.com>
Date: Tue, 7 Feb 2012 14:47:17 -0800 (PST)
Local: Tues, Feb 7 2012 5:47 pm
Subject: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++
LRSTAR is a fast LALR(k) parser generator for C/C++ programmers, that
builds very fast compilers and language processors by using
compressed-matrix parser tables.  Creates compiler front-ends that
read source code at 1,000,000 lines per second.

LRSTAR reads the powerful TBNF grammar notation which facilitates
building an AST automatically and other advanced functionality.
Solves the "typedef" problem in C grammars.

The compiler front-end source code is in C++, however, a user may re-
write the skeleton file in another language, such as C, C#, Java, and
then generate code in that language.  Contains Microsoft Visual Studio
C/C++ work spaces.

DFASTAR and DFAC lexer generators are included in the downloads.
These generate very fast DFA lexical analyzers which read 30,000,000
tokens per second -- twice the speed of Flex.

LRSTAR is "open source" now, BSD license.  A windows version is
available at:

http://compilerware.com (the website) and
https://sourceforge.net/projects/lrstar/

No one has ported it to Unix or Linux yet.  It may be 99% portable.
It was written with Microsoft Visual
Studio 2008 C++, however, I try to make my code portable.

To accomplish LALR(k) it uses nondeterminism only for those states
that are not LALR(1), so it's mostly LALR(1) and the parsers are small
and fast.

Comments are welcome and appreciated.

Paul B Mann


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Steven G. Kargl  
View profile  
 More options Feb 8, 2:08 pm
Newsgroups: comp.compilers
From: "Steven G. Kargl" <s...@REMOVEtroutmask.apl.washington.edu>
Date: Wed, 8 Feb 2012 19:08:18 +0000 (UTC)
Local: Wed, Feb 8 2012 2:08 pm
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++

On Tue, 07 Feb 2012 14:47:17 -0800, Paul B Mann wrote:
> No one has ported it to Unix or Linux yet.  It may be 99% portable.
> It was written with Microsoft Visual
> Studio 2008 C++, however, I try to make my code portable.

UNIX and unix-like system are case sensitive.  There is no chance that
this code will build without a significant porting effort.  For
example, you have Global.H in some directory; yet, your source has
'#include "global.h"'.

It may also be advantageous to include simple instructions of which
files need to be compiled and the order.

--
steve


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Hans Aberg  
View profile  
 More options Feb 9, 4:28 am
Newsgroups: comp.compilers
From: Hans Aberg <haberg-n...@telia.com>
Date: Thu, 09 Feb 2012 10:28:30 +0100
Local: Thurs, Feb 9 2012 4:28 am
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++
On 2012/02/08 20:08, Steven G. Kargl wrote:

> On Tue, 07 Feb 2012 14:47:17 -0800, Paul B Mann wrote:
>> No one has ported it to Unix or Linux yet.  It may be 99% portable.
>> It was written with Microsoft Visual
>> Studio 2008 C++, however, I try to make my code portable.

> UNIX and unix-like system are case sensitive.

Except OS X, which is certified UNIX in versions 10.6 and later. (Though
one can choose a case sensitive file system, some software, notably from
Adobe, will not run properly.)

> There is no chance that
> this code will build without a significant porting effort.  For
> example, you have Global.H in some directory; yet, your source has
> '#include "global.h"'.

As long the file is not called differently, this is not so a big problem
- just change the file name.

Hans


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul B Mann  
View profile  
 More options Feb 10, 1:19 pm
Newsgroups: comp.compilers
From: Paul B Mann <p...@paulbmann.com>
Date: Fri, 10 Feb 2012 10:19:37 -0800 (PST)
Local: Fri, Feb 10 2012 1:19 pm
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++
On Feb 8, 1:08 pm, "Steven G. Kargl"

<s...@REMOVEtroutmask.apl.washington.edu> wrote:

> UNIX and unix-like system are case sensitive.  There is no chance that
> this code will build without a significant porting effort.  For
> example, you have Global.H in some directory; yet, your source has
> '#include "global.h"'.

> It may also be advantageous to include simple instructions of which
> files need to be compiled and the order.

I can rename those header files and do a global change on the
include filenames in Visual Studio in about 15 minutes.

Is it really that difficult to do this with UNIX ?

I will make sure the next release has these changes.
Thanks for the valuable feedback.  I really appreciate it.

Paul B Mann
[It's easy enough if you know what the files are and where all the
include statements are. -John]


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul B Mann  
View profile  
 More options Feb 10, 4:24 pm
Newsgroups: comp.compilers
From: Paul B Mann <p...@paulbmann.com>
Date: Fri, 10 Feb 2012 13:24:41 -0800 (PST)
Local: Fri, Feb 10 2012 4:24 pm
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++

> UNIX and unix-like system are case sensitive.  There is no chance that
> this code will build without a significant porting effort.  For
> example, you have Global.H in some directory; yet, your source has
> '#include "global.h"'.

> It may also be advantageous to include simple instructions of which
> files need to be compiled and the order.

I have created a newer release: 3.0.211 in which I renamed the file
names to all lower case and changed the #include filenames to match.

I also added "readme.txt" files to the "source" directories which
tells you how to compile under UNIX/Linux (i.e. compile the
"lrstar.cpp" file, the "dfastar.cpp" file and the "dfac.cpp" file).

I'm sure there will be more changes needed, because I'm not so
familiar with UNIX.

Paul Mann


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Steven G. Kargl  
View profile  
 More options Feb 11, 1:31 pm
Newsgroups: comp.compilers
From: "Steven G. Kargl" <s...@REMOVEtroutmask.apl.washington.edu>
Date: Sat, 11 Feb 2012 18:31:29 +0000 (UTC)
Local: Sat, Feb 11 2012 1:31 pm
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++

Thanks.

Yes, more changes are needed.  First, one needs to comment out
'#define DOS' in globals.h.  Then, (on at least FreeBSD) one needs to
remove '#include "malloc.h", because everything that at one time was
declared in that file is now found in stdlib.h and inclusion of
malloc.h leads to an error.  Now, I hit the show stopper:

laptop:kargl[240] g++ -o z -I. dfac.cpp |& more
In file included from actions.cpp:4,
                 from dfac.cpp:2:
global.h:52:15: error: "or" cannot be used as a macro name as
it is an operator in C++

--
steve


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
glen herrmannsfeldt  
View profile  
 More options Feb 12, 1:29 am
Newsgroups: comp.compilers
From: glen herrmannsfeldt <g...@ugcs.caltech.edu>
Date: Sun, 12 Feb 2012 06:29:16 +0000 (UTC)
Local: Sun, Feb 12 2012 1:29 am
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++
Steven G. Kargl <s...@removetroutmask.apl.washington.edu> wrote:

> In file included from actions.cpp:4,
>                 from dfac.cpp:2:
> global.h:52:15: error: "or" cannot be used as a macro name as
> it is an operator in C++

In C, the preprocessor is logically before the compiler, so, as far as
I understand, there is no problem using any C reserved word as a macro
name, as long as you don't need the word.

I know C++ isn't C, but this one surprises me.

Still, if you aren't using the "or" operator, a quick pass through sed
should be able to fix it.

-- glen


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Paul B Mann  
View profile  
 More options Feb 14, 11:14 am
Newsgroups: comp.compilers
From: Paul B Mann <p...@paulbmann.com>
Date: Tue, 14 Feb 2012 08:14:13 -0800 (PST)
Local: Tues, Feb 14 2012 11:14 am
Subject: Re: LRSTAR 3.0: LALR(k) parser generator & lexer generator for C++
A current user of LRSTAR 3.0 just sent me a Linux source version that
is working with GCC and LLVM.  I will do some testing of it this week
and upload it to

http://compilerware.com and
http://sourceforge.net/projects/lrstar/

this week, I hope.

Paul Mann


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »