xref: /vim-8.2.3635/runtime/syntax/snnspat.vim (revision f37506f6)
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
1189bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1289bcfda6SBram 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 Moolenaar
47*f37506f6SBram Moolenaarhi def link snnspatGen		Statement
48*f37506f6SBram Moolenaarhi def link snnspatHeader		Error
49*f37506f6SBram Moolenaarhi def link snnspatNoHeader	Define
50*f37506f6SBram Moolenaarhi def link snnspatNumbers		Number
51*f37506f6SBram Moolenaarhi def link snnspatComment		Comment
52*f37506f6SBram Moolenaarhi def link snnspatError		Error
53*f37506f6SBram Moolenaarhi def link snnspatTodo		Todo
54*f37506f6SBram Moolenaarhi def link snnspatAccepted	NONE
55*f37506f6SBram Moolenaarhi def link snnspatBrac		NONE
56071d4279SBram Moolenaar
57071d4279SBram Moolenaar
58071d4279SBram Moolenaarlet b:current_syntax = "snnspat"
59071d4279SBram Moolenaar
60b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save
61b8ff1fb5SBram Moolenaarunlet s:cpo_save
62071d4279SBram Moolenaar" vim: ts=8 sw=2
63