xref: /vim-8.2.3635/runtime/syntax/cuplsim.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	CUPL simulation
3071d4279SBram Moolenaar" Maintainer:	John Cook <[email protected]>
4071d4279SBram Moolenaar" Last Change:	2001 Apr 25
5071d4279SBram Moolenaar
689bcfda6SBram Moolenaar" quit when a syntax file was already loaded
789bcfda6SBram Moolenaarif exists("b:current_syntax")
8071d4279SBram Moolenaar  finish
9071d4279SBram Moolenaarendif
10071d4279SBram Moolenaar
11071d4279SBram Moolenaar" Read the CUPL syntax to start with
12071d4279SBram Moolenaarruntime! syntax/cupl.vim
13071d4279SBram Moolenaarunlet b:current_syntax
14071d4279SBram Moolenaar
15071d4279SBram Moolenaar" omit definition-specific stuff
16071d4279SBram Moolenaarsyn clear cuplStatement
17071d4279SBram Moolenaarsyn clear cuplFunction
18071d4279SBram Moolenaarsyn clear cuplLogicalOperator
19071d4279SBram Moolenaarsyn clear cuplArithmeticOperator
20071d4279SBram Moolenaarsyn clear cuplAssignmentOperator
21071d4279SBram Moolenaarsyn clear cuplEqualityOperator
22071d4279SBram Moolenaarsyn clear cuplTruthTableOperator
23071d4279SBram Moolenaarsyn clear cuplExtension
24071d4279SBram Moolenaar
25071d4279SBram Moolenaar" simulation order statement
26071d4279SBram Moolenaarsyn match  cuplsimOrder "order:" nextgroup=cuplsimOrderSpec skipempty
27071d4279SBram Moolenaarsyn region cuplsimOrderSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimOrderFormat,cuplBitVector,cuplSpecialChar,cuplLogicalOperator,cuplCommaOperator contained
28071d4279SBram Moolenaar
29071d4279SBram Moolenaar" simulation base statement
30071d4279SBram Moolenaarsyn match   cuplsimBase "base:" nextgroup=cuplsimBaseSpec skipempty
31071d4279SBram Moolenaarsyn region  cuplsimBaseSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimBaseType contained
32071d4279SBram Moolenaarsyn keyword cuplsimBaseType octal decimal hex contained
33071d4279SBram Moolenaar
34071d4279SBram Moolenaar" simulation vectors statement
35071d4279SBram Moolenaarsyn match cuplsimVectors "vectors:"
36071d4279SBram Moolenaar
37071d4279SBram Moolenaar" simulator format control
38071d4279SBram Moolenaarsyn match cuplsimOrderFormat "%\d\+\>" contained
39071d4279SBram Moolenaar
40071d4279SBram Moolenaar" simulator control
41071d4279SBram Moolenaarsyn match cuplsimStimulus "[10ckpx]\+"
42071d4279SBram Moolenaarsyn match cuplsimStimulus +'\(\x\|x\)\+'+
43071d4279SBram Moolenaarsyn match cuplsimOutput "[lhznx*]\+"
44071d4279SBram Moolenaarsyn match cuplsimOutput +"\x\+"+
45071d4279SBram Moolenaar
46071d4279SBram Moolenaarsyn sync minlines=1
47071d4279SBram Moolenaar
48071d4279SBram Moolenaar" Define the default highlighting.
4989bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
50071d4279SBram Moolenaar
51071d4279SBram Moolenaar" append to the highlighting links in cupl.vim
52071d4279SBram Moolenaar" The default highlighting.
53*f37506f6SBram Moolenaarhi def link cuplsimOrder		cuplStatement
54*f37506f6SBram Moolenaarhi def link cuplsimBase		cuplStatement
55*f37506f6SBram Moolenaarhi def link cuplsimBaseType	cuplStatement
56*f37506f6SBram Moolenaarhi def link cuplsimVectors		cuplStatement
57*f37506f6SBram Moolenaarhi def link cuplsimStimulus	cuplNumber
58*f37506f6SBram Moolenaarhi def link cuplsimOutput		cuplNumber
59*f37506f6SBram Moolenaarhi def link cuplsimOrderFormat	cuplNumber
60071d4279SBram Moolenaar
61071d4279SBram Moolenaar
62071d4279SBram Moolenaarlet b:current_syntax = "cuplsim"
63071d4279SBram Moolenaar" vim:ts=8
64