# Modula 3 language definition file
#
# Author: Andre Simon
#   Mail: andre.simon1@gmx.de
#   Date: 21.11.2002
# ------------------------------------------
# This file is a part of highlight, a free source code converter released under the GPL.
#
# The file is used to describe keywords and special symbols of programming languages.
# See README in the highlight directory for details.
#
# New definition files for future releases of highlight are always appreciated ;)
#
# ----------
# andre.simon1@gmx.de
# http:/www.andre-simon.de/

$DESCRIPTION=Modula3

$KEYWORDS(kwa)=and       do          from        not         repeat     until
any       else        generic     object      return     untraced
array     elsif       if          of          reveal     value
as        end         import      or          root       var
begin     eval        in          overrides   set        while
bits      except      interface   procedure   then       with
branded   exception   lock        raise       to
by        exit        loop        raises      try
case      exports     methods     readonly    type
const     finally     mod         record      typecase
div       for         module      ref         unsafe

$KEYWORDS(kwb)=abs       bytesize   extended  integer    min     number    text
address   cardinal   false     istype     mutex   ord       true
adr       ceiling    first     last       narrow  real      trunc
adrsize   char       float     longreal   new     refany    typecode
bitsize   dec        floor     loophole   nil     round     val
boolean   dispose    inc       max        null    subarray

$KEYWORDS(kwd)=regex((\w+)\s*\()

$STRINGDELIMITERS=" '

$SL_COMMENT=//

$ML_COMMENT=(* *)

$IGNORECASE=true

$SYMBOLS=( ) [ ] { } , ; : & | < > !  = / * %  + -
