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 1189bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1289bcfda6SBram 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 Moolenaar 47*f37506f6SBram Moolenaarhi def link snnspatGen Statement 48*f37506f6SBram Moolenaarhi def link snnspatHeader Error 49*f37506f6SBram Moolenaarhi def link snnspatNoHeader Define 50*f37506f6SBram Moolenaarhi def link snnspatNumbers Number 51*f37506f6SBram Moolenaarhi def link snnspatComment Comment 52*f37506f6SBram Moolenaarhi def link snnspatError Error 53*f37506f6SBram Moolenaarhi def link snnspatTodo Todo 54*f37506f6SBram Moolenaarhi def link snnspatAccepted NONE 55*f37506f6SBram Moolenaarhi def link snnspatBrac NONE 56071d4279SBram Moolenaar 57071d4279SBram Moolenaar 58071d4279SBram Moolenaarlet b:current_syntax = "snnspat" 59071d4279SBram Moolenaar 60b8ff1fb5SBram Moolenaarlet &cpo = s:cpo_save 61b8ff1fb5SBram Moolenaarunlet s:cpo_save 62071d4279SBram Moolenaar" vim: ts=8 sw=2 63