blob: cb6e9c5bd1e6bb76b179bdf84e3c87d7dd886d5e [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: SNNS pattern file
3" Maintainer: Davide Alberani <alberanid@bigfoot.com>
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +01004" Last Change: 2012 Feb 03 by Thilo Six
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" 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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020011" quit when a syntax file was already loaded
12if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000013 finish
14endif
15
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010016let s:cpo_save = &cpo
17set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000018
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
Bram Moolenaar071d4272004-06-13 20:20:40 +000046
Bram Moolenaarf37506f2016-08-31 22:22:10 +020047hi 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000056
Bram Moolenaar071d4272004-06-13 20:20:40 +000057
58let b:current_syntax = "snnspat"
59
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010060let &cpo = s:cpo_save
61unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +000062" vim: ts=8 sw=2