1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: SNNS pattern file 3071d4279SBram Moolenaar" Maintainer: Davide Alberani <[email protected]> 4b8ff1fb5SBram 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 11*89bcfda6SBram Moolenaar" quit when a syntax file was already loaded 12*89bcfda6SBram Moolenaarif exists("b:current_syntax") 13071d4279SBram Moolenaar finish 14071d4279SBram Moolenaarendif 15071d4279SBram Moolenaar 16b8ff1fb5SBram Moolenaarlet s:cpo_save = &cpo 17b8ff1fb5SBram Moolenaarset cpo&vim 18071d4279SBram Moolenaar 19071d4279SBram Moolenaar" anything that isn't part of the header, a comment or a number 20071d4279SBram Moolenaar" is wrong 21071d4279SBram Moolenaarsyn match snnspatError ".*" 22071d4279SBram Moolenaar" hoping that matches any kind of notation... 23071d4279SBram Moolenaarsyn match snnspatAccepted "\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)" 24071d4279SBram Moolenaarsyn match snnspatAccepted "\s" 25071d4279SBram Moolenaarsyn match snnspatBrac "\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers 26071d4279SBram Moolenaar 27071d4279SBram Moolenaar" the accepted fields in the header 28071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of patterns\s*:\s*" contained 29071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of input units\s*:\s*" contained 30071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of output units\s*:\s*" contained 31071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of variable input dimensions\s*:\s*" contained 32071d4279SBram Moolenaarsyn match snnspatNoHeader "No\. of variable output dimensions\s*:\s*" contained 33071d4279SBram Moolenaarsyn match snnspatNoHeader "Maximum input dimensions\s*:\s*" contained 34071d4279SBram Moolenaarsyn match snnspatNoHeader "Maximum output dimensions\s*:\s*" contained 35071d4279SBram Moolenaarsyn match snnspatGen "generated at.*" contained contains=snnspatNumbers 36071d4279SBram Moolenaarsyn match snnspatGen "SNNS pattern definition file [Vv]\d\.\d" contained contains=snnspatNumbers 37071d4279SBram Moolenaar 38071d4279SBram Moolenaar" the header, what is not an accepted field, is an error 39071d4279SBram Moolenaarsyn region snnspatHeader start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac 40071d4279SBram Moolenaar 41071d4279SBram Moolenaar" numbers inside the header 42071d4279SBram Moolenaarsyn match snnspatNumbers "\d" contained 43071d4279SBram Moolenaarsyn match snnspatComment "#.*$" contains=snnspatTodo 44071d4279SBram Moolenaarsyn keyword snnspatTodo TODO XXX FIXME contained 45071d4279SBram Moolenaar 46071d4279SBram Moolenaarcommand -nargs=+ HiLink hi def link <args> 47071d4279SBram Moolenaar 48071d4279SBram MoolenaarHiLink snnspatGen Statement 49071d4279SBram MoolenaarHiLink snnspatHeader Error 50071d4279SBram MoolenaarHiLink snnspatNoHeader Define 51071d4279SBram MoolenaarHiLink snnspatNumbers Number 52071d4279SBram MoolenaarHiLink snnspatComment Comment 53071d4279SBram MoolenaarHiLink snnspatError Error 54071d4279SBram MoolenaarHiLink snnspatTodo Todo 55071d4279SBram MoolenaarHiLink snnspatAccepted NONE 56071d4279SBram MoolenaarHiLink snnspatBrac NONE 57071d4279SBram Moolenaar 58071d4279SBram Moolenaardelcommand HiLink 59071d4279SBram Moolenaar 60071d4279SBram Moolenaarlet b:current_syntax = "snnspat" 61071d4279SBram Moolenaar 62b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save 63b8ff1fb5SBram Moolenaarunlet s:cpo_save 64071d4279SBram Moolenaar" vim: ts=8 sw=2 65