Some context first: ABEL (Advanced Boolean Equation Language) is an old hardware description language which has been mainly used in the 80/90s to program CPLDs. Unfortunately I have not found any meaningful information about the history of the language and why the 'flag' keyword has been deprecated (see below).

According to (modern) language reference the 'flag' keyword is obsolete in ABEL HDL. Nonetheless it is used in this listing on wikipedia in the module section with the argument '-r3'?

What was the initial purpose of this keyword and what is the meaning of the string following it?

  • You might want to add a little background, such as what is ABEL HDL. Without context, this question will be meaningless to a lot of us.
    – RichF
    Jan 18, 2020 at 14:31
  • 1
    The original ABEL tool was written in C. There was a flag() function found in parse.c (first page only, PDF). No additional pages nor abel.h can be found. The author bjorn would have been Bjorn Freeman-Benson.
    – user9041
    Jan 19, 2020 at 7:11

1 Answer 1


FLAG is/was used to control behaviour of the language processor (compiler). It is to be placed between MODULE and TITLE.

Its argument would be processed as if it was part of the command line. Command line settings would (usually) overwrite the same settings in FLAG.

It was deprecated due its usage being implementation dependant. It is still processed by most tools.

  • Do you have an idea what '-r3' could stand for? Are there any standard ABEL compiler manuals where I can look up the compiler flags?
    – user6734
    Jan 18, 2020 at 16:45

You must log in to answer this question.