blob: ce35033402fa8b696e382a7322edff2382be4ef7 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Modsim III, by compuware corporation (www.compuware.com)
3" Maintainer: Philipp Jocham <flip@sbox.tu-graz.ac.at>
4" Extension: *.mod
5" Last Change: 2001 May 10
6"
7" 2001 March 24:
8" - Modsim III is a registered trademark from compuware corporation
9" - made compatible with Vim 6.0
10"
11" 1999 Apr 22 : Changed modsim3Literal from region to match
12"
13" very basic things only (based on the modula2 and c files).
14
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020015" quit when a syntax file was already loaded
16if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000017 finish
18endif
19
20
21" syn case match " case sensitiv match is default
22
23" A bunch of keywords
24syn keyword modsim3Keyword ACTID ALL AND AS ASK
25syn keyword modsim3Keyword BY CALL CASE CLASS CONST DIV
26syn keyword modsim3Keyword DOWNTO DURATION ELSE ELSIF EXIT FALSE FIXED FOR
27syn keyword modsim3Keyword FOREACH FORWARD IF IN INHERITED INOUT
28syn keyword modsim3Keyword INTERRUPT LOOP
29syn keyword modsim3Keyword MOD MONITOR NEWVALUE
30syn keyword modsim3Keyword NONMODSIM NOT OBJECT OF ON OR ORIGINAL OTHERWISE OUT
31syn keyword modsim3Keyword OVERRIDE PRIVATE PROTO REPEAT
32syn keyword modsim3Keyword RETURN REVERSED SELF STRERR TELL
33syn keyword modsim3Keyword TERMINATE THISMETHOD TO TRUE TYPE UNTIL VALUE VAR
34syn keyword modsim3Keyword WAIT WAITFOR WHEN WHILE WITH
35
36" Builtin functions and procedures
37syn keyword modsim3Builtin ABS ACTIVATE ADDMONITOR CAP CHARTOSTR CHR CLONE
38syn keyword modsim3Builtin DEACTIVATE DEC DISPOSE FLOAT GETMONITOR HIGH INC
39syn keyword modsim3Builtin INPUT INSERT INTTOSTR ISANCESTOR LOW LOWER MAX MAXOF
40syn keyword modsim3Builtin MIN MINOF NEW OBJTYPEID OBJTYPENAME OBJVARID ODD
41syn keyword modsim3Builtin ONERROR ONEXIT ORD OUTPUT POSITION PRINT REALTOSTR
42syn keyword modsim3Builtin REPLACE REMOVEMONITOR ROUND SCHAR SIZEOF SPRINT
43syn keyword modsim3Builtin STRLEN STRTOCHAR STRTOINT STRTOREAL SUBSTR TRUNC
44syn keyword modsim3Builtin UPDATEVALUE UPPER VAL
45
46syn keyword modsim3BuiltinNoParen HALT TRACE
47
48" Special keywords
49syn keyword modsim3Block PROCEDURE METHOD MODULE MAIN DEFINITION IMPLEMENTATION
50syn keyword modsim3Block BEGIN END
51
52syn keyword modsim3Include IMPORT FROM
53
54syn keyword modsim3Type ANYARRAY ANYOBJ ANYREC ARRAY BOOLEAN CHAR INTEGER
55syn keyword modsim3Type LMONITORED LRMONITORED NILARRAY NILOBJ NILREC REAL
56syn keyword modsim3Type RECORD RMONITOR RMONITORED STRING
57
58" catch errros cause by wrong parenthesis
59" slight problem with "( *)" or "(* )". Hints?
60syn region modsim3Paren transparent start='(' end=')' contains=ALLBUT,modsim3ParenError
61syn match modsim3ParenError ")"
62
63" Comments
64syn region modsim3Comment1 start="{" end="}" contains=modsim3Comment1,modsim3Comment2
65syn region modsim3Comment2 start="(\*" end="\*)" contains=modsim3Comment1,modsim3Comment2
66" highlighting is wrong for constructs like "{ (* } *)",
67" which are allowed in Modsim III, but
68" I think something like that shouldn't be used anyway.
69
70" Strings
71syn region modsim3String start=+"+ end=+"+
72
73" Literals
74"syn region modsim3Literal start=+'+ end=+'+
75syn match modsim3Literal "'[^']'\|''''"
76
77" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020078" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000079
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020080" The default methods for highlighting. Can be overridden later
Bram Moolenaarf37506f2016-08-31 22:22:10 +020081hi def link modsim3Keyword Statement
82hi def link modsim3Block Statement
83hi def link modsim3Comment1 Comment
84hi def link modsim3Comment2 Comment
85hi def link modsim3String String
86hi def link modsim3Literal Character
87hi def link modsim3Include Statement
88hi def link modsim3Type Type
89hi def link modsim3ParenError Error
90hi def link modsim3Builtin Function
91hi def link modsim3BuiltinNoParen Function
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
Bram Moolenaar071d4272004-06-13 20:20:40 +000093
94let b:current_syntax = "modsim3"
95
96" vim: ts=8 sw=2
97