2 " Language: SNNS pattern file
3 " Maintainer: Davide Alberani <alberanid@bigfoot.com>
4 " Last Change: 2012 Feb 03 by Thilo Six
6 " URL: http://digilander.iol.it/alberanid/vim/syntax/snnspat.vim
8 " SNNS http://www-ra.informatik.uni-tuebingen.de/SNNS/
9 " is a simulator for neural networks.
13 elseif exists("b:current_syntax")
20 " anything that isn't part of the header, a comment or a number
22 syn match snnspatError ".*"
23 " hoping that matches any kind of notation...
24 syn match snnspatAccepted "\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)"
25 syn match snnspatAccepted "\s"
26 syn match snnspatBrac "\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers
28 " the accepted fields in the header
29 syn match snnspatNoHeader "No\. of patterns\s*:\s*" contained
30 syn match snnspatNoHeader "No\. of input units\s*:\s*" contained
31 syn match snnspatNoHeader "No\. of output units\s*:\s*" contained
32 syn match snnspatNoHeader "No\. of variable input dimensions\s*:\s*" contained
33 syn match snnspatNoHeader "No\. of variable output dimensions\s*:\s*" contained
34 syn match snnspatNoHeader "Maximum input dimensions\s*:\s*" contained
35 syn match snnspatNoHeader "Maximum output dimensions\s*:\s*" contained
36 syn match snnspatGen "generated at.*" contained contains=snnspatNumbers
37 syn match snnspatGen "SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers
39 " the header, what is not an accepted field, is an error
40 syn region snnspatHeader start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac
42 " numbers inside the header
43 syn match snnspatNumbers "\d" contained
44 syn match snnspatComment "#.*$" contains=snnspatTodo
45 syn keyword snnspatTodo TODO XXX FIXME contained
47 if version >= 508 || !exists("did_snnspat_syn_inits")
49 let did_snnspat_syn_inits = 1
50 command -nargs=+ HiLink hi link <args>
52 command -nargs=+ HiLink hi def link <args>
55 HiLink snnspatGen Statement
56 HiLink snnspatHeader Error
57 HiLink snnspatNoHeader Define
58 HiLink snnspatNumbers Number
59 HiLink snnspatComment Comment
60 HiLink snnspatError Error
61 HiLink snnspatTodo Todo
62 HiLink snnspatAccepted NONE
63 HiLink snnspatBrac NONE
68 let b:current_syntax = "snnspat"