Re: EBNF definition for RPG?

"Joachim Durchholz" <>
6 Mar 2000 00:20:54 -0500

          From comp.compilers

Related articles
EBNF definition for RPG? (Peter Dackombe) (2000-02-22)
Re: EBNF definition for RPG? (2000-02-27)
Re: EBNF definition for RPG? (Charles E. Bortle, Jr.) (2000-02-28)
Re: EBNF definition for RPG? (2000-02-28)
Re: EBNF definition for RPG? (Joachim Durchholz) (2000-03-06)
Re: EBNF definition for RPG? (Jeremy Boden) (2000-03-06)
Re: EBNF definition for RPG? (Charles E. Bortle, Jr.) (2000-03-06)
| List of all articles for this month |

From: "Joachim Durchholz" <>
Newsgroups: comp.compilers
Date: 6 Mar 2000 00:20:54 -0500
Organization: Compilers Central
References: 00-02-113 00-02-143
Keywords: parse

RKRayhawk <> schrieb in im Newsbeitrag:
> Don't know of one but sense that there is a big opportunity there to
> bring that set of apps across into the inexpensive world of 'the
> desktop' environs.

Forget it.
I have seen this (not) work.
The problem isn't RPG itself (that's easy enough to translate), it's
that IBM defines a slew of new facilities for RPG with every release of
OS/400, and you cannot port those RPG programs unless you find the same
libraries on the PC. I've seen different RPG emulators, and *all* failed
on the library account.
It's unlikely that IBM will ever stabilize the library facilities: it's
one of those things that keep AS/400 customers from migrating to PCs.

> [Oh, you can certainly write a lexer that turns column positions
> into tokens. But the syntax of RPG is so simple that BNF seems
> like overkill. -John]

Yup. Even a parser is overkill. Everything is already encoded into
columns; just dispatch first on the letter in the card type column, then
on the operator name.
Unless, of course, IBM has redefined the syntax in the past 5 years; I
think something in this direction was announced but I happily stopped
working in RPG at that time. (I know of only one language that's worse
than RPG, and that's INTERCAL.)


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.