blob: ffc4caea712436cdb09ed88a6a5a942c59c49699 [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 Moolenaar89bcfda2016-08-30 23:26:57 +020046command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000047
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020048HiLink snnspatGen Statement
49HiLink snnspatHeader Error
50HiLink snnspatNoHeader Define
51HiLink snnspatNumbers Number
52HiLink snnspatComment Comment
53HiLink snnspatError Error
54HiLink snnspatTodo Todo
55HiLink snnspatAccepted NONE
56HiLink snnspatBrac NONE
Bram Moolenaar071d4272004-06-13 20:20:40 +000057
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020058delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000059
60let b:current_syntax = "snnspat"
61
Bram Moolenaarb8ff1fb2012-02-04 21:59:01 +010062let &cpo = s:cpo_save
63unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +000064" vim: ts=8 sw=2