home *** CD-ROM | disk | FTP | other *** search
- " Language: ampl (A Mathematical Programming Language)
- " Maintainer: Krief David <david.krief@etu.enseeiht.fr> or <david_krief@hotmail.com>
- " Last Change: 2003 May 11
-
-
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
-
-
-
- "--
- syn match amplEntityKeyword "\(subject to\)\|\(subj to\)\|\(s\.t\.\)"
- syn keyword amplEntityKeyword minimize maximize objective
-
- syn keyword amplEntityKeyword coeff coef cover obj default
- syn keyword amplEntityKeyword from to to_come net_in net_out
- syn keyword amplEntityKeyword dimen dimension
-
-
-
- "--
- syn keyword amplType integer binary set param var
- syn keyword amplType node ordered circular reversed symbolic
- syn keyword amplType arc
-
-
-
- "--
- syn keyword amplStatement check close \display drop include
- syn keyword amplStatement print printf quit reset restore
- syn keyword amplStatement solve update write shell model
- syn keyword amplStatement data option let solution fix
- syn keyword amplStatement unfix end function pipe format
-
-
-
- "--
- syn keyword amplConditional if then else and or
- syn keyword amplConditional exists forall in not within
-
-
-
- "--
- syn keyword amplRepeat while repeat for
-
-
-
- "--
- syn keyword amplOperators union diff difference symdiff sum
- syn keyword amplOperators inter intersect intersection cross setof
- syn keyword amplOperators by less mod div product
- "syn keyword amplOperators min max
- "conflict between functions max, min and operators max, min
-
- syn match amplBasicOperators "||\|<=\|==\|\^\|<\|=\|!\|-\|\.\.\|:="
- syn match amplBasicOperators "&&\|>=\|!=\|\*\|>\|:\|/\|+\|\*\*"
-
-
-
-
- "--
- syn match amplComment "\#.*"
- syn region amplComment start=+\/\*+ end=+\*\/+
-
- syn region amplStrings start=+\'+ skip=+\\'+ end=+\'+
- syn region amplStrings start=+\"+ skip=+\\"+ end=+\"+
-
- syn match amplNumerics "[+-]\=\<\d\+\(\.\d\+\)\=\([dDeE][-+]\=\d\+\)\=\>"
- syn match amplNumerics "[+-]\=Infinity"
-
-
- "--
- syn keyword amplSetFunction card next nextw prev prevw
- syn keyword amplSetFunction first last member ord ord0
-
- syn keyword amplBuiltInFunction abs acos acosh alias asin
- syn keyword amplBuiltInFunction asinh atan atan2 atanh ceil
- syn keyword amplBuiltInFunction cos exp floor log log10
- syn keyword amplBuiltInFunction max min precision round sin
- syn keyword amplBuiltInFunction sinh sqrt tan tanh trunc
-
- syn keyword amplRandomGenerator Beta Cauchy Exponential Gamma Irand224
- syn keyword amplRandomGenerator Normal Poisson Uniform Uniform01
-
-
-
- "-- to highlight the 'dot-suffixes'
- syn match amplDotSuffix "\h\w*\.\(lb\|ub\)"hs=e-2
- syn match amplDotSuffix "\h\w*\.\(lb0\|lb1\|lb2\|lrc\|ub0\)"hs=e-3
- syn match amplDotSuffix "\h\w*\.\(ub1\|ub2\|urc\|val\|lbs\|ubs\)"hs=e-3
- syn match amplDotSuffix "\h\w*\.\(init\|body\|dinit\|dual\)"hs=e-4
- syn match amplDotSuffix "\h\w*\.\(init0\|ldual\|slack\|udual\)"hs=e-5
- syn match amplDotSuffix "\h\w*\.\(lslack\|uslack\|dinit0\)"hs=e-6
-
-
-
- "--
- syn match amplPiecewise "<<\|>>"
-
-
-
- "-- Todo.
- syn keyword amplTodo contained TODO FIXME XXX
-
-
-
-
-
-
-
-
-
-
- if version >= 508 || !exists("did_ampl_syntax_inits")
- if version < 508
- let did_ampl_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- " The default methods for highlighting. Can be overridden later.
- HiLink amplEntityKeyword Keyword
- HiLink amplType Type
- HiLink amplStatement Statement
- HiLink amplOperators Operator
- HiLink amplBasicOperators Operator
- HiLink amplConditional Conditional
- HiLink amplRepeat Repeat
- HiLink amplStrings String
- HiLink amplNumerics Number
- HiLink amplSetFunction Function
- HiLink amplBuiltInFunction Function
- HiLink amplRandomGenerator Function
- HiLink amplComment Comment
- HiLink amplDotSuffix Special
- HiLink amplPiecewise Special
-
- delcommand HiLink
- endif
-
- let b:current_syntax = "ampl"
-
- " vim: ts=8
-
-
-