Tools for Compiler Constructors

Here are some of the programs I've written or co-authored in my spare time to make life easier or simply for the fun of it.  This software is available for free (mostly under the terms of the GNU General Public License (GPL)):
See also Scripts.html. There is a sed script to convert Ebnf to Yacc input, a syntax-highliter for YRef generated crossreferences, and some more.


Bug warning:

There is a bug in almost all versions of TPLex.
Proposed bug-fix:
Replace in function act_char of LexRules.pas (around line 178 in old version of TPLex) :
>    if bufptr=0 then
>      act_char := #0
>    else
>      begin
>        while pop_macro do ;

>        act_char := buf[bufptr];


>      end
>  end(*act_char*); 
  by  
<    if bufptr=0 then
<      act_char := #0
<    else
<      begin
<        while pop_macro do ;
<        if bufptr>0 then
<          act_char := buf[bufptr]
<        else
<          act_char := #0;
<      end
<  end(*act_char*);
This should give the same results as the already used code; and doesn't change internal behaviour.


Back to my homepage

Updated 15.January.2004 1