diff --git a/runtime/syntax/csp.vim b/runtime/syntax/csp.vim
new file mode 100644
index 0000000..bd6213e
--- /dev/null
+++ b/runtime/syntax/csp.vim
@@ -0,0 +1,195 @@
+" Vim syntax file
+" Language:	CSP (Communication Sequential Processes, using FDR input syntax)
+" Maintainer:	Jan Bredereke <brederek@tzi.de>
+" Version:	0.6.0
+" Last change:	Mon Mar 25, 2002
+" URL:		http://www.tzi.de/~brederek/vim/
+" Copying:	You may distribute and use this file freely, in the same
+"		way as the vim editor itself.
+"
+" To Do:	- Probably I missed some keywords or operators, please
+"		  fix them and notify me, the maintainer.
+"		- Currently, we do lexical highlighting only. It would be
+"		  nice to have more actual syntax checks, including
+"		  highlighting of wrong syntax.
+"		- The additional syntax for the RT-Tester (pseudo-comments)
+"		  should be optional.
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" case is significant to FDR:
+syn case match
+
+" Block comments in CSP are between {- and -}
+syn region cspComment	start="{-"  end="-}" contains=cspTodo
+" Single-line comments start with --
+syn region cspComment	start="--"  end="$" contains=cspTodo,cspOldRttComment,cspSdlRttComment keepend
+
+" Numbers:
+syn match  cspNumber "\<\d\+\>"
+
+" Conditionals:
+syn keyword  cspConditional if then else
+
+" Operators on processes:
+" -> ? : ! ' ; /\ \ [] |~| [> & [[..<-..]] ||| [|..|] || [..<->..] ; : @ |||
+syn match  cspOperator "->"
+syn match  cspOperator "/\\"
+syn match  cspOperator "[^/]\\"lc=1
+syn match  cspOperator "\[\]"
+syn match  cspOperator "|\~|"
+syn match  cspOperator "\[>"
+syn match  cspOperator "\[\["
+syn match  cspOperator "\]\]"
+syn match  cspOperator "<-"
+syn match  cspOperator "|||"
+syn match  cspOperator "[^|]||[^|]"lc=1,me=e-1
+syn match  cspOperator "[^|{\~]|[^|}\~]"lc=1,me=e-1
+syn match  cspOperator "\[|"
+syn match  cspOperator "|\]"
+syn match  cspOperator "\[[^>]"me=e-1
+syn match  cspOperator "\]"
+syn match  cspOperator "<->"
+syn match  cspOperator "[?:!';@]"
+syn match  cspOperator "&"
+syn match  cspOperator "\."
+
+" (not on processes:)
+" syn match  cspDelimiter	"{|"
+" syn match  cspDelimiter	"|}"
+" syn match  cspDelimiter	"{[^-|]"me=e-1
+" syn match  cspDelimiter	"[^-|]}"lc=1
+
+" Keywords:
+syn keyword cspKeyword		length null head tail concat elem
+syn keyword cspKeyword		union inter diff Union Inter member card
+syn keyword cspKeyword		empty set Set Seq
+syn keyword cspKeyword		true false and or not within let
+syn keyword cspKeyword		nametype datatype diamond normal
+syn keyword cspKeyword		sbisim tau_loop_factor model_compress
+syn keyword cspKeyword		explicate
+syn match cspKeyword		"transparent"
+syn keyword cspKeyword		external chase prioritize
+syn keyword cspKeyword		channel Events
+syn keyword cspKeyword		extensions productions
+syn keyword cspKeyword		Bool Int
+
+" Reserved keywords:
+syn keyword cspReserved		attribute embed module subtype
+
+" Include:
+syn region cspInclude matchgroup=cspIncludeKeyword start="^include" end="$" keepend contains=cspIncludeArg
+syn region cspIncludeArg start='\s\+\"' end= '\"\s*' contained
+
+" Assertions:
+syn keyword cspAssert		assert deterministic divergence free deadlock
+syn keyword cspAssert		livelock
+syn match cspAssert		"\[T="
+syn match cspAssert		"\[F="
+syn match cspAssert		"\[FD="
+syn match cspAssert		"\[FD\]"
+syn match cspAssert		"\[F\]"
+
+" Types and Sets
+" (first char a capital, later at least one lower case, no trailing underscore):
+syn match cspType     "\<_*[A-Z][A-Z_0-9]*[a-z]\(\|[A-Za-z_0-9]*[A-Za-z0-9]\)\>"
+
+" Processes (all upper case, no trailing underscore):
+" (For identifiers that could be types or sets, too, this second rule set
+" wins.)
+syn match cspProcess		"\<[A-Z_][A-Z_0-9]*[A-Z0-9]\>"
+syn match cspProcess		"\<[A-Z_]\>"
+
+" reserved identifiers for tool output (ending in underscore):
+syn match cspReservedIdentifier	"\<[A-Za-z_][A-Za-z_0-9]*_\>"
+
+" ToDo markers:
+syn match cspTodo		"FIXME"	contained
+syn match cspTodo		"TODO"	contained
+syn match cspTodo		"!!!"	contained
+
+" RT-Tester pseudo comments:
+" (The now obsolete syntax:)
+syn match cspOldRttComment	"^--\$\$AM_UNDEF"lc=2		contained
+syn match cspOldRttComment	"^--\$\$AM_ERROR"lc=2		contained
+syn match cspOldRttComment	"^--\$\$AM_WARNING"lc=2		contained
+syn match cspOldRttComment	"^--\$\$AM_SET_TIMER"lc=2	contained
+syn match cspOldRttComment	"^--\$\$AM_RESET_TIMER"lc=2	contained
+syn match cspOldRttComment	"^--\$\$AM_ELAPSED_TIMER"lc=2	contained
+syn match cspOldRttComment	"^--\$\$AM_OUTPUT"lc=2		contained
+syn match cspOldRttComment	"^--\$\$AM_INPUT"lc=2		contained
+" (The current syntax:)
+syn region cspRttPragma matchgroup=cspRttPragmaKeyword start="^pragma\s\+" end="\s*$" oneline keepend contains=cspRttPragmaArg,cspRttPragmaSdl
+syn keyword cspRttPragmaArg	AM_ERROR AM_WARNING AM_SET_TIMER contained
+syn keyword cspRttPragmaArg	AM_RESET_TIMER AM_ELAPSED_TIMER  contained
+syn keyword cspRttPragmaArg	AM_OUTPUT AM_INPUT AM_INTERNAL   contained
+" the "SDL_MATCH" extension:
+syn region cspRttPragmaSdl	matchgroup=cspRttPragmaKeyword start="SDL_MATCH\s\+" end="\s*$" contains=cspRttPragmaSdlArg contained
+syn keyword cspRttPragmaSdlArg	TRANSLATE nextgroup=cspRttPragmaSdlTransName contained
+syn keyword cspRttPragmaSdlArg	PARAM SKIP OPTIONAL CHOICE ARRAY nextgroup=cspRttPragmaSdlName contained
+syn match cspRttPragmaSdlName	"\s*\S\+\s*" nextgroup=cspRttPragmaSdlTail contained
+syn region cspRttPragmaSdlTail  start="" end="\s*$" contains=cspRttPragmaSdlTailArg contained
+syn keyword cspRttPragmaSdlTailArg	SUBSET_USED DEFAULT_VALUE Present contained
+syn match cspRttPragmaSdlTransName	"\s*\w\+\s*" nextgroup=cspRttPragmaSdlTransTail contained
+syn region cspRttPragmaSdlTransTail  start="" end="\s*$" contains=cspRttPragmaSdlTransTailArg contained
+syn keyword cspRttPragmaSdlTransTailArg	sizeof contained
+syn match cspRttPragmaSdlTransTailArg	"\*" contained
+syn match cspRttPragmaSdlTransTailArg	"(" contained
+syn match cspRttPragmaSdlTransTailArg	")" contained
+
+" temporary syntax extension for commented-out "pragma SDL_MATCH":
+syn match cspSdlRttComment	"pragma\s\+SDL_MATCH\s\+" nextgroup=cspRttPragmaSdlArg contained
+
+syn sync lines=250
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_csp_syn_inits")
+  if version < 508
+    let did_csp_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  " The default methods for highlighting.  Can be overridden later
+  " (For vim version <=5.7, the command groups are defined in
+  " $VIMRUNTIME/syntax/synload.vim )
+  HiLink cspComment			Comment
+  HiLink cspNumber			Number
+  HiLink cspConditional			Conditional
+  HiLink cspOperator			Delimiter
+  HiLink cspKeyword			Keyword
+  HiLink cspReserved			SpecialChar
+  HiLink cspInclude			Error
+  HiLink cspIncludeKeyword		Include
+  HiLink cspIncludeArg			Include
+  HiLink cspAssert			PreCondit
+  HiLink cspType			Type
+  HiLink cspProcess			Function
+  HiLink cspTodo			Todo
+  HiLink cspOldRttComment		Define
+  HiLink cspRttPragmaKeyword		Define
+  HiLink cspSdlRttComment		Define
+  HiLink cspRttPragmaArg		Define
+  HiLink cspRttPragmaSdlArg		Define
+  HiLink cspRttPragmaSdlName		Default
+  HiLink cspRttPragmaSdlTailArg		Define
+  HiLink cspRttPragmaSdlTransName	Default
+  HiLink cspRttPragmaSdlTransTailArg	Define
+  HiLink cspReservedIdentifier	Error
+  " (Currently unused vim method: Debug)
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "csp"
+
+" vim: ts=8
