modsim3.vim (3623B)
1 " 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 15 " quit when a syntax file was already loaded 16 if exists("b:current_syntax") 17 finish 18 endif 19 20 21 " syn case match " case sensitiv match is default 22 23 " A bunch of keywords 24 syn keyword modsim3Keyword ACTID ALL AND AS ASK 25 syn keyword modsim3Keyword BY CALL CASE CLASS CONST DIV 26 syn keyword modsim3Keyword DOWNTO DURATION ELSE ELSIF EXIT FALSE FIXED FOR 27 syn keyword modsim3Keyword FOREACH FORWARD IF IN INHERITED INOUT 28 syn keyword modsim3Keyword INTERRUPT LOOP 29 syn keyword modsim3Keyword MOD MONITOR NEWVALUE 30 syn keyword modsim3Keyword NONMODSIM NOT OBJECT OF ON OR ORIGINAL OTHERWISE OUT 31 syn keyword modsim3Keyword OVERRIDE PRIVATE PROTO REPEAT 32 syn keyword modsim3Keyword RETURN REVERSED SELF STRERR TELL 33 syn keyword modsim3Keyword TERMINATE THISMETHOD TO TRUE TYPE UNTIL VALUE VAR 34 syn keyword modsim3Keyword WAIT WAITFOR WHEN WHILE WITH 35 36 " Builtin functions and procedures 37 syn keyword modsim3Builtin ABS ACTIVATE ADDMONITOR CAP CHARTOSTR CHR CLONE 38 syn keyword modsim3Builtin DEACTIVATE DEC DISPOSE FLOAT GETMONITOR HIGH INC 39 syn keyword modsim3Builtin INPUT INSERT INTTOSTR ISANCESTOR LOW LOWER MAX MAXOF 40 syn keyword modsim3Builtin MIN MINOF NEW OBJTYPEID OBJTYPENAME OBJVARID ODD 41 syn keyword modsim3Builtin ONERROR ONEXIT ORD OUTPUT POSITION PRINT REALTOSTR 42 syn keyword modsim3Builtin REPLACE REMOVEMONITOR ROUND SCHAR SIZEOF SPRINT 43 syn keyword modsim3Builtin STRLEN STRTOCHAR STRTOINT STRTOREAL SUBSTR TRUNC 44 syn keyword modsim3Builtin UPDATEVALUE UPPER VAL 45 46 syn keyword modsim3BuiltinNoParen HALT TRACE 47 48 " Special keywords 49 syn keyword modsim3Block PROCEDURE METHOD MODULE MAIN DEFINITION IMPLEMENTATION 50 syn keyword modsim3Block BEGIN END 51 52 syn keyword modsim3Include IMPORT FROM 53 54 syn keyword modsim3Type ANYARRAY ANYOBJ ANYREC ARRAY BOOLEAN CHAR INTEGER 55 syn keyword modsim3Type LMONITORED LRMONITORED NILARRAY NILOBJ NILREC REAL 56 syn keyword modsim3Type RECORD RMONITOR RMONITORED STRING 57 58 " catch errros cause by wrong parenthesis 59 " slight problem with "( *)" or "(* )". Hints? 60 syn region modsim3Paren transparent start='(' end=')' contains=ALLBUT,modsim3ParenError 61 syn match modsim3ParenError ")" 62 63 " Comments 64 syn region modsim3Comment1 start="{" end="}" contains=modsim3Comment1,modsim3Comment2 65 syn 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 71 syn region modsim3String start=+"+ end=+"+ 72 73 " Literals 74 "syn region modsim3Literal start=+'+ end=+'+ 75 syn match modsim3Literal "'[^']'\|''''" 76 77 " Define the default highlighting. 78 " Only when an item doesn't have highlighting yet 79 80 " The default methods for highlighting. Can be overridden later 81 hi def link modsim3Keyword Statement 82 hi def link modsim3Block Statement 83 hi def link modsim3Comment1 Comment 84 hi def link modsim3Comment2 Comment 85 hi def link modsim3String String 86 hi def link modsim3Literal Character 87 hi def link modsim3Include Statement 88 hi def link modsim3Type Type 89 hi def link modsim3ParenError Error 90 hi def link modsim3Builtin Function 91 hi def link modsim3BuiltinNoParen Function 92 93 94 let b:current_syntax = "modsim3" 95 96 " vim: ts=8 sw=2