blob: 239fd6e49df164275c66d731fb30ab98861c2fe8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: NASTRAN input/DMAP
3" Maintainer: Tom Kowalski <trk@schaefferas.com>
4" Last change: April 27, 2001
5" Thanks to the authors and maintainers of fortran.vim.
6" Since DMAP shares some traits with fortran, this syntax file
7" is based on the fortran.vim syntax file.
8"----------------------------------------------------------------------
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02009" quit when a syntax file was already loaded
10if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000011 finish
12endif
13" DMAP is not case dependent
14syn case ignore
15"
16"--------------------DMAP SYNTAX---------------------------------------
17"
18" -------Executive Modules and Statements
19"
20syn keyword nastranDmapexecmod call dbview delete end equiv equivx exit
21syn keyword nastranDmapexecmod file message purge purgex return subdmap
22syn keyword nastranDmapType type
23syn keyword nastranDmapLabel go to goto
24syn keyword nastranDmapRepeat if else elseif endif then
25syn keyword nastranDmapRepeat do while
26syn region nastranDmapString start=+"+ end=+"+ oneline
27syn region nastranDmapString start=+'+ end=+'+ oneline
28" If you don't like initial tabs in dmap (or at all)
29"syn match nastranDmapIniTab "^\t.*$"
30"syn match nastranDmapTab "\t"
31
32" Any integer
33syn match nastranDmapNumber "-\=\<[0-9]\+\>"
34" floating point number, with dot, optional exponent
35syn match nastranDmapFloat "\<[0-9]\+\.[0-9]*\([edED][-+]\=[0-9]\+\)\=\>"
36" floating point number, starting with a dot, optional exponent
37syn match nastranDmapFloat "\.[0-9]\+\([edED][-+]\=[0-9]\+\)\=\>"
38" floating point number, without dot, with exponent
39syn match nastranDmapFloat "\<[0-9]\+[edED][-+]\=[0-9]\+\>"
40
41syn match nastranDmapLogical "\(true\|false\)"
42
43syn match nastranDmapPreCondit "^#define\>"
44syn match nastranDmapPreCondit "^#include\>"
45"
46" -------Comments may be contained in another line.
47"
48syn match nastranDmapComment "^[\$].*$"
49syn match nastranDmapComment "\$.*$"
50syn match nastranDmapComment "^[\$].*$" contained
51syn match nastranDmapComment "\$.*$" contained
52" Treat all past 72nd column as a comment. Do not work with tabs!
53" Breaks down when 72-73rd column is in another match (eg number or keyword)
54syn match nastranDmapComment "^.\{-72}.*$"lc=72 contained
55
56"
57" -------Utility Modules
58"
59syn keyword nastranDmapUtilmod append copy dbc dbdict dbdir dmin drms1
60syn keyword nastranDmapUtilmod dtiin eltprt ifp ifp1 inputt2 inputt4 lamx
61syn keyword nastranDmapUtilmod matgen matgpr matmod matpch matprn matprt
62syn keyword nastranDmapUtilmod modtrl mtrxin ofp output2 output4 param
63syn keyword nastranDmapUtilmod paraml paramr prtparam pvt scalar
64syn keyword nastranDmapUtilmod seqp setval tabedit tabprt tabpt vec vecplot
65syn keyword nastranDmapUtilmod xsort
66"
67" -------Matrix Modules
68"
69syn keyword nastranDmapMatmod add add5 cead dcmp decomp diagonal fbs merge
70syn keyword nastranDmapMatmod mpyad norm read reigl smpyad solve solvit
71syn keyword nastranDmapMatmod trnsp umerge umerge1 upartn dmiin partn
72syn region nastranDmapMatmod start=+^ *[Dd][Mm][Ii]+ end=+[\/]+
73"
74" -------Implicit Functions
75"
76syn keyword nastranDmapImplicit abs acos acosh andl asin asinh atan atan2
77syn keyword nastranDmapImplicit atanh atanh2 char clen clock cmplx concat1
78syn keyword nastranDmapImplicit concat2 concat3 conjg cos cosh dble diagoff
79syn keyword nastranDmapImplicit diagon dim dlablank dlxblank dprod eqvl exp
80syn keyword nastranDmapImplicit getdiag getsys ichar imag impl index indexstr
81syn keyword nastranDmapImplicit int itol leq lge lgt lle llt lne log log10
82syn keyword nastranDmapImplicit logx ltoi mcgetsys mcputsys max min mod neqvl
83syn keyword nastranDmapImplicit nint noop normal notl numeq numge numgt numle
84syn keyword nastranDmapImplicit numlt numne orl pi precison putdiag putsys
85syn keyword nastranDmapImplicit rand rdiagon real rtimtogo setcore sign sin
86syn keyword nastranDmapImplicit sinh sngl sprod sqrt substrin tan tanh
87syn keyword nastranDmapImplicit timetogo wlen xorl
88"
89"
90"--------------------INPUT FILE SYNTAX---------------------------------------
91"
92"
93" -------Nastran Statement
94"
95syn keyword nastranNastranCard nastran
96"
97" -------The File Management Section (FMS)
98"
99syn region nastranFMSCard start=+^ *[Aa][Cc][Qq][Uu][Ii]+ end=+$+ oneline
100syn region nastranFMSCard start=+^ *[Aa][Ss][Ss][Ii][Gg]+ end=+$+ oneline
101syn region nastranFMSCard start=+^ *[Cc][oO][Nn][Nn][Ee]+ end=+$+ oneline
102syn region nastranFMSCard start=+^ *[Dd][Bb][Cc][Ll][Ee]+ end=+$+ oneline
103syn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Cc]+ end=+$+ oneline
104syn region nastranFMSCard start=+^ *[Dd][Bb][Dd][Ii][Rr]+ end=+$+ oneline
105syn region nastranFMSCard start=+^ *[Dd][Bb][Ff][Ii][Xx]+ end=+$+ oneline
106syn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Aa]+ end=+$+ oneline
107syn region nastranFMSCard start=+^ *[Dd][Bb][Ll][Oo][Cc]+ end=+$+ oneline
108syn region nastranFMSCard start=+^ *[Dd][Bb][Ss][Ee][Tt]+ end=+$+ oneline
109syn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Nn][Ll]+ end=+$+ oneline
110syn region nastranFMSCard start=+^ *[Dd][Bb][Uu][Pp][Dd]+ end=+$+ oneline
111syn region nastranFMSCard start=+^ *[Dd][Ee][Ff][Ii][Nn]+ end=+$+ oneline
112syn region nastranFMSCard start=+^ *[Ee][Nn][Dd][Jj][Oo]+ end=+$+ oneline
113syn region nastranFMSCard start=+^ *[Ee][Xx][Pp][Aa][Nn]+ end=+$+ oneline
114syn region nastranFMSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+ oneline
115syn region nastranFMSCard start=+^ *[Ii][Nn][Ii][Tt]+ end=+$+ oneline
116syn region nastranFMSCard start=+^ *[Pp][Rr][Oo][Jj]+ end=+$+ oneline
117syn region nastranFMSCard start=+^ *[Rr][Ee][Ss][Tt]+ end=+$+ oneline
118syn match nastranDmapUtilmod "^ *[Rr][Ee][Ss][Tt][Aa].*,.*," contains=nastranDmapComment
119"
120" -------Executive Control Section
121"
122syn region nastranECSCard start=+^ *[Aa][Ll][Tt][Ee][Rr]+ end=+$+ oneline
123syn region nastranECSCard start=+^ *[Aa][Pp][Pp]+ end=+$+ oneline
124syn region nastranECSCard start=+^ *[Cc][Oo][Mm][Pp][Ii]+ end=+$+ oneline
125syn region nastranECSCard start=+^ *[Dd][Ii][Aa][Gg] + end=+$+ oneline
126syn region nastranECSCard start=+^ *[Ee][Cc][Hh][Oo]+ end=+$+ oneline
127syn region nastranECSCard start=+^ *[Ee][Nn][Dd][Aa][Ll]+ end=+$+ oneline
128syn region nastranECSCard start=+^ *[Ii][Dd]+ end=+$+ oneline
129syn region nastranECSCard start=+^ *[Ii][Nn][Cc][Ll][Uu]+ end=+$+ oneline
130syn region nastranECSCard start=+^ *[Ll][Ii][Nn][Kk]+ end=+$+ oneline
131syn region nastranECSCard start=+^ *[Mm][Aa][Ll][Tt][Ee]+ end=+$+ oneline
132syn region nastranECSCard start=+^ *[Ss][Oo][Ll] + end=+$+ oneline
133syn region nastranECSCard start=+^ *[Tt][Ii][Mm][Ee]+ end=+$+ oneline
134"
135" -------Delimiters
136"
137syn match nastranDelimiter "[Cc][Ee][Nn][Dd]" contained
138syn match nastranDelimiter "[Bb][Ee][Gg][Ii][Nn]" contained
139syn match nastranDelimiter " *[Bb][Uu][Ll][Kk]" contained
140syn match nastranDelimiter "[Ee][Nn][Dd] *[dD][Aa][Tt][Aa]" contained
141"
142" -------Case Control section
143"
144syn region nastranCC start=+^ *[Cc][Ee][Nn][Dd]+ end=+^ *[Bb][Ee][Gg][Ii][Nn]+ contains=nastranDelimiter,nastranBulkData,nastranDmapComment
145
146"
147" -------Bulk Data section
148"
149syn region nastranBulkData start=+ *[Bb][Uu][Ll][Kk] *$+ end=+^ [Ee][Nn][Dd] *[Dd]+ contains=nastranDelimiter,nastranDmapComment
150"
151" -------The following cards may appear in multiple sections of the file
152"
153syn keyword nastranUtilCard ECHOON ECHOOFF INCLUDE PARAM
154
155
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200156" The default methods for highlighting. Can be overridden later
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200157hi def link nastranDmapexecmod Statement
158hi def link nastranDmapType Type
159hi def link nastranDmapPreCondit Error
160hi def link nastranDmapUtilmod PreProc
161hi def link nastranDmapMatmod nastranDmapUtilmod
162hi def link nastranDmapString String
163hi def link nastranDmapNumber Constant
164hi def link nastranDmapFloat nastranDmapNumber
165hi def link nastranDmapInitTab nastranDmapNumber
166hi def link nastranDmapTab nastranDmapNumber
167hi def link nastranDmapLogical nastranDmapExecmod
168hi def link nastranDmapImplicit Identifier
169hi def link nastranDmapComment Comment
170hi def link nastranDmapRepeat nastranDmapexecmod
171hi def link nastranNastranCard nastranDmapPreCondit
172hi def link nastranECSCard nastranDmapUtilmod
173hi def link nastranFMSCard nastranNastranCard
174hi def link nastranCC nastranDmapexecmod
175hi def link nastranDelimiter Special
176hi def link nastranBulkData nastranDmapType
177hi def link nastranUtilCard nastranDmapexecmod
Bram Moolenaar071d4272004-06-13 20:20:40 +0000178
179let b:current_syntax = "nastran"
180
181"EOF vim: ts=8 noet tw=120 sw=8 sts=0