# Style sheet for modula-2
# Copyright (c) 1997, Peter Bartke
# $Id: modula2.ssh,v 1.1 1997/10/12 16:53:48 demaille Exp $
#

style "Modula 2" is
written by "Peter Bartke <bartke@inf.fu-berlin.de>"
version is 1.0
requires a2ps version 4.9.7

alphabets are
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_"
case sensitive

# Common to Modula 2 and Modula 3
keywords in Keyword_strong are
  AND, ARRAY, BEGIN, BY, CASE, CONST, DIV, DO, ELSE, ELSIF, END, EXIT,
  FOR, FROM, IF, IMPORT, IN, LOOP, MOD, MODULE, NOT, OF, OR,
  PROCEDURE, RECORD, REPEAT, RETURN, SET, THEN, TO, TYPE, UNTIL, VAR,
  WHILE, WITH
end keywords

# Modula 2 only
keywords in Keyword_strong are
  DEFINITION, EXPORT, IMPLEMENTATION, POINTER, QUALIFIED
end keywords

keywords in Keyword are
  ADDRESS, BITSET, BOOLEAN, CARDINAL, CHAR, INTEGER, LONGINT,
  LONGREAL, WORD, PROC, REAL, FALSE, TRUE, NIL, ABS, CAP, CHR, FLOAT,
  HIGH, MAX, MIN, ODD, ORD, SIZE, TRUNC, VAL, DEC, INC, INCL, EXCL,
  HALT
end keywords
optional keywords are
   IN \in,
   NOT \not,
   AND \wedge,
   OR \vee
end keywords
optional operators are
   ^  \uparrow,
   <= \leq,
   >= \geq,
   <> \neq,
   "#" \neq,
   &  \wedge
end operators
sequences are
    "(*" Plain Comment "*)" Plain,
    C-string,
    C-char
end sequences
end style
