xref: /vim-8.2.3635/runtime/syntax/snnspat.vim (revision cf2d8dee)
1" Vim syntax file
2" Language:	SNNS pattern file
3" Maintainer:	Davide Alberani <[email protected]>
4" Last Change:	2012 Feb 03 by Thilo Six
5" 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
17let s:cpo_save = &cpo
18set cpo&vim
19
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
70let &cpo = s:cpo_save
71unlet s:cpo_save
72" vim: ts=8 sw=2
73