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