xref: /vim-8.2.3635/runtime/syntax/diva.vim (revision cb03397a)
1" Vim syntax file
2" Language:		SKILL for Diva
3" Maintainer:	Toby Schaffer <[email protected]>
4" Last Change:	2001 May 09
5" Comments:		SKILL is a Lisp-like programming language for use in EDA
6"				tools from Cadence Design Systems. It allows you to have
7"				a programming environment within the Cadence environment
8"				that gives you access to the complete tool set and design
9"				database. These items are for Diva verification rules decks.
10
11" Don't remove any old syntax stuff hanging around! We need stuff
12" from skill.vim.
13if !exists("did_skill_syntax_inits")
14  if version < 600
15	so <sfile>:p:h/skill.vim
16  else
17    runtime! syntax/skill.vim
18  endif
19endif
20
21syn keyword divaDRCKeywords		area enc notch ovlp sep width
22syn keyword divaDRCKeywords		app diffNet length lengtha lengthb
23syn keyword divaDRCKeywords		notParallel only_perp opposite parallel
24syn keyword divaDRCKeywords		sameNet shielded with_perp
25syn keyword divaDRCKeywords		edge edgea edgeb fig figa figb
26syn keyword divaDRCKeywords		normalGrow squareGrow message raw
27syn keyword divaMeasKeywords	perimeter length bends_all bends_full
28syn keyword divaMeasKeywords	bends_part corners_all corners_full
29syn keyword divaMeasKeywords	corners_part angles_all angles_full
30syn keyword divaMeasKeywords	angles_part fig_count butting coincident
31syn keyword divaMeasKeywords	over not_over outside inside enclosing
32syn keyword divaMeasKeywords	figure one_net two_net three_net grounded
33syn keyword divaMeasKeywords	polarized limit keep ignore
34syn match divaCtrlFunctions		"(ivIf\>"hs=s+1
35syn match divaCtrlFunctions		"\<ivIf("he=e-1
36syn match divaCtrlFunctions		"(switch\>"hs=s+1
37syn match divaCtrlFunctions		"\<switch("he=e-1
38syn match divaCtrlFunctions		"(and\>"hs=s+1
39syn match divaCtrlFunctions		"\<and("he=e-1
40syn match divaCtrlFunctions		"(or\>"hs=s+1
41syn match divaCtrlFunctions		"\<or("he=e-1
42syn match divaCtrlFunctions		"(null\>"hs=s+1
43syn match divaCtrlFunctions		"\<null("he=e-1
44syn match divaExtFunctions		"(save\(Interconnect\|Property\|Parameter\|Recognition\)\>"hs=s+1
45syn match divaExtFunctions		"\<save\(Interconnect\|Property\|Parameter\|Recognition\)("he=e-1
46syn match divaExtFunctions		"(\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic\>"hs=s+1
47syn match divaExtFunctions		"\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1
48syn match divaExtFunctions		"(\(calculate\|measure\)Parameter\>"hs=s+1
49syn match divaExtFunctions		"\<\(calculate\|measure\)Parameter("he=e-1
50syn match divaExtFunctions		"(measure\(Resistance\|Fringe\)\>"hs=s+1
51syn match divaExtFunctions		"\<measure\(Resistance\|Fringe\)("he=e-1
52syn match divaExtFunctions		"(extract\(Device\|MOS\)\>"hs=s+1
53syn match divaExtFunctions		"\<extract\(Device\|MOS\)("he=e-1
54syn match divaDRCFunctions		"(checkAllLayers\>"hs=s+1
55syn match divaDRCFunctions		"\<checkAllLayers("he=e-1
56syn match divaDRCFunctions		"(checkLayer\>"hs=s+1
57syn match divaDRCFunctions		"\<checkLayer("he=e-1
58syn match divaDRCFunctions		"(drc\>"hs=s+1
59syn match divaDRCFunctions		"\<drc("he=e-1
60syn match divaDRCFunctions		"(drcAntenna\>"hs=s+1
61syn match divaDRCFunctions		"\<drcAntenna("he=e-1
62syn match divaFunctions			"(\(drcExtract\|lvs\)Rules\>"hs=s+1
63syn match divaFunctions			"\<\(drcExtract\|lvs\)Rules("he=e-1
64syn match divaLayerFunctions	"(saveDerived\>"hs=s+1
65syn match divaLayerFunctions	"\<saveDerived("he=e-1
66syn match divaLayerFunctions	"(copyGraphics\>"hs=s+1
67syn match divaLayerFunctions	"\<copyGraphics("he=e-1
68syn match divaChkFunctions		"(dubiousData\>"hs=s+1
69syn match divaChkFunctions		"\<dubiousData("he=e-1
70syn match divaChkFunctions		"(offGrid\>"hs=s+1
71syn match divaChkFunctions		"\<offGrid("he=e-1
72syn match divaLVSFunctions		"(compareDeviceProperty\>"hs=s+1
73syn match divaLVSFunctions		"\<compareDeviceProperty("he=e-1
74syn match divaLVSFunctions		"(ignoreTerminal\>"hs=s+1
75syn match divaLVSFunctions		"\<ignoreTerminal("he=e-1
76syn match divaLVSFunctions		"(parameterMatchType\>"hs=s+1
77syn match divaLVSFunctions		"\<parameterMatchType("he=e-1
78syn match divaLVSFunctions		"(\(permute\|prune\|remove\)Device\>"hs=s+1
79syn match divaLVSFunctions		"\<\(permute\|prune\|remove\)Device("he=e-1
80syn match divaGeomFunctions		"(geom\u\a\+\(45\|90\)\=\>"hs=s+1
81syn match divaGeomFunctions		"\<geom\u\a\+\(45\|90\)\=("he=e-1
82
83" Define the default highlighting.
84" For version 5.7 and earlier: only when not done already
85" For version 5.8 and later: only when an item doesn't have highlighting yet
86if version >= 508 || !exists("did_diva_syntax_inits")
87	if version < 508
88		let did_diva_syntax_inits = 1
89		command -nargs=+ HiLink hi link <args>
90	else
91		command -nargs=+ HiLink hi def link <args>
92	endif
93
94	HiLink divaDRCKeywords		Statement
95	HiLink divaMeasKeywords		Statement
96	HiLink divaCtrlFunctions	Conditional
97	HiLink divaExtFunctions		Function
98	HiLink divaDRCFunctions		Function
99	HiLink divaFunctions		Function
100	HiLink divaLayerFunctions	Function
101	HiLink divaChkFunctions		Function
102	HiLink divaLVSFunctions		Function
103	HiLink divaGeomFunctions	Function
104
105	delcommand HiLink
106endif
107
108let b:current_syntax = "diva"
109
110" vim:ts=4
111