-
-
Notifications
You must be signed in to change notification settings - Fork 209
Expand file tree
/
Copy pathcplexlp.xml
More file actions
85 lines (69 loc) · 2.87 KB
/
Copy pathcplexlp.xml
File metadata and controls
85 lines (69 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">
<!-- CPlex LP mode, by Kevin Hunter of NCSU (kmhunte@) for jEdit 4.5+ -->
<!-- Finding an LP specification has proved difficult; the best I could do -->
<!-- was borrow a copy of the ILOG CPLEX 10.1 User's Manual from a friend. -->
<!-- For the curious reading this file: one doesn't generally create LP -->
<!-- files by hand, but uses the output of another program (usually for -->
<!-- debugging purposes). Consequently, I've not include any frills, -->
<!-- like auto indent, etc. -->
<MODE>
<PROPS>
<PROPERTY NAME='wordBreakChars' VALUE='+-/*^=<>\' />
</PROPS>
<RULES
IGNORE_CASE='TRUE'
HIGHLIGHT_DIGITS='TRUE' DIGIT_RE='\d+(?:\.\d+)?|\d+(?:\.\d+)?e\d+'>
<EOL_SPAN TYPE='COMMENT1'>\</EOL_SPAN>
<SEQ TYPE='OPERATOR'>>=</SEQ>
<SEQ TYPE='OPERATOR'>=></SEQ>
<SEQ TYPE='OPERATOR'>></SEQ>
<SEQ TYPE='OPERATOR'><=</SEQ>
<SEQ TYPE='OPERATOR'>=<</SEQ>
<SEQ TYPE='OPERATOR'><</SEQ>
<SEQ TYPE='OPERATOR'>:</SEQ>
<SEQ TYPE='OPERATOR'>=</SEQ>
<SEQ TYPE='OPERATOR'>+</SEQ>
<SEQ TYPE='OPERATOR'>-</SEQ>
<SEQ TYPE='OPERATOR'>*</SEQ>
<SEQ TYPE='OPERATOR'>/</SEQ>
<KEYWORDS>
<KEYWORD1>maximize</KEYWORD1>
<KEYWORD1>maximum</KEYWORD1>
<KEYWORD1>minimize</KEYWORD1>
<KEYWORD1>minimum</KEYWORD1>
<KEYWORD1>min</KEYWORD1>
<KEYWORD1>max</KEYWORD1>
<!-- <KEYWORD1>subject to</KEYWORD1> jEdit apparently cannot -->
<!-- <KEYWORD1>Subject To</KEYWORD1> handle a space in this -->
<!-- <KEYWORD1>such that</KEYWORD1> style of KEYWORD. -->
<KEYWORD1>s.t.</KEYWORD1>
<KEYWORD1>st.</KEYWORD1>
<KEYWORD1>st</KEYWORD1>
<KEYWORD1>end</KEYWORD1>
<KEYWORD1>bounds</KEYWORD1>
<KEYWORD1>bound</KEYWORD1>
<KEYWORD1>generals</KEYWORD1>
<KEYWORD1>general</KEYWORD1>
<KEYWORD1>gen</KEYWORD1>
<KEYWORD1>integers</KEYWORD1>
<KEYWORD1>integer</KEYWORD1>
<KEYWORD1>int</KEYWORD1>
<KEYWORD1>binaries</KEYWORD1>
<KEYWORD1>binary</KEYWORD1>
<KEYWORD1>bin</KEYWORD1>
<SEQ AT_LINE_START='FALSE' TYPE='KEYWORD3'>infinity</SEQ>
<SEQ AT_LINE_START='FALSE' TYPE='KEYWORD3'>inf</SEQ>
<SEQ AT_LINE_START='FALSE' TYPE='KEYWORD3'>free</SEQ>
</KEYWORDS>
<SEQ TYPE='KEYWORD1'>subject to</SEQ>
<SEQ TYPE='KEYWORD1'>such that</SEQ>
<!-- objective function and constraint labels -->
<SEQ_REGEXP AT_LINE_START='TRUE' TYPE='LABEL' HASH_CHARS='ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz_'>[A-z_ ][\w(),]+(?=:)</SEQ_REGEXP>
<!-- Variables. -->
<!-- It's unfortunate for CPlex LP format that jEdit neight has a -->
<!-- token type of VARIABLE, nor lets the mode file define it's own, -->
<!-- like Vim. Oh well; arbitrarily pick a KEYWORD. -->
<SEQ_REGEXP AT_WORD_START='TRUE' AT_LINE_START='FALSE' TYPE='KEYWORD2' HASH_CHARS='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_'>[A-z_][\w!"#$%&()/,.;?@_`'{}|~]*</SEQ_REGEXP>
</RULES>
</MODE>