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