annotate runtime/syntax/occam.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: occam
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Copyright: Fred Barnes <frmb2@kent.ac.uk>, Mario Schweigler <ms44@kent.ac.uk>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Maintainer: Mario Schweigler <ms44@kent.ac.uk>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Last Change: 24 May 2003
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 "{{{ Settings
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 " Set shift width for indent
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 setlocal shiftwidth=2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 " Set the tab key size to two spaces
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 setlocal softtabstop=2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 " Let tab keys always be expanded to spaces
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 setlocal expandtab
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 " Dots are valid in occam identifiers
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 setlocal iskeyword+=.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 "}}}
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn keyword occamType BYTE BOOL INT INT16 INT32 INT64 REAL32 REAL64 ANY
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 syn keyword occamType CHAN DATA OF TYPE TIMER INITIAL VAL PORT MOBILE PLACED
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn keyword occamType PROCESSOR PACKED RECORD PROTOCOL SHARED ROUND TRUNC
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn keyword occamStructure SEQ PAR IF ALT PRI FORKING PLACE AT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn keyword occamKeyword PROC IS TRUE FALSE SIZE RECURSIVE REC
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn keyword occamKeyword RETYPES RESHAPES STEP FROM FOR RESCHEDULE STOP SKIP FORK
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 syn keyword occamKeyword FUNCTION VALOF RESULT ELSE CLONE CLAIM
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn keyword occamBoolean TRUE FALSE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn keyword occamRepeat WHILE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn keyword occamConditional CASE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 syn keyword occamConstant MOSTNEG MOSTPOS
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn match occamBrackets /\[\|\]/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn match occamParantheses /(\|)/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn keyword occamOperator AFTER TIMES MINUS PLUS INITIAL REM AND OR XOR NOT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn keyword occamOperator BITAND BITOR BITNOT BYTESIN OFFSETOF
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match occamOperator /::\|:=\|?\|!/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn match occamOperator /<\|>\|+\|-\|\*\|\/\|\\\|=\|\~/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn match occamOperator /@\|\$\$\|%\|&&\|<&\|&>\|<\]\|\[>\|\^/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn match occamSpecialChar /\M**\|*'\|*"\|*#\(\[0-9A-F\]\+\)/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn match occamChar /\M\L\='\[^*\]'/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn match occamChar /L'[^']*'/ contains=occamSpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match occamTodo /\<todo\>:\=/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn match occamNote /\<note\>:\=/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn keyword occamNote NOT contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn match occamComment /--.*/ contains=occamCommentTitle,occamTodo,occamNote
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn match occamCommentTitle /--\s*\u\a*\(\s\+\u\a*\)*:/hs=s+2 contained contains=occamTodo,occamNote
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn match occamCommentTitle /--\s*KROC-LIBRARY\(\.so\|\.a\)\=\s*$/hs=s+2 contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 syn match occamCommentTitle /--\s*\(KROC-OPTIONS:\|RUN-PARAMETERS:\)/hs=s+2 contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn match occamIdentifier /\<[A-Z.][A-Z.0-9]*\>/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 syn match occamFunction /\<[A-Za-z.][A-Za-z0-9.]*\>/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 syn match occamPPIdentifier /##.\{-}\>/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 syn region occamString start=/"/ skip=/\M*"/ end=/"/ contains=occamSpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 syn region occamCharString start=/'/ end=/'/ contains=occamSpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn match occamNumber /\<\d\+\(\.\d\+\(E\(+\|-\)\d\+\)\=\)\=/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn match occamNumber /-\d\+\(\.\d\+\(E\(+\|-\)\d\+\)\=\)\=/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn match occamNumber /#\(\d\|[A-F]\)\+/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 syn match occamNumber /-#\(\d\|[A-F]\)\+/
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 syn keyword occamCDString SHARED EXTERNAL DEFINED NOALIAS NOUSAGE NOT contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn keyword occamCDString FILE LINE PROCESS.PRIORITY OCCAM2.5 contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 syn keyword occamCDString USER.DEFINED.OPERATORS INITIAL.DECL MOBILES contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 syn keyword occamCDString BLOCKING.SYSCALLS VERSION NEED.QUAD.ALIGNMENT contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 syn keyword occamCDString TARGET.CANONICAL TARGET.CPU TARGET.OS TARGET.VENDOR contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 syn keyword occamCDString TRUE FALSE AND OR contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 syn match occamCDString /<\|>\|=\|(\|)/ contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 syn region occamCDirective start=/#\(USE\|INCLUDE\|PRAGMA\|DEFINE\|UNDEFINE\|UNDEF\|IF\|ELIF\|ELSE\|ENDIF\|WARNING\|ERROR\|RELAX\)\>/ end=/$/ contains=occamString,occamComment,occamCDString
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 if version >= 508 || !exists("did_occam_syn_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 let did_occam_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 HiLink occamType Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 HiLink occamKeyword Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 HiLink occamComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 HiLink occamCommentTitle PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 HiLink occamTodo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 HiLink occamNote Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 HiLink occamString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 HiLink occamCharString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105 HiLink occamNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 HiLink occamCDirective PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 HiLink occamCDString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 HiLink occamPPIdentifier PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 HiLink occamBoolean Boolean
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 HiLink occamSpecialChar SpecialChar
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 HiLink occamChar Character
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 HiLink occamStructure Structure
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 HiLink occamIdentifier Identifier
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114 HiLink occamConstant Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 HiLink occamOperator Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 HiLink occamFunction Ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 HiLink occamRepeat Repeat
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 HiLink occamConditional Conditional
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 HiLink occamBrackets Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 HiLink occamParantheses Delimiter
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 let b:current_syntax = "occam"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126