1*071d4279SBram Moolenaar" Vim syntax file 2*071d4279SBram Moolenaar" Language: SNNS pattern file 3*071d4279SBram Moolenaar" Maintainer: Davide Alberani <[email protected]> 4*071d4279SBram Moolenaar" Last Change: 28 Apr 2001 5*071d4279SBram Moolenaar" Version: 0.2 6*071d4279SBram Moolenaar" URL: http://digilander.iol.it/alberanid/vim/syntax/snnspat.vim 7*071d4279SBram Moolenaar" 8*071d4279SBram Moolenaar" SNNS http://www-ra.informatik.uni-tuebingen.de/SNNS/ 9*071d4279SBram Moolenaar" is a simulator for neural networks. 10*071d4279SBram Moolenaar 11*071d4279SBram Moolenaarif version < 600 12*071d4279SBram Moolenaar syntax clear 13*071d4279SBram Moolenaarelseif exists("b:current_syntax") 14*071d4279SBram Moolenaar finish 15*071d4279SBram Moolenaarendif 16*071d4279SBram Moolenaar 17*071d4279SBram Moolenaar 18*071d4279SBram Moolenaar" anything that isn't part of the header, a comment or a number 19*071d4279SBram Moolenaar" is wrong 20*071d4279SBram Moolenaarsyn match snnspatError ".*" 21*071d4279SBram Moolenaar" hoping that matches any kind of notation... 22*071d4279SBram Moolenaarsyn match snnspatAccepted "\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)" 23*071d4279SBram Moolenaarsyn match snnspatAccepted "\s" 24*071d4279SBram Moolenaarsyn match snnspatBrac "\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers 25*071d4279SBram Moolenaar 26*071d4279SBram Moolenaar" the accepted fields in the header 27*071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of patterns\s*:\s*" contained 28*071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of input units\s*:\s*" contained 29*071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of output units\s*:\s*" contained 30*071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of variable input dimensions\s*:\s*" contained 31*071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of variable output dimensions\s*:\s*" contained 32*071d4279SBram Moolenaarsyn match snnspatNoHeader "Maximum input dimensions\s*:\s*" contained 33*071d4279SBram Moolenaarsyn match snnspatNoHeader "Maximum output dimensions\s*:\s*" contained 34*071d4279SBram Moolenaarsyn match snnspatGen "generated at.*" contained contains=snnspatNumbers 35*071d4279SBram Moolenaarsyn match snnspatGen "SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers 36*071d4279SBram Moolenaar 37*071d4279SBram Moolenaar" the header, what is not an accepted field, is an error 38*071d4279SBram Moolenaarsyn region snnspatHeader start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac 39*071d4279SBram Moolenaar 40*071d4279SBram Moolenaar" numbers inside the header 41*071d4279SBram Moolenaarsyn match snnspatNumbers "\d" contained 42*071d4279SBram Moolenaarsyn match snnspatComment "#.*$" contains=snnspatTodo 43*071d4279SBram Moolenaarsyn keyword snnspatTodo TODO XXX FIXME contained 44*071d4279SBram Moolenaar 45*071d4279SBram Moolenaarif version >= 508 || !exists("did_snnspat_syn_inits") 46*071d4279SBram Moolenaar if version < 508 47*071d4279SBram Moolenaar let did_snnspat_syn_inits = 1 48*071d4279SBram Moolenaar command -nargs=+ HiLink hi link <args> 49*071d4279SBram Moolenaar else 50*071d4279SBram Moolenaar command -nargs=+ HiLink hi def link <args> 51*071d4279SBram Moolenaar endif 52*071d4279SBram Moolenaar 53*071d4279SBram Moolenaar HiLink snnspatGen Statement 54*071d4279SBram Moolenaar HiLink snnspatHeader Error 55*071d4279SBram Moolenaar HiLink snnspatNoHeader Define 56*071d4279SBram Moolenaar HiLink snnspatNumbers Number 57*071d4279SBram Moolenaar HiLink snnspatComment Comment 58*071d4279SBram Moolenaar HiLink snnspatError Error 59*071d4279SBram Moolenaar HiLink snnspatTodo Todo 60*071d4279SBram Moolenaar HiLink snnspatAccepted NONE 61*071d4279SBram Moolenaar HiLink snnspatBrac NONE 62*071d4279SBram Moolenaar 63*071d4279SBram Moolenaar delcommand HiLink 64*071d4279SBram Moolenaarendif 65*071d4279SBram Moolenaar 66*071d4279SBram Moolenaarlet b:current_syntax = "snnspat" 67*071d4279SBram Moolenaar 68*071d4279SBram Moolenaar" vim: ts=8 sw=2 69