| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- " Vim syntax file
- " Language: gcc rtl
- " Maintainer: Igor Petushkov <piv-tula@mail.ru>
- " Last Change: May 12 17:28:14 MSD 2010
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
- " Integer number, or floating point number without a dot.
- syn match rtlNumber "\<\d\+\>" contained
- " file path
- syn match rtlPath "[A-Za-z0-9.\/\-_]*\.\(c\|cpp\|h\|hpp\|CC\|f\|f95\)\:\d*"
- " String and Character contstants
- syn region rtlString start=+"+ end=+"+ contained
- " Comments
- syn region rtlComment start="^[ \t]*;;" end="$"
- " A bunch of useful rtl keywords
- syn keyword rtlInsn insn jump_insn call_insn code_label contained
- syn keyword rtlInsn barrier note contained
- " Modes for regs, expressions
- syn keyword rtlModes BI QI HI PSI SI PDI DI TI OI QF HF contained
- syn keyword rtlModes TQF SF DF XF SD DD TD TF QQ HQ SQ contained
- syn keyword rtlModes DQ TQ UQQ UHQ USQ UDQ HA SA DA TA contained
- syn keyword rtlModes UHA USA UDA UTA CC BLK VOID QC HC contained
- syn keyword rtlModes SC DC XC TC CHI CSI CDI CTI COI contained
- " Comparision operations
- syn keyword rtlComparision eq ne gt gtu lt ltu ge geu le leu contained
- syn keyword rtlComparision if_then_else cond contained
- " Constants
- syn keyword rtlConstant const_int const_double const_fixed contained
- syn keyword rtlConstant const_vector const_string symbol_ref contained
- syn keyword rtlConstant label_ref const high contained
- " Registers
- syn keyword rtlRegisterMem reg subreg scratch cc0 pc mem contained
- syn keyword rtlRegisterMem concatm concatnm contained
- " Arithmetic functions
- syn keyword rtlArithmetic plus ss_plus us_plus lo_sum minus contained
- syn keyword rtlArithmetic ss_minus us_minus compare neg ss_neg contained
- syn keyword rtlArithmetic us_neg mult ss_mult us_mult div contained
- syn keyword rtlArithmetic ss_div udiv us_div mod umod smin contained
- syn keyword rtlArithmetic smax umin umax not and ior xor contained
- syn keyword rtlArithmetic ashift ss_ashift us_ashift lshiftrt contained
- syn keyword rtlArithmetic ashiftrt rotate rotatert abs sqrt contained
- syn keyword rtlArithmetic ffs clz ctz popcount parity bswap contained
- " Bit field functions
- syn keyword rtlBitField sign_extract zero_extract contained
- " Vector operations
- syn keyword rtlVector vec_merge vec_select vec_concat contained
- syn keyword rtlVector vec_duplicate contained
- " Conversions
- syn keyword rtlConversion sign_extend zero_extend float_extend contained
- syn keyword rtlConversion truncate ss_truncate us_truncate contained
- syn keyword rtlConversion float_truncate float unsigned_float contained
- syn keyword rtlConversion fix unsigned_fix fract_convert contained
- syn keyword rtlConversion sat_fract unsigned_fract_convert contained
- syn keyword rtlConversion unsigned_sat_fract contained
- " Side effects
- syn keyword rtlSideEffect set return call clobber use parallel contained
- syn keyword rtlSideEffect cond_exec sequence asm_input unspec contained
- syn keyword rtlSideEffect unspec_volatile addr_vec contained
- syn keyword rtlSideEffect addr_diff_vec prefetch contained
- " Embedded side effects on addresses
- syn keyword rtlSideEffect pre_dec pre_inc post_dec post_inc contained
- syn keyword rtlSideEffect post_modify pre_modify contained
- " Operations
- syn region rtlExpression start="(" end=")" contains=ALLBUT,rtlError1
- syn region rtlExpression2 start="\[" end="\]" contains=ALL,rtlError2
- syn region rtlSpecOperation start="{" end="}" contains=ALLBUT,rtlError3
- syn match rtlError1 display ")"
- syn match rtlError2 display "]"
- syn match rtlError3 display "}"
- syn sync minlines=50
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_rtl_syntax_inits")
- if version < 508
- let did_rtl_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
- HiLink rtlNumber Number
- HiLink rtlPath Comment
- HiLink rtlString Character
- HiLink rtlComment Comment
- HiLink rtlModes Type
- HiLink rtlComparision Conditional
- HiLink rtlInsn Operator
- HiLink rtlConstant Constant
- HiLink rtlRegisterMem Identifier
- HiLink rtlArithmetic Operator
- HiLink rtlBitField Operator
- HiLink rtlVector Function
- HiLink rtlConversion Function
- HiLink rtlSideEffect Staement
- HiLink rtlExpression Statement
- HiLink rtlExpression2 Statement
- HiLink rtlSpecOperation Function
- HiLink rtlError1 Error
- HiLink rtlError2 Error
- HiLink rtlError3 Error
- delcommand HiLink
- endif
- let b:current_syntax = "rtl"
- " vim: ts=4
|