150 lines · 4.2 KB · Text
RawDownload
" 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 clearelseif exists("b:current_syntax") finishendif    "--syn match   amplEntityKeyword     "\(subject to\)\|\(subj to\)\|\(s\.t\.\)"syn keyword amplEntityKeyword	  minimize   maximize  objective syn keyword amplEntityKeyword	  coeff      coef      cover	    obj       defaultsyn keyword amplEntityKeyword	  from	     to        to_come	    net_in    net_outsyn keyword amplEntityKeyword	  dimen      dimension   "--syn keyword amplType		  integer    binary    set	    param     varsyn keyword amplType		  node	     ordered   circular     reversed  symbolicsyn keyword amplType		  arc   "--syn keyword amplStatement	  check      close     \display     drop      includesyn keyword amplStatement	  print      printf    quit	    reset     restoresyn keyword amplStatement	  solve      update    write	    shell     modelsyn keyword amplStatement	  data	     option    let	    solution  fixsyn keyword amplStatement	  unfix      end       function     pipe      format   "--syn keyword amplConditional	  if	     then      else	    and       orsyn keyword amplConditional	  exists     forall    in	    not       within   "--syn keyword amplRepeat		  while      repeat    for   "--syn keyword amplOperators	  union      diff      difference   symdiff   sumsyn keyword amplOperators	  inter      intersect intersection cross     setofsyn 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	    prevwsyn keyword amplSetFunction	  first      last     member	  ord	    ord0 syn keyword amplBuiltInFunction   abs	     acos     acosh	  alias     asinsyn keyword amplBuiltInFunction   asinh      atan     atan2	  atanh     ceilsyn keyword amplBuiltInFunction   cos	     exp      floor	  log	    log10syn keyword amplBuiltInFunction   max	     min      precision   round     sinsyn keyword amplBuiltInFunction   sinh	     sqrt     tan	  tanh	    trunc syn keyword amplRandomGenerator   Beta	     Cauchy   Exponential Gamma     Irand224syn keyword amplRandomGenerator   Normal     Poisson  Uniform	  Uniform01   "-- to highlight the 'dot-suffixes'syn match   amplDotSuffix	"\h\w*\.\(lb\|ub\)"hs=e-2syn match   amplDotSuffix	"\h\w*\.\(lb0\|lb1\|lb2\|lrc\|ub0\)"hs=e-3syn match   amplDotSuffix	"\h\w*\.\(ub1\|ub2\|urc\|val\|lbs\|ubs\)"hs=e-3syn match   amplDotSuffix	"\h\w*\.\(init\|body\|dinit\|dual\)"hs=e-4syn match   amplDotSuffix	"\h\w*\.\(init0\|ldual\|slack\|udual\)"hs=e-5syn 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 HiLinkendif let b:current_syntax = "ampl" " vim: ts=8