summaryrefslogtreecommitdiff
path: root/runtime/syntax/cuplsim.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/cuplsim.vim')
-rw-r--r--runtime/syntax/cuplsim.vim80
1 files changed, 80 insertions, 0 deletions
diff --git a/runtime/syntax/cuplsim.vim b/runtime/syntax/cuplsim.vim
new file mode 100644
index 000000000..18a30ce25
--- /dev/null
+++ b/runtime/syntax/cuplsim.vim
@@ -0,0 +1,80 @@
+" Vim syntax file
+" Language: CUPL simulation
+" Maintainer: John Cook <john.cook@kla-tencor.com>
+" Last Change: 2001 Apr 25
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Read the CUPL syntax to start with
+if version < 600
+ source <sfile>:p:h/cupl.vim
+else
+ runtime! syntax/cupl.vim
+ unlet b:current_syntax
+endif
+
+" omit definition-specific stuff
+syn clear cuplStatement
+syn clear cuplFunction
+syn clear cuplLogicalOperator
+syn clear cuplArithmeticOperator
+syn clear cuplAssignmentOperator
+syn clear cuplEqualityOperator
+syn clear cuplTruthTableOperator
+syn clear cuplExtension
+
+" simulation order statement
+syn match cuplsimOrder "order:" nextgroup=cuplsimOrderSpec skipempty
+syn region cuplsimOrderSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimOrderFormat,cuplBitVector,cuplSpecialChar,cuplLogicalOperator,cuplCommaOperator contained
+
+" simulation base statement
+syn match cuplsimBase "base:" nextgroup=cuplsimBaseSpec skipempty
+syn region cuplsimBaseSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimBaseType contained
+syn keyword cuplsimBaseType octal decimal hex contained
+
+" simulation vectors statement
+syn match cuplsimVectors "vectors:"
+
+" simulator format control
+syn match cuplsimOrderFormat "%\d\+\>" contained
+
+" simulator control
+syn match cuplsimStimulus "[10ckpx]\+"
+syn match cuplsimStimulus +'\(\x\|x\)\+'+
+syn match cuplsimOutput "[lhznx*]\+"
+syn match cuplsimOutput +"\x\+"+
+
+syn sync minlines=1
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_cuplsim_syn_inits")
+ if version < 508
+ let did_cuplsim_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ " append to the highlighting links in cupl.vim
+ " The default highlighting.
+ HiLink cuplsimOrder cuplStatement
+ HiLink cuplsimBase cuplStatement
+ HiLink cuplsimBaseType cuplStatement
+ HiLink cuplsimVectors cuplStatement
+ HiLink cuplsimStimulus cuplNumber
+ HiLink cuplsimOutput cuplNumber
+ HiLink cuplsimOrderFormat cuplNumber
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "cuplsim"
+" vim:ts=8