# Highlight Modula-2 language definition file
#
# Author: B. Kowarsch
# Date: March 25, 2010
# ------------------------------------------
# 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=Modula2

# Reserved words
$KEYWORDS(kwa)=AND  ARRAY  BEGIN  BY  CASE  CONST  DEFINITION  DIV  DO  ELSE
ELSIF  END  EXCEPT  EXIT  EXPORT  FINALLY  FOR  FORWARD  FROM  IF  IMPLEMENTATION
IMPORT  IN  LOOP  MOD  MODULE  NOT  OF  OR  PACKEDSET  POINTER  PROCEDURE
QUALIFIED  RECORD  REM  REPEAT  RETRY  RETURN  SET  THEN  TO TYPE  UNTIL  VAR
WHILE  WITH

# Pervasive identifiers
$KEYWORDS(kwb)=ABS  BITSET  BOOLEAN   CAP  CARDINAL  CHAR  CHR  DEC  DISPOSE
EXCL  FALSE  FLOAT  HALT  HIGH  INC  INCL  INTEGER  LONGCARD LONGINT  LONGREAL
MAX  MIN  NEW  NIL  ODD ORD  PROC  REAL  SIZE  TRUE  TRUNC  TSIZE VAL

# Other identifiers

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

$STRINGDELIMITERS=" '

$ML_COMMENT=(* *)

$ALLOWNESTEDCOMMENTS=true

$IGNORECASE=false

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