xref: /vim-8.2.3635/runtime/syntax/snnspat.vim (revision b8ff1fb5)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	SNNS pattern file
3071d4279SBram Moolenaar" Maintainer:	Davide Alberani <[email protected]>
4*b8ff1fb5SBram 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
11071d4279SBram Moolenaarif version < 600
12071d4279SBram Moolenaar  syntax clear
13071d4279SBram Moolenaarelseif exists("b:current_syntax")
14071d4279SBram Moolenaar  finish
15071d4279SBram Moolenaarendif
16071d4279SBram Moolenaar
17*b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo
18*b8ff1fb5SBram Moolenaarset cpo&vim
19071d4279SBram Moolenaar
20071d4279SBram Moolenaar" anything that isn't part of the header, a comment or a number
21071d4279SBram Moolenaar" is wrong
22071d4279SBram Moolenaarsyn match	snnspatError	".*"
23071d4279SBram Moolenaar" hoping that matches any kind of notation...
24071d4279SBram Moolenaarsyn match	snnspatAccepted	"\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)"
25071d4279SBram Moolenaarsyn match	snnspatAccepted "\s"
26071d4279SBram Moolenaarsyn match	snnspatBrac	"\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers
27071d4279SBram Moolenaar
28071d4279SBram Moolenaar" the accepted fields in the header
29071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of patterns\s*:\s*" contained
30071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of input units\s*:\s*" contained
31071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of output units\s*:\s*" contained
32071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of variable input dimensions\s*:\s*" contained
33071d4279SBram Moolenaarsyn match	snnspatNoHeader	"No\. of variable output dimensions\s*:\s*" contained
34071d4279SBram Moolenaarsyn match	snnspatNoHeader	"Maximum input dimensions\s*:\s*" contained
35071d4279SBram Moolenaarsyn match	snnspatNoHeader	"Maximum output dimensions\s*:\s*" contained
36071d4279SBram Moolenaarsyn match	snnspatGen	"generated at.*" contained contains=snnspatNumbers
37071d4279SBram Moolenaarsyn match	snnspatGen	"SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers
38071d4279SBram Moolenaar
39071d4279SBram Moolenaar" the header, what is not an accepted field, is an error
40071d4279SBram Moolenaarsyn region	snnspatHeader	start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac
41071d4279SBram Moolenaar
42071d4279SBram Moolenaar" numbers inside the header
43071d4279SBram Moolenaarsyn match	snnspatNumbers	"\d" contained
44071d4279SBram Moolenaarsyn match	snnspatComment	"#.*$" contains=snnspatTodo
45071d4279SBram Moolenaarsyn keyword	snnspatTodo	TODO XXX FIXME contained
46071d4279SBram Moolenaar
47071d4279SBram Moolenaarif version >= 508 || !exists("did_snnspat_syn_inits")
48071d4279SBram Moolenaar  if version < 508
49071d4279SBram Moolenaar    let did_snnspat_syn_inits = 1
50071d4279SBram Moolenaar    command -nargs=+ HiLink hi link <args>
51071d4279SBram Moolenaar  else
52071d4279SBram Moolenaar    command -nargs=+ HiLink hi def link <args>
53071d4279SBram Moolenaar  endif
54071d4279SBram Moolenaar
55071d4279SBram Moolenaar  HiLink snnspatGen		Statement
56071d4279SBram Moolenaar  HiLink snnspatHeader		Error
57071d4279SBram Moolenaar  HiLink snnspatNoHeader	Define
58071d4279SBram Moolenaar  HiLink snnspatNumbers		Number
59071d4279SBram Moolenaar  HiLink snnspatComment		Comment
60071d4279SBram Moolenaar  HiLink snnspatError		Error
61071d4279SBram Moolenaar  HiLink snnspatTodo		Todo
62071d4279SBram Moolenaar  HiLink snnspatAccepted	NONE
63071d4279SBram Moolenaar  HiLink snnspatBrac		NONE
64071d4279SBram Moolenaar
65071d4279SBram Moolenaar  delcommand HiLink
66071d4279SBram Moolenaarendif
67071d4279SBram Moolenaar
68071d4279SBram Moolenaarlet b:current_syntax = "snnspat"
69071d4279SBram Moolenaar
70*b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save
71*b8ff1fb5SBram Moolenaarunlet s:cpo_save
72071d4279SBram Moolenaar" vim: ts=8 sw=2
73