学习非线性有限元软件diana好一段时间了,在去年的时候,为了编写他的fgc文件,编写了一个基于文本编辑器textpad的语法高亮程序,方便查错,做的效果还比较一般,如下,勉强够用。
以前还做过truegrid,ansys,abaqus等的语法高亮,觉得挺有趣的。
这个附件文件且等我放到其他地方,才方便下载,或者把以下这段文字保存为diana.syn,再到textpad中设置
; SYNTAX FILE FOR DIANA [QJCHEN, qjchen@gmail.com]
C=1
[SYNTAX]
NAMESPACE1 = 6
IGNORECASE = NO
INITKEYWORDCHARS = A-ZA-Z_
KEYWORDCHARS = A-ZA-Z0-9@*-'`
BRACKETCHARS = {}[]
PREPROCSTART =
SYNTAXSTART =
SYNTAXEND =
COMMENTSTART =
COMMENTEND =
SINGLECOMMENT = !
SINGLECOMMENTCOL =
SINGLECOMMENTALT =
SINGLECOMMENTCOLALT =
SINGLECOMMENTESC = \
STRINGSSPANLINES = YES
STRINGSTART = "
STRINGEND = "
STRINGESC = \
CHARSTART = '
CHAREND = '
CHARESC = \
[KEYWORDS 1]
$#
ECHO=NO
RESULT
ANALYSE
ASSEMBLE
AUXILIARY
CONSTRUCT
DRAWING
EYE
FEMGEN
FEMVIEW
FILE
GEOMETRY
INDEX
LABEL
MESHING
MONTAGE
PRESENT
PROPERTY
REINFORCE
RESULTS
SAVE
STOP
UTILITY
VIEW
[KEYWORDS 2]
MODEL
COORDSYS
LINE
LMASK
MERGE
NAME
PARAMETER
SCURVE
SET
SHAPE
SPACE
TCURVE
TRANSFRM
ANIMATE
CONTENTS
DISPLAY
RECOVER
SAVE
VIEWPORT
ANGLE
DIRECTION
FRAME
PERSPECT
ROTATE
SHIFT
WALK
ZOOM
NORMAL
LOCATE
POINT
LINE
LCMB
SURFACE
BODY
MOVE
COPY
SWEEP
SPLIT
FLIP
FILLET
UNSPLIT
OPTIONS
COPY
DELETE
GRAPH
LOG
MEASURE
NAME
OPTIONS
READ
SETUP
TABULATE
UNDO
UPDATE
UNLOCK
WRITE
MESH
SHAPE
PMODIFIER
OPTIONS
CANCEL
DIVISION
ELEMENT
GENERATE
MERGE
NODE
OPTIONS
SHAPE
SMOOTH
RENUMBER
TYPES
OVERLAY
CLOSE
SAVE
RECOVER
STATUS
CONTOUR
DIAGRAM
DISC
GRAPH
NUMERIC
OPTIONS
PEAKS
SHAPE
SYMBOL
VECTORS
ATTACH
BOUNDARY
FE-PROG
INITIAL
LOADS
MATERIAL
PHYSICAL
BAR
GRID
ATTACH
MOVE
COPY
SET
LOADCASE
NODAL
ELEMENT
GAUSSIAN
INVARIANT
RANGE
STACK
CALCULATE
TRANSFORM
OFF
CURRENT
BACKUP
HIDDEN
ELEMENT
OPTION
[KEYWORDS 3]
CYLINDER
PLANE
TO
CLEAR
ADD
SHADE
SHELL
CONSTRNT
PLOTFILES
LOADCASES
MODESHAPE
COMPLEX
DTX....G
DTX
DTY
DTZ
TDTX...G
TDTX
TDTY
FRX....G
FRX
RESDTX
EL.NXX.L
NXX
NYY
NXY
QXZ
QYZ
QXY
DEFORM
EDGES
EL.MXX.L
MXX
MYY
MXY
EL.SXX.L
SXX
SXY
MONITOR
POSITION
EL.SXX.G
RE.SXX.G
ELEMENTS
LIST
USE
COPY
SETUP
2SURFS
4SURFS
5SURFS
6SURFS
GENERAL
PRISM
SETS
CONSISTENT
FOCAL
ANGLE
ARC
BETWEEN
CIRCLE
CURVE
INTERSECT
NODES
PARALLEL
PERPENDIC
SPLINE
STRAIGHT
ONTO
X
Y
Z
REPAIR
AT-NODE
COORD
INTERSECT
ONLINE
TRANSFORM
3POINTS
3SIDES
4POINTS
4SIDES
AUTOMATIC
INTERSECT
ONSHAPE
REGION
SIDE-PNT
AUTOMATIC
BODY
DEFAULT
ELSIZE
FACTOR
LINE
PROPAGATE
RELATIVE
SURFACE
ALGORITHM
CHECK
LOCK
MIDNODES
NODE
UNLOCK
3SIDES
4SIDES
4SURFS
5SURFS
6SURFS
ARC
GBODY
POINTS
PRISM
REGION
SPLINE
STRAIGHT
BEAM
LINE
NODE
PROMPT
SCAN-OUTPUT
SECTION
APPEND
CLOSE
OPEN
REMOVE
AVERAGE
AV-DIFF
COMBINE
DIFFERENT
EXPRESSN
EXTRAPOLATE
INTEGRATE
P-ESTRAIN
P-SHEAR
P-STRESS
P-YIELD
PERDIFF
PRESSURE
SAFETY
SCAN
SCAN
VONMISES
EL-RESULT
GLOBAL
LOCAL
MATERIAL
SET
SURFACE
VALUES
GLOBAL
LOCAL
RELATIVE
ANGLE
DISTANCE
LENGTH
BATCH
DXF
IGES
PATRAN
STL
VIEWDATA
ANIMATE
BINSET
COLOURS
CONFIRM
DIRECTORY
FEEDBACK
PLOTTER
QUALITY
ROTATIONS
SYNONYMS
UNDO
UNITS
ALL
LINES
CONSTRAINT
SHRINK
COLOUR
PRESTRES
DIANA
GRAVITY
DISPLACE
SURFACES
RY
RX
RZ
CYLINDRIC
[KEYWORDS 4]
MATERIALS
STEEL
MASS
DENSITY
ELASTIC
ISOTROP
CONCRETE
STATNONL
METALS
VMISES
WHARDIA
REINFORC
BOND
WHARDEN
MASONR
PLANSTRS
THREGULR
CRACK
MATCRK
INTER
THERCONC
TIME
TEMP
L2TRU
L4TRU
L6TRU
CL6TR
CL8TR
CL10T
CL9TR
CL12T
CL15T
L6BEN
L12BE
L7BEN
L13BE
CL9BE
CL12B
CL15B
CL18B
CL24B
CL30B
T6MEM
Q8MEM
CT12M
CQ16M
CQ18M
T9MEM
Q12ME
T6OME
Q8OEM
CT12O
CQ16O
T9WME
T6EPS
Q8EPS
CT12E
CQ16E
CT30E
CQ20E
CQ22E
CT18GE
CQ24GE
CT27GE
CQ36GE
T6AXI
Q8AXI
CT12A
CQ16A
CT30A
CQ20A
CQ22A
CL9AX
Q12PL
CT18P
CQ24P
T15SF
Q20SF
CT30F
CQ40F
T18SF
Q24SF
CT36F
CQ48F
Q48SPL
Q56SPL
T15SH
Q20SH
CT30S
CQ40S
CT45S
CQ60S
CT30L
CQ40L
TE12L
TP18L
HX24L
CTE30
CTP45
CHX60
CTE48
CTP72
CHX96
HX25L
CHX64
T3CMP
CT6CM
CT9CM
Q4CMP
CQ8CM
CQ12C
N4IF
N6IF
L8IF
CL12I
CL20I
L16IF
L20IF
CL24I
CL32I
T18IF
Q24IF
CT36I
CQ48I
L4CT
CL6CT
T9CT
Q12CT
CT18C
CQ24C
BCL6S3
BCL6S2
BQ24S8
BQ24S4
SP1TR
SP2TR
SP1RO
SP2RO
SP6BA
SP12BA
L4TB
CL6TB
T9TB
Q12TB
CT18T
CQ24T
CT27T
CQ36T
PT3T
PT3RO
PT1CR
CL3CR
T3HT
Q4HT
CT6HT
CQ8HT
B2HT
BC3HT
T3AHT
Q4AHT
CT6AHT
CQ8AHT
B2AHT
BC3AHT
TE4HT
CTE10H
TP6HT
HX8HT
CTP15H
CHX20H
BT3HT
BQ4HT
BCT6HT
BCQ8HT
L2HT
L4HT
T3GW
Q4GW
CT6GW
CQ8GW
B2GW
BC3GW
T3AGW
Q4AGW
CT6AG
CQ8AG
B2AGW
BC3AG
TE4GW
CTE10G
TP6GW
HX8GW
CTP15G
CHX20G
BT3GW
BQ4GW
BCT6GW
BCQ8GW
T3KD
Q4KD
CT6KD
CQ8KD
T3RE
Q4RE
CT6RE
CQ8RE
IPT2H
IL4HT
ICL6H
IT6HT
IQ8HT
ICT12H
ICQ16H
T3TO
Q4TO
CT6TO
CQ8TO
INTERFAC
EXTERNAL
EXTERNAL
[KEYWORDS 5]
QU8
CQ16M
LC1
LC2
LC3
LC4
LC5
LC6
[PREPROCESSOR KEYWORDS]