Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: SNNS pattern file |
| 3 | " Maintainer: Davide Alberani <alberanid@bigfoot.com> |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 4 | " Last Change: 2012 Feb 03 by Thilo Six |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 11 | " quit when a syntax file was already loaded |
| 12 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 13 | finish |
| 14 | endif |
| 15 | |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 16 | let s:cpo_save = &cpo |
| 17 | set cpo&vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 18 | |
| 19 | " anything that isn't part of the header, a comment or a number |
| 20 | " is wrong |
| 21 | syn match snnspatError ".*" |
| 22 | " hoping that matches any kind of notation... |
| 23 | syn match snnspatAccepted "\([-+]\=\(\d\+\.\|\.\)\=\d\+\([Ee][-+]\=\d\+\)\=\)" |
| 24 | syn match snnspatAccepted "\s" |
| 25 | syn match snnspatBrac "\[\s*\d\+\(\s\|\d\)*\]" contains=snnspatNumbers |
| 26 | |
| 27 | " the accepted fields in the header |
| 28 | syn match snnspatNoHeader "No\. of patterns\s*:\s*" contained |
| 29 | syn match snnspatNoHeader "No\. of input units\s*:\s*" contained |
| 30 | syn match snnspatNoHeader "No\. of output units\s*:\s*" contained |
| 31 | syn match snnspatNoHeader "No\. of variable input dimensions\s*:\s*" contained |
| 32 | syn match snnspatNoHeader "No\. of variable output dimensions\s*:\s*" contained |
| 33 | syn match snnspatNoHeader "Maximum input dimensions\s*:\s*" contained |
| 34 | syn match snnspatNoHeader "Maximum output dimensions\s*:\s*" contained |
| 35 | syn match snnspatGen "generated at.*" contained contains=snnspatNumbers |
| 36 | syn 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 |
| 39 | syn region snnspatHeader start="^SNNS" end="^\s*[-+\.]\=[0-9#]"me=e-2 contains=snnspatNoHeader,snnspatNumbers,snnspatGen,snnspatBrac |
| 40 | |
| 41 | " numbers inside the header |
| 42 | syn match snnspatNumbers "\d" contained |
| 43 | syn match snnspatComment "#.*$" contains=snnspatTodo |
| 44 | syn keyword snnspatTodo TODO XXX FIXME contained |
| 45 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 46 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 47 | hi def link snnspatGen Statement |
| 48 | hi def link snnspatHeader Error |
| 49 | hi def link snnspatNoHeader Define |
| 50 | hi def link snnspatNumbers Number |
| 51 | hi def link snnspatComment Comment |
| 52 | hi def link snnspatError Error |
| 53 | hi def link snnspatTodo Todo |
| 54 | hi def link snnspatAccepted NONE |
| 55 | hi def link snnspatBrac NONE |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 56 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 57 | |
| 58 | let b:current_syntax = "snnspat" |
| 59 | |
Bram Moolenaar | b8ff1fb | 2012-02-04 21:59:01 +0100 | [diff] [blame] | 60 | let &cpo = s:cpo_save |
| 61 | unlet s:cpo_save |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 62 | " vim: ts=8 sw=2 |