1" Vim syntax file 2" Language: SNNS pattern file 3" Maintainer: Davide Alberani <[email protected]> 4" Last Change: 2012 Feb 03 by Thilo Six 5" 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 11" quit when a syntax file was already loaded 12if exists("b:current_syntax") 13 finish 14endif 15 16let s:cpo_save = &cpo 17set cpo&vim 18 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 46 47hi 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 56 57 58let b:current_syntax = "snnspat" 59 60let &cpo = s:cpo_save 61unlet s:cpo_save 62" vim: ts=8 sw=2 63