home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / occam.vim < prev    next >
Encoding:
Text File  |  2003-05-24  |  4.4 KB  |  127 lines

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