xref: /vim-8.2.3635/runtime/syntax/snnspat.vim (revision f37506f6)
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
11" quit when a syntax file was already loaded
12if exists("b:current_syntax")
13  finish
14endif
15
16let s:cpo_save = &cpo
17set cpo&vim
18
19" anything that isn't part of the header, a comment or a number
20" is wrong
21syn match	snnspatError	".*"
22" hoping that matches any kind of notation...
23syn match	snnspatAccepted	"\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)"
24syn match	snnspatAccepted "\s"
25syn match	snnspatBrac	"\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers
26
27" the accepted fields in the header
28syn match	snnspatNoHeader	"No\. of patterns\s*:\s*" contained
29syn match	snnspatNoHeader	"No\. of input units\s*:\s*" contained
30syn match	snnspatNoHeader	"No\. of output units\s*:\s*" contained
31syn match	snnspatNoHeader	"No\. of variable input dimensions\s*:\s*" contained
32syn match	snnspatNoHeader	"No\. of variable output dimensions\s*:\s*" contained
33syn match	snnspatNoHeader	"Maximum input dimensions\s*:\s*" contained
34syn match	snnspatNoHeader	"Maximum output dimensions\s*:\s*" contained
35syn match	snnspatGen	"generated at.*" contained contains=snnspatNumbers
36syn match	snnspatGen	"SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers
37
38" the header, what is not an accepted field, is an error
39syn region	snnspatHeader	start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac
40
41" numbers inside the header
42syn match	snnspatNumbers	"\d" contained
43syn match	snnspatComment	"#.*$" contains=snnspatTodo
44syn keyword	snnspatTodo	TODO XXX FIXME contained
45
46
47hi def link snnspatGen		Statement
48hi def link snnspatHeader		Error
49hi def link snnspatNoHeader	Define
50hi def link snnspatNumbers		Number
51hi def link snnspatComment		Comment
52hi def link snnspatError		Error
53hi def link snnspatTodo		Todo
54hi def link snnspatAccepted	NONE
55hi def link snnspatBrac		NONE
56
57
58let b:current_syntax = "snnspat"
59
60let &cpo = s:cpo_save
61unlet s:cpo_save
62" vim: ts=8 sw=2
63