# Style sheet for REXX
#
# Copyright (c) 1999, Alexander Mai

#
# This file is part of a2ps.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#

style "REXX" is
requires a2ps version 4.10.4
written by "Alexander Mai <st002279@hrzpub.tu-darmstadt.de>"
version is 0.22

documentation is
  "This style sheet supports REXX."
  "You can get information about REXX from the url(http://www.rexxla.org)url(REXX Language Association)url."
end documentation

alphabets are
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_."

case insensitive

# REXX-Keywords
keywords in Keyword_strong are
  address, arg, call, do, drop, else, "end", exit, expose, goto,
  if, interpret, leave, nop, numeric, on, options, otherwise,
  parse, pull, push, queue, return, say, select, signal, source,
  then, trace, until, var, value, when, while
end keywords

# REXX-builtin functions
keywords in Keyword are
  abbrev, abs, beep, bitand, bitor, bitxor, b2x, center, centre,
  charin, charout, chars, compare, condition, copies, c2d, c2x,
  datatype, date, delstr, delword, d2c, d2x, directory, errortext,
  endlocal, filespec, forever, form, format, fuzz, insert,
  lastpos, left, length, linein, lineout, lines max, min,
  overlay, pos, queued, random, reverse, right,
  setlocal, sign, sourceline, space, stream, strip, substr,
  subword, symbol, time, translate, trunc,
  value, verify, word, wordindex, wordlength, wordpos, words,
  xrange, x2b, x2c, x2d
end keywords

optional operators are
    ||   \vee,
    <>   \neq,
    \=   \neq,
    \\   \not
end operators

sequences are
    "/*" Comment "*/",
    "\"" Plain String "\"" Plain,
    "'" Plain String "'" Plain,

# call to subprograms
    "call "                  Keyword_strong Label
	closers are
	   " " Plain,
	   "(" Plain,
	   /$/ Plain
	end closers,

# procedures
  /^[a-z_]+: *$/          Label,
    "procedure "             Keyword_strong (Label + Index1)
end sequences

end style
