blob: 5bfa48e624d7032f56aa05878aed880ff8201e7e [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: SNNS pattern file
3" Maintainer: Davide Alberani <alberanid@bigfoot.com>
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +01004" Last Change: 2012 Feb 03 by Thilo Six
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" Version: 0.2
6" URL: http://digilander.iol.it/alberanid/vim/syntax/snnspat.vim
7"
8" SNNS http://www-ra.informatik.uni-tuebingen.de/SNNS/
9" is a simulator for neural networks.
10
11if version < 600
12 syntax clear
13elseif exists("b:current_syntax")
14 finish
15endif
16
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010017let s:cpo_save = &cpo
18set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
20" anything that isn't part of the header, a comment or a number
21" is wrong
22syn match snnspatError ".*"
23" hoping that matches any kind of notation...
24syn match snnspatAccepted "\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)"
25syn match snnspatAccepted "\s"
26syn match snnspatBrac "\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers
27
28" the accepted fields in the header
29syn match snnspatNoHeader "No\. of patterns\s*:\s*" contained
30syn match snnspatNoHeader "No\. of input units\s*:\s*" contained
31syn match snnspatNoHeader "No\. of output units\s*:\s*" contained
32syn match snnspatNoHeader "No\. of variable input dimensions\s*:\s*" contained
33syn match snnspatNoHeader "No\. of variable output dimensions\s*:\s*" contained
34syn match snnspatNoHeader "Maximum input dimensions\s*:\s*" contained
35syn match snnspatNoHeader "Maximum output dimensions\s*:\s*" contained
36syn match snnspatGen "generated at.*" contained contains=snnspatNumbers
37syn match snnspatGen "SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers
38
39" the header, what is not an accepted field, is an error
40syn region snnspatHeader start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac
41
42" numbers inside the header
43syn match snnspatNumbers "\d" contained
44syn match snnspatComment "#.*$" contains=snnspatTodo
45syn keyword snnspatTodo TODO XXX FIXME contained
46
47if version >= 508 || !exists("did_snnspat_syn_inits")
48 if version < 508
49 let did_snnspat_syn_inits = 1
50 command -nargs=+ HiLink hi link <args>
51 else
52 command -nargs=+ HiLink hi def link <args>
53 endif
54
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
64
65 delcommand HiLink
66endif
67
68let b:current_syntax = "snnspat"
69
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010070let &cpo = s:cpo_save
71unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +000072" vim: ts=8 sw=2