xref: /vim-8.2.3635/runtime/syntax/nastran.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language: NASTRAN input/DMAP
3071d4279SBram Moolenaar" Maintainer: Tom Kowalski <[email protected]>
4071d4279SBram Moolenaar" Last change: April 27, 2001
5071d4279SBram Moolenaar"  Thanks to the authors and maintainers of fortran.vim.
6071d4279SBram Moolenaar"		Since DMAP shares some traits with fortran, this syntax file
7071d4279SBram Moolenaar"		is based on the fortran.vim syntax file.
8071d4279SBram Moolenaar"----------------------------------------------------------------------
989bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1089bcfda6SBram Moolenaarif exists("b:current_syntax")
11071d4279SBram Moolenaar  finish
12071d4279SBram Moolenaarendif
13071d4279SBram Moolenaar" DMAP is not case dependent
14071d4279SBram Moolenaarsyn case ignore
15071d4279SBram Moolenaar"
16071d4279SBram Moolenaar"--------------------DMAP SYNTAX---------------------------------------
17071d4279SBram Moolenaar"
18071d4279SBram Moolenaar" -------Executive Modules and Statements
19071d4279SBram Moolenaar"
20071d4279SBram Moolenaarsyn keyword nastranDmapexecmod	       call dbview delete end equiv equivx exit
21071d4279SBram Moolenaarsyn keyword nastranDmapexecmod	       file message purge purgex return subdmap
22071d4279SBram Moolenaarsyn keyword nastranDmapType	       type
23071d4279SBram Moolenaarsyn keyword nastranDmapLabel  go to goto
24071d4279SBram Moolenaarsyn keyword nastranDmapRepeat  if else elseif endif then
25071d4279SBram Moolenaarsyn keyword nastranDmapRepeat  do while
26071d4279SBram Moolenaarsyn region nastranDmapString  start=+"+ end=+"+ oneline
27071d4279SBram Moolenaarsyn region nastranDmapString  start=+'+ end=+'+ oneline
28071d4279SBram Moolenaar" If you don't like initial tabs in dmap (or at all)
29071d4279SBram Moolenaar"syn match nastranDmapIniTab  "^\t.*$"
30071d4279SBram Moolenaar"syn match nastranDmapTab   "\t"
31071d4279SBram Moolenaar
32071d4279SBram Moolenaar" Any integer
33071d4279SBram Moolenaarsyn match nastranDmapNumber  "-\=\<[0-9]\+\>"
34071d4279SBram Moolenaar" floating point number, with dot, optional exponent
35071d4279SBram Moolenaarsyn match nastranDmapFloat  "\<[0-9]\+\.[0-9]*\([edED][-+]\=[0-9]\+\)\=\>"
36071d4279SBram Moolenaar" floating point number, starting with a dot, optional exponent
37071d4279SBram Moolenaarsyn match nastranDmapFloat  "\.[0-9]\+\([edED][-+]\=[0-9]\+\)\=\>"
38071d4279SBram Moolenaar" floating point number, without dot, with exponent
39071d4279SBram Moolenaarsyn match nastranDmapFloat  "\<[0-9]\+[edED][-+]\=[0-9]\+\>"
40071d4279SBram Moolenaar
41071d4279SBram Moolenaarsyn match nastranDmapLogical "\(true\|false\)"
42071d4279SBram Moolenaar
43071d4279SBram Moolenaarsyn match nastranDmapPreCondit  "^#define\>"
44071d4279SBram Moolenaarsyn match nastranDmapPreCondit  "^#include\>"
45071d4279SBram Moolenaar"
46071d4279SBram Moolenaar" -------Comments may be contained in another line.
47071d4279SBram Moolenaar"
48071d4279SBram Moolenaarsyn match nastranDmapComment "^[\$].*$"
49071d4279SBram Moolenaarsyn match nastranDmapComment "\$.*$"
50071d4279SBram Moolenaarsyn match nastranDmapComment "^[\$].*$" contained
51071d4279SBram Moolenaarsyn match nastranDmapComment "\$.*$"  contained
52071d4279SBram Moolenaar" Treat all past 72nd column as a comment. Do not work with tabs!
53071d4279SBram Moolenaar" Breaks down when 72-73rd column is in another match (eg number or keyword)
54071d4279SBram Moolenaarsyn match  nastranDmapComment  "^.\{-72}.*$"lc=72 contained
55071d4279SBram Moolenaar
56071d4279SBram Moolenaar"
57071d4279SBram Moolenaar" -------Utility Modules
58071d4279SBram Moolenaar"
59071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       append copy dbc dbdict dbdir dmin drms1
60071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       dtiin eltprt ifp ifp1 inputt2 inputt4 lamx
61071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       matgen matgpr matmod matpch matprn matprt
62071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       modtrl mtrxin ofp output2 output4 param
63071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       paraml paramr prtparam pvt scalar
64071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       seqp setval tabedit tabprt tabpt vec vecplot
65071d4279SBram Moolenaarsyn keyword nastranDmapUtilmod	       xsort
66071d4279SBram Moolenaar"
67071d4279SBram Moolenaar" -------Matrix Modules
68071d4279SBram Moolenaar"
69071d4279SBram Moolenaarsyn keyword nastranDmapMatmod	       add add5 cead dcmp decomp diagonal fbs merge
70071d4279SBram Moolenaarsyn keyword nastranDmapMatmod	       mpyad norm read reigl smpyad solve solvit
71071d4279SBram Moolenaarsyn keyword nastranDmapMatmod	       trnsp umerge umerge1 upartn dmiin partn
72071d4279SBram Moolenaarsyn region  nastranDmapMatmod	       start=+^ *[Dd][Mm][Ii]+ end=+[\/]+
73071d4279SBram Moolenaar"
74071d4279SBram Moolenaar" -------Implicit Functions
75071d4279SBram Moolenaar"
76071d4279SBram Moolenaarsyn keyword nastranDmapImplicit abs acos acosh andl asin asinh atan atan2
77071d4279SBram Moolenaarsyn keyword nastranDmapImplicit atanh atanh2 char clen clock cmplx concat1
78071d4279SBram Moolenaarsyn keyword nastranDmapImplicit concat2 concat3 conjg cos cosh dble diagoff
79071d4279SBram Moolenaarsyn keyword nastranDmapImplicit diagon dim dlablank dlxblank dprod eqvl exp
80071d4279SBram Moolenaarsyn keyword nastranDmapImplicit getdiag getsys ichar imag impl index indexstr
81071d4279SBram Moolenaarsyn keyword nastranDmapImplicit int itol leq lge lgt lle llt lne log log10
82071d4279SBram Moolenaarsyn keyword nastranDmapImplicit logx ltoi mcgetsys mcputsys max min mod neqvl
83071d4279SBram Moolenaarsyn keyword nastranDmapImplicit nint noop normal notl numeq numge numgt numle
84071d4279SBram Moolenaarsyn keyword nastranDmapImplicit numlt numne orl pi precison putdiag putsys
85071d4279SBram Moolenaarsyn keyword nastranDmapImplicit rand rdiagon real rtimtogo setcore sign sin
86071d4279SBram Moolenaarsyn keyword nastranDmapImplicit sinh sngl sprod sqrt substrin tan tanh
87071d4279SBram Moolenaarsyn keyword nastranDmapImplicit timetogo wlen xorl
88071d4279SBram Moolenaar"
89071d4279SBram Moolenaar"
90071d4279SBram Moolenaar"--------------------INPUT FILE SYNTAX---------------------------------------
91071d4279SBram Moolenaar"
92071d4279SBram Moolenaar"
93071d4279SBram Moolenaar" -------Nastran Statement
94071d4279SBram Moolenaar"
95071d4279SBram Moolenaarsyn keyword nastranNastranCard		 nastran
96071d4279SBram Moolenaar"
97071d4279SBram Moolenaar" -------The File Management Section (FMS)
98071d4279SBram Moolenaar"
99071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Aa][Cc][Qq][Uu][Ii]+ end=+$+  oneline
100071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Aa][Ss][Ss][Ii][Gg]+ end=+$+  oneline
101071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Cc][oO][Nn][Nn][Ee]+ end=+$+  oneline
102071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Cc][Ll][Ee]+ end=+$+  oneline
103071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Cc]+ end=+$+  oneline
104071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Rr]+ end=+$+  oneline
105071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Ff][Ii][Xx]+ end=+$+  oneline
106071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Aa]+ end=+$+  oneline
107071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Cc]+ end=+$+  oneline
108071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Ss][Ee][Tt]+ end=+$+  oneline
109071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Nn][Ll]+ end=+$+  oneline
110071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Pp][Dd]+ end=+$+  oneline
111071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Dd][Ee][Ff][Ii][Nn]+ end=+$+  oneline
112071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Ee][Nn][Dd][Jj][Oo]+ end=+$+  oneline
113071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Ee][Xx][Pp][Aa][Nn]+ end=+$+  oneline
114071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+  oneline
115071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Ii][Nn][Ii][Tt]+ end=+$+  oneline
116071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Pp][Rr][Oo][Jj]+ end=+$+  oneline
117071d4279SBram Moolenaarsyn region nastranFMSCard start=+^ *[Rr][Ee][Ss][Tt]+ end=+$+  oneline
118071d4279SBram Moolenaarsyn match   nastranDmapUtilmod	   "^ *[Rr][Ee][Ss][Tt][Aa].*,.*," contains=nastranDmapComment
119071d4279SBram Moolenaar"
120071d4279SBram Moolenaar" -------Executive Control Section
121071d4279SBram Moolenaar"
122071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Aa][Ll][Tt][Ee][Rr]+ end=+$+  oneline
123071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Aa][Pp][Pp]+ end=+$+  oneline
124071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Cc][Oo][Mm][Pp][Ii]+ end=+$+  oneline
125071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Dd][Ii][Aa][Gg] + end=+$+  oneline
126071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Ee][Cc][Hh][Oo]+ end=+$+  oneline
127071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Ee][Nn][Dd][Aa][Ll]+ end=+$+  oneline
128071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Ii][Dd]+ end=+$+  oneline
129071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+  oneline
130071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Ll][Ii][Nn][Kk]+ end=+$+  oneline
131071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Mm][Aa][Ll][Tt][Ee]+ end=+$+  oneline
132071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Ss][Oo][Ll] + end=+$+  oneline
133071d4279SBram Moolenaarsyn region nastranECSCard start=+^ *[Tt][Ii][Mm][Ee]+ end=+$+  oneline
134071d4279SBram Moolenaar"
135071d4279SBram Moolenaar" -------Delimiters
136071d4279SBram Moolenaar"
137071d4279SBram Moolenaarsyn match nastranDelimiter "[Cc][Ee][Nn][Dd]" contained
138071d4279SBram Moolenaarsyn match nastranDelimiter "[Bb][Ee][Gg][Ii][Nn]" contained
139071d4279SBram Moolenaarsyn match nastranDelimiter " *[Bb][Uu][Ll][Kk]" contained
140071d4279SBram Moolenaarsyn match nastranDelimiter "[Ee][Nn][Dd] *[dD][Aa][Tt][Aa]" contained
141071d4279SBram Moolenaar"
142071d4279SBram Moolenaar" -------Case Control section
143071d4279SBram Moolenaar"
144071d4279SBram Moolenaarsyn region nastranCC start=+^ *[Cc][Ee][Nn][Dd]+ end=+^ *[Bb][Ee][Gg][Ii][Nn]+ contains=nastranDelimiter,nastranBulkData,nastranDmapComment
145071d4279SBram Moolenaar
146071d4279SBram Moolenaar"
147071d4279SBram Moolenaar" -------Bulk Data section
148071d4279SBram Moolenaar"
149071d4279SBram Moolenaarsyn region nastranBulkData start=+ *[Bb][Uu][Ll][Kk] *$+ end=+^ [Ee][Nn][Dd] *[Dd]+ contains=nastranDelimiter,nastranDmapComment
150071d4279SBram Moolenaar"
151071d4279SBram Moolenaar" -------The following cards may appear in multiple sections of the file
152071d4279SBram Moolenaar"
153071d4279SBram Moolenaarsyn keyword nastranUtilCard ECHOON ECHOOFF INCLUDE PARAM
154071d4279SBram Moolenaar
155071d4279SBram Moolenaar
156071d4279SBram Moolenaar" The default methods for highlighting.  Can be overridden later
157*f37506f6SBram Moolenaarhi def link nastranDmapexecmod	     Statement
158*f37506f6SBram Moolenaarhi def link nastranDmapType	     Type
159*f37506f6SBram Moolenaarhi def link nastranDmapPreCondit	     Error
160*f37506f6SBram Moolenaarhi def link nastranDmapUtilmod	     PreProc
161*f37506f6SBram Moolenaarhi def link nastranDmapMatmod	     nastranDmapUtilmod
162*f37506f6SBram Moolenaarhi def link nastranDmapString	     String
163*f37506f6SBram Moolenaarhi def link nastranDmapNumber	     Constant
164*f37506f6SBram Moolenaarhi def link nastranDmapFloat	     nastranDmapNumber
165*f37506f6SBram Moolenaarhi def link nastranDmapInitTab	     nastranDmapNumber
166*f37506f6SBram Moolenaarhi def link nastranDmapTab		     nastranDmapNumber
167*f37506f6SBram Moolenaarhi def link nastranDmapLogical	     nastranDmapExecmod
168*f37506f6SBram Moolenaarhi def link nastranDmapImplicit	     Identifier
169*f37506f6SBram Moolenaarhi def link nastranDmapComment	     Comment
170*f37506f6SBram Moolenaarhi def link nastranDmapRepeat	     nastranDmapexecmod
171*f37506f6SBram Moolenaarhi def link nastranNastranCard	     nastranDmapPreCondit
172*f37506f6SBram Moolenaarhi def link nastranECSCard		     nastranDmapUtilmod
173*f37506f6SBram Moolenaarhi def link nastranFMSCard		     nastranNastranCard
174*f37506f6SBram Moolenaarhi def link nastranCC		     nastranDmapexecmod
175*f37506f6SBram Moolenaarhi def link nastranDelimiter	     Special
176*f37506f6SBram Moolenaarhi def link nastranBulkData	     nastranDmapType
177*f37506f6SBram Moolenaarhi def link nastranUtilCard	     nastranDmapexecmod
178071d4279SBram Moolenaar
179071d4279SBram Moolenaarlet b:current_syntax = "nastran"
180071d4279SBram Moolenaar
181071d4279SBram Moolenaar"EOF vim: ts=8 noet tw=120 sw=8 sts=0
182