xref: /vim-8.2.3635/runtime/syntax/snnspat.vim (revision 89bcfda6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	SNNS pattern file
3071d4279SBram Moolenaar" Maintainer:	Davide Alberani <[email protected]>
4b8ff1fb5SBram Moolenaar" Last Change:	2012 Feb 03 by Thilo Six
5071d4279SBram Moolenaar" Version:	0.2
6071d4279SBram Moolenaar" URL:		http://digilander.iol.it/alberanid/vim/syntax/snnspat.vim
7071d4279SBram Moolenaar"
8071d4279SBram Moolenaar" SNNS http://www-ra.informatik.uni-tuebingen.de/SNNS/
9071d4279SBram Moolenaar" is a simulator for neural networks.
10071d4279SBram Moolenaar
11*89bcfda6SBram Moolenaar" quit when a syntax file was already loaded
12*89bcfda6SBram Moolenaarif exists("b:current_syntax")
13071d4279SBram Moolenaar  finish
14071d4279SBram Moolenaarendif
15071d4279SBram Moolenaar
16b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo
17b8ff1fb5SBram Moolenaarset cpo&vim
18071d4279SBram Moolenaar
19071d4279SBram Moolenaar" anything that isn't part of the header, a comment or a number
20071d4279SBram Moolenaar" is wrong
21071d4279SBram Moolenaarsyn match	snnspatError	".*"
22071d4279SBram Moolenaar" hoping that matches any kind of notation...
23071d4279SBram Moolenaarsyn match	snnspatAccepted	"\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)"
24071d4279SBram Moolenaarsyn match	snnspatAccepted "\s"
25071d4279SBram Moolenaarsyn match	snnspatBrac	"\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers
26071d4279SBram Moolenaar
27071d4279SBram Moolenaar" the accepted fields in the header
28071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of patterns\s*:\s*" contained
29071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of input units\s*:\s*" contained
30071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of output units\s*:\s*" contained
31071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of variable input dimensions\s*:\s*" contained
32071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of variable output dimensions\s*:\s*" contained
33071d4279SBram Moolenaarsyn match	snnspatNoHeader	"Maximum input dimensions\s*:\s*" contained
34071d4279SBram Moolenaarsyn match	snnspatNoHeader	"Maximum output dimensions\s*:\s*" contained
35071d4279SBram Moolenaarsyn match	snnspatGen	"generated at.*" contained contains=snnspatNumbers
36071d4279SBram Moolenaarsyn match	snnspatGen	"SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers
37071d4279SBram Moolenaar
38071d4279SBram Moolenaar" the header, what is not an accepted field, is an error
39071d4279SBram Moolenaarsyn region	snnspatHeader	start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac
40071d4279SBram Moolenaar
41071d4279SBram Moolenaar" numbers inside the header
42071d4279SBram Moolenaarsyn match	snnspatNumbers	"\d" contained
43071d4279SBram Moolenaarsyn match	snnspatComment	"#.*$" contains=snnspatTodo
44071d4279SBram Moolenaarsyn keyword	snnspatTodo	TODO XXX FIXME contained
45071d4279SBram Moolenaar
46071d4279SBram Moolenaarcommand -nargs=+ HiLink hi def link <args>
47071d4279SBram Moolenaar
48071d4279SBram MoolenaarHiLink snnspatGen		Statement
49071d4279SBram MoolenaarHiLink snnspatHeader		Error
50071d4279SBram MoolenaarHiLink snnspatNoHeader	Define
51071d4279SBram MoolenaarHiLink snnspatNumbers		Number
52071d4279SBram MoolenaarHiLink snnspatComment		Comment
53071d4279SBram MoolenaarHiLink snnspatError		Error
54071d4279SBram MoolenaarHiLink snnspatTodo		Todo
55071d4279SBram MoolenaarHiLink snnspatAccepted	NONE
56071d4279SBram MoolenaarHiLink snnspatBrac		NONE
57071d4279SBram Moolenaar
58071d4279SBram Moolenaardelcommand HiLink
59071d4279SBram Moolenaar
60071d4279SBram Moolenaarlet b:current_syntax = "snnspat"
61071d4279SBram Moolenaar
62b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save
63b8ff1fb5SBram Moolenaarunlet s:cpo_save
64071d4279SBram Moolenaar" vim: ts=8 sw=2
65