I think you misunderstood my question: lex and yacc will do nothing for analyzing the linguistic input to the system, and I understand maintaining (and manipulating!) the language input grammars in a database. lex and yacc are only good for "well-structured" languages like computer languages.
But its clear that you've developed one that you use in your paper that is a structured translation of the input language, and *that* was what I assumed you needed a "syntax checker" for--something that lex and yacc are really good at.
Maybe you want to start with a quick overview of your architecture: what are all the pieces and how are they supposed to work together?
Also, PL/I is indeed problematic: Not many people are familiar with it, and getting compilers that are compatible may be hard to do: there's a
Gnu PL/I project that seems rather incomplete, and I think IBM's PL/I for Windows costs a small fortune for most folks (I see references to a "Personal" edition, but I can't find it). Of course, I have to pass along that my compiler professor liked to say that "PL/I is like a gigantic Swiss Army Knife: its got a tool for everything, but by the time you've found the one you want, you've cut yourself."
Is there a reason you picked PL/I?
Language Diva,
Buffy