summaryrefslogtreecommitdiff
path: root/tests/lexers/ec/example2.txt
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2021-01-18 21:24:00 +0100
committerGeorg Brandl <georg@python.org>2021-01-18 22:08:36 +0100
commit2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch)
tree809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/ec/example2.txt
parentf0445be718da83541ea3401aad882f3937147263 (diff)
downloadpygments-git-examplefiles.tar.gz
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/ec/example2.txt')
-rw-r--r--tests/lexers/ec/example2.txt7714
1 files changed, 7714 insertions, 0 deletions
diff --git a/tests/lexers/ec/example2.txt b/tests/lexers/ec/example2.txt
new file mode 100644
index 00000000..277e4c6e
--- /dev/null
+++ b/tests/lexers/ec/example2.txt
@@ -0,0 +1,7714 @@
+---input---
+namespace gui;
+
+import "Window"
+
+public struct AnchorValue
+{
+ AnchorValueType type;
+
+ union
+ {
+ int distance;
+ float percent;
+ };
+ property int
+ {
+ set { distance = value; type = offset; }
+ get { return distance; }
+ }
+ property double
+ {
+ set { percent = (float) value; type = relative; }
+ get { return (double) percent; }
+ }
+
+ char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+ {
+ if(type == offset)
+ {
+ sprintf(stringOutput, "%d", distance);
+ }
+ else if(type == relative)
+ {
+ int c;
+ int last = 0;
+ sprintf(stringOutput, "%f", percent);
+ c = strlen(stringOutput)-1;
+ for( ; c >= 0; c--)
+ {
+ if(stringOutput[c] != '0')
+ last = Max(last, c);
+ if(stringOutput[c] == '.')
+ {
+ if(last == c)
+ {
+ stringOutput[c+1] = '0';
+ stringOutput[c+2] = 0;
+ }
+ else
+ stringOutput[last+1] = 0;
+ break;
+ }
+ }
+ }
+ if(needClass) *needClass = false;
+ return stringOutput;
+ }
+
+ bool OnGetDataFromString(char * stringOutput)
+ {
+ char * end;
+ if(strchr(stringOutput, '.'))
+ {
+ float percent = (float)strtod(stringOutput, &end);
+
+ if(end != stringOutput)
+ {
+ this.percent = percent;
+ type = relative;
+ return true;
+ }
+ }
+ else if(stringOutput[0])
+ {
+ int distance = strtol(stringOutput, &end, 0);
+ if(end != stringOutput)
+ {
+ this.distance = distance;
+ type = offset;
+ return true;
+ }
+ }
+ else
+ {
+ distance = 0;
+ type = 0;
+ }
+ return false;
+ }
+};
+
+public struct MiddleAnchorValue
+{
+ AnchorValueType type;
+
+ union
+ {
+ int distance;
+ float percent;
+ };
+ property int
+ {
+ set { distance = value; type = none; }
+ get { return distance; }
+ }
+ property double
+ {
+ set { percent = (float) value; type = middleRelative; }
+ get { return (double) percent; }
+ }
+
+ char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+ {
+ if(type == middleRelative)
+ {
+ int c;
+ int last = 0;
+ sprintf(stringOutput, "%f", percent);
+ c = strlen(stringOutput)-1;
+ for( ; c >= 0; c--)
+ {
+ if(stringOutput[c] != '0')
+ last = Max(last, c);
+ if(stringOutput[c] == '.')
+ {
+ if(last == c)
+ {
+ stringOutput[c+1] = '0';
+ stringOutput[c+2] = 0;
+ }
+ else
+ stringOutput[last+1] = 0;
+ break;
+ }
+ }
+ }
+ else if(type == none && distance)
+ {
+ sprintf(stringOutput, "%d", distance);
+ }
+ if(needClass) *needClass = false;
+ return stringOutput;
+ }
+
+ bool OnGetDataFromString(char * stringOutput)
+ {
+ if(strchr(stringOutput, '.'))
+ {
+ percent = (float)strtod(stringOutput, null);
+ type = middleRelative;
+ }
+ else
+ {
+ distance = strtol(stringOutput, null, 0);
+ type = none;
+ }
+ return true;
+ }
+};
+
+public enum AnchorValueType { none, offset, relative, middleRelative, cascade, vTiled, hTiled };
+
+public struct Anchor
+{
+ union { AnchorValue left; MiddleAnchorValue horz; };
+ union { AnchorValue top; MiddleAnchorValue vert; };
+ AnchorValue right, bottom;
+
+ char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+ {
+ char tempString[256];
+ char * anchorValue;
+ bool subNeedClass;
+
+ tempString[0] = '\0';
+ anchorValue = left.OnGetString(tempString, null, &subNeedClass);
+ if(anchorValue[0]) { if(stringOutput[0]) strcat(stringOutput, ", "); strcat(stringOutput, "left = "); strcat(stringOutput, anchorValue); }
+
+ //if(((!left.type && !right.type) && horz.distance) || horz.type == middleRelative)
+ if(!right.type && ((!left.type && horz.distance) || horz.type == middleRelative))
+ {
+ tempString[0] = '\0';
+ anchorValue = horz.OnGetString(tempString, null, &subNeedClass);
+ if(anchorValue[0]) { if(stringOutput[0]) strcat(stringOutput, ", "); strcat(stringOutput, "horz = "); strcat(stringOutput, anchorValue); }
+ }
+
+ tempString[0] = '\0';
+ anchorValue = top.OnGetString(tempString, null, &subNeedClass);
+ if(anchorValue[0]) { if(stringOutput[0]) strcat(stringOutput, ", "); strcat(stringOutput, "top = "); strcat(stringOutput, anchorValue); }
+
+ tempString[0] = '\0';
+ anchorValue = right.OnGetString(tempString, null, &subNeedClass);
+ if(anchorValue[0]) { if(stringOutput[0]) strcat(stringOutput, ", "); strcat(stringOutput, "right = "); strcat(stringOutput, anchorValue); }
+
+ // if(((!top.type && !bottom.type) && vert.distance) || vert.type == middleRelative)
+ if(!bottom.type && ((!top.type && vert.distance) || vert.type == middleRelative))
+ {
+ tempString[0] = '\0';
+ anchorValue = vert.OnGetString(tempString, null, &subNeedClass);
+ if(anchorValue[0]) { if(stringOutput[0]) strcat(stringOutput, ", "); strcat(stringOutput, "vert = "); strcat(stringOutput, anchorValue); }
+ }
+
+ tempString[0] = '\0';
+ anchorValue = bottom.OnGetString(tempString, null, &subNeedClass);
+ if(anchorValue[0]) { if(stringOutput[0]) strcat(stringOutput, ", "); strcat(stringOutput, "bottom = "); strcat(stringOutput, anchorValue); }
+
+ return stringOutput;
+ }
+
+ bool OnGetDataFromString(char * string)
+ {
+ this = Anchor {};
+ return class::OnGetDataFromString(string);
+ }
+
+ bool OnSaveEdit(DropBox dropBox, void * object)
+ {
+ return dropBox.Save();
+ }
+
+ Window OnEdit(Window listBox, Window master, int x, int y, int w, int h, Window control)
+ {
+ char * string = "";
+ AnchorDropBox comboBox
+ {
+ editText = true;
+ parent = listBox;
+ master = master;
+ position = Point { x, y };
+ //clientSize = Size { h = h };
+ //size.w = w;
+ size = { w, h };
+ anchorValue = this;
+ control = control;
+ borderStyle = 0;
+ };
+
+ comboBox.Create();
+
+ {
+ char tempString[MAX_F_STRING] = "";
+ bool needClass = false;
+ char * result = OnGetString(tempString, null, &needClass);
+ if(result) string = result;
+ }
+ comboBox.contents = string;
+ return comboBox;
+ }
+};
+
+private class AnchorButton : Button
+{
+ toggle = true, bevel = false;
+
+ void OnRedraw(Surface surface)
+ {
+ int cw = clientSize.w;
+ int ch = clientSize.h;
+
+ surface.SetForeground(black);
+ if(checked)
+ {
+ surface.SetBackground(Color { 85,85,85 });
+ surface.Area(0,0, cw-1, ch-1);
+ }
+ else
+ surface.LineStipple(0xAAAA);
+
+ surface.Rectangle(0,0,cw-1,ch-1);
+
+ if(active)
+ {
+ surface.LineStipple(0xAAAA);
+ surface.Rectangle(2,2,cw-3,ch-3);
+ }
+ }
+
+ bool AnchorEditor::NotifyClicked(Button button, int x, int y, Modifiers mods)
+ {
+ AnchorDropBox anchorDropBox = (AnchorDropBox)master;
+ Anchor anchor = anchorDropBox.anchorValue;
+ Window control = anchorDropBox.control;
+ DataBox dropMaster = (DataBox)anchorDropBox.master;
+ int id = button.id;
+
+ switch(id)
+ {
+ case 0: anchor.left.type = button.checked ? offset : none; break;
+ case 1: anchor.top.type = button.checked ? offset : none; break;
+ case 2: anchor.right.type = button.checked ? offset : none; break;
+ case 3: anchor.bottom.type = button.checked ? offset : none; break;
+ }
+
+ if(anchor.horz.type == middleRelative && (id == 0 || id == 2))
+ {
+ anchorDropBox.relButtons[0].checked = false;
+ anchorDropBox.relButtons[2].checked = false;
+ }
+ if(anchor.vert.type == middleRelative && (id == 1 || id == 3))
+ {
+ anchorDropBox.relButtons[1].checked = false;
+ anchorDropBox.relButtons[3].checked = false;
+ }
+ anchorDropBox.relButtons[id].checked = false;
+
+ //anchor.horz.type = none;
+ //anchor.vert.type = none;
+
+ {
+ int vpw, vph;
+ int x,y,w,h;
+ Window parent = control.parent;
+
+ // Fix Anchor
+ x = control.position.x;
+ y = control.position.y;
+ w = control.size.w;
+ h = control.size.h;
+
+ vpw = parent.clientSize.w;
+ vph = parent.clientSize.h;
+ if(control.nonClient)
+ {
+ vpw = parent.size.w;
+ vph = parent.size.h;
+ }
+ else if(((BorderBits)control.borderStyle).fixed)
+ {
+ if(!control.dontScrollHorz && parent.scrollArea.w) vpw = parent.scrollArea.w;
+ if(!control.dontScrollVert && parent.scrollArea.h) vph = parent.scrollArea.h;
+ }
+
+ if(anchor.left.type == offset) anchor.left.distance = x;
+ else if(anchor.left.type == relative) anchor.left.percent = (float)x / vpw;
+ if(anchor.top.type == offset) anchor.top.distance = y;
+ else if(anchor.top.type == relative) anchor.top.percent = (float)y / vph;
+ if(anchor.right.type == offset) anchor.right.distance = vpw - (x + w);
+ //else if(anchor.right.type == relative) anchor.right.percent = (float) (x + w) / vpw;
+ else if(anchor.right.type == relative) anchor.right.percent = (float) (vpw - (x + w)) / vpw;
+ if(anchor.bottom.type == offset) anchor.bottom.distance = vph - (y + h);
+ //else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (y + h) / vph;
+ else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (vph - (y + h)) / vph;
+
+ if(!anchor.left.type && !anchor.right.type)
+ {
+ anchor.horz.distance = (x + w / 2) - (vpw / 2);
+ //anchor.horz.type = anchor.horz.distance ? offset : 0;
+ }
+ else if(anchor.horz.type == middleRelative) anchor.horz.percent = (float) ((x + w / 2) - (vpw / 2)) / vpw;
+ if(!anchor.top.type && !anchor.bottom.type)
+ {
+ anchor.vert.distance = (y + h / 2) - (vph / 2);
+ //anchor.vert.type = anchor.vert.distance ? offset : 0;
+ }
+ else if(anchor.vert.type == middleRelative) anchor.vert.percent = (float)((y + h / 2) - (vph / 2)) / vph;
+ }
+
+ {
+ char tempString[1024] = "";
+ bool needClass = false;
+ char * string = anchor.OnGetString(tempString, null, &needClass);
+ anchorDropBox.contents = string;
+ }
+
+ dropMaster.SetData(&anchor, false);
+ anchorDropBox.anchorValue = anchor;
+ return true;
+ }
+}
+
+private class AnchorRelButton : Button
+{
+ toggle = true;
+ bevel = false;
+ text = "%";
+ //bevelOver = true;
+
+ void OnRedraw(Surface surface)
+ {
+ int cw = clientSize.w;
+ int ch = clientSize.h;
+
+ if(checked)
+ {
+ surface.SetForeground(black);
+ }
+ else
+ {
+ surface.SetForeground(Color{170,170,170});
+ }
+ surface.WriteText(5,2, "%", 1);
+
+ if(active)
+ {
+ surface.LineStipple(0xAAAA);
+ surface.Rectangle(3,3,cw-4,ch-4);
+ }
+ }
+
+ bool AnchorEditor::NotifyClicked(Button button, int x, int y, Modifiers mods)
+ {
+ AnchorDropBox anchorDropBox = (AnchorDropBox)master;
+ Anchor anchor = anchorDropBox.anchorValue;
+ Window control = anchorDropBox.control;
+ DataBox dropMaster = (DataBox)anchorDropBox.master;
+ int id = button.id;
+
+ if((id == 0 || id == 2) && ((!anchor.left.type && !anchor.right.type) || anchor.left.type == middleRelative))
+ {
+ if(button.checked) anchor.horz.type = middleRelative; else anchor.horz.type = none;
+ anchorDropBox.relButtons[(id + 2)%4].checked = button.checked;
+ }
+ else if((id == 1 || id == 3) && ((!anchor.top.type && !anchor.bottom.type) || anchor.top.type == middleRelative))
+ {
+ if(button.checked) anchor.vert.type = middleRelative; else anchor.vert.type = none;
+ anchorDropBox.relButtons[(id + 2)%4].checked = button.checked;
+ }
+ else
+ {
+ switch(id)
+ {
+ case 0: anchor.left.type = button.checked ? relative : (anchor.left.type ? offset : none); break;
+ case 1: anchor.top.type = button.checked ? relative : (anchor.top.type ? offset : none); break;
+ case 2: anchor.right.type = button.checked ? relative : (anchor.right.type ? offset : none); break;
+ case 3: anchor.bottom.type = button.checked ? relative : (anchor.bottom.type ? offset : none); break;
+ }
+ anchorDropBox.buttons[id].checked = true;
+ if(anchor.horz.type == middleRelative) anchor.horz.type = none;
+ if(anchor.vert.type == middleRelative) anchor.vert.type = none;
+ }
+
+ {
+ int vpw, vph;
+ int x,y,w,h;
+ Window parent = control.parent;
+
+ // Fix Anchor
+ x = control.position.x;
+ y = control.position.y;
+ w = control.size.w;
+ h = control.size.h;
+
+ vpw = parent.clientSize.w;
+ vph = parent.clientSize.h;
+ if(control.nonClient)
+ {
+ vpw = parent.size.w;
+ vph = parent.size.h;
+ }
+ else if(((BorderBits)control.borderStyle).fixed)
+ {
+ if(!control.dontScrollHorz && parent.scrollArea.w) vpw = parent.scrollArea.w;
+ if(!control.dontScrollVert && parent.scrollArea.h) vph = parent.scrollArea.h;
+ }
+
+ if(anchor.left.type == offset) anchor.left.distance = x;
+ else if(anchor.left.type == relative) anchor.left.percent = (float)x / vpw;
+ if(anchor.top.type == offset) anchor.top.distance = y;
+ else if(anchor.top.type == relative) anchor.top.percent = (float)y / vph;
+ if(anchor.right.type == offset) anchor.right.distance = vpw - (x + w);
+ //else if(anchor.right.type == relative) anchor.right.percent = (float) (x + w) / vpw;
+ else if(anchor.right.type == relative) anchor.right.percent = (float) (vpw - (x + w)) / vpw;
+ if(anchor.bottom.type == offset) anchor.bottom.distance = vph - (y + h);
+ //else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (y + h) / vph;
+ else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (vph - (y + h)) / vph;
+
+ if(!anchor.left.type && !anchor.right.type)
+ {
+ anchor.horz.distance = (x + w / 2) - (vpw / 2);
+ //anchor.horz.type = anchor.horz.distance ? offset : none;
+ }
+ else if(anchor.horz.type == middleRelative) anchor.horz.percent = (float) ((x + w / 2) - (vpw / 2)) / vpw;
+ if(!anchor.top.type && !anchor.bottom.type)
+ {
+ anchor.vert.distance = (y + h / 2) - (vph / 2);
+ //anchor.vert.type = anchor.vert.distance ? offset : none;
+ }
+ else if(anchor.vert.type == middleRelative) anchor.vert.percent = (float)((y + h / 2) - (vph / 2)) / vph;
+ }
+
+ {
+ char tempString[1024] = "";
+ bool needClass = false;
+ char * string = anchor.OnGetString(tempString, null, &needClass);
+ anchorDropBox.contents = string;
+ }
+
+ dropMaster.SetData(&anchor, false);
+ anchorDropBox.anchorValue = anchor;
+ return true;
+ }
+}
+
+private class AnchorEditor : Window
+{
+ interim = true;
+ borderStyle = deepContour;
+ size.h = 92;
+
+ bool OnKeyDown(Key key, unichar ch)
+ {
+ if(key == escape)
+ return master.OnKeyDown(key, ch);
+ return true;
+ }
+}
+
+private class AnchorDropBox : DropBox
+{
+ Anchor anchorValue;
+ Window control;
+ Button relButtons[4], buttons[4];
+
+ AnchorEditor anchorEditor
+ {
+ master = this;
+ autoCreate = false;
+ };
+
+ Window OnDropDown()
+ {
+ int c;
+ Button
+ {
+ anchorEditor,
+ anchor = Anchor { left = 28, top = 28, right = 28, bottom = 28 },
+ inactive = true, disabled = true
+ };
+ for(c = 0; c<4; c++)
+ {
+ Button button = buttons[c] = AnchorButton
+ {
+ anchorEditor, id = c,
+ size = Size { (c%2)?10:28, (c%2)?28:10 }
+ };
+ Button relButton = relButtons[c] = AnchorRelButton
+ {
+ anchorEditor, id = c;
+ };
+
+ switch(c)
+ {
+ case 0:
+ if(anchorValue.left.type && anchorValue.left.type != middleRelative) button.checked = true;
+ if(anchorValue.left.type == relative || anchorValue.horz.type == middleRelative) relButton.checked = true;
+
+ button.anchor = Anchor { left = 0 };
+ relButton.anchor = Anchor { left = 5, vert = 16 };
+ break;
+ case 1:
+ if(anchorValue.top.type && anchorValue.top.type != middleRelative) button.checked = true;
+ if(anchorValue.top.type == relative || anchorValue.vert.type == middleRelative) relButton.checked = true;
+
+ button.anchor = Anchor { top = 0 };
+ relButton.anchor = Anchor { top = 5, horz = 16 };
+ break;
+ case 2:
+ if(anchorValue.right.type && anchorValue.right.type != middleRelative) button.checked = true;
+ if(anchorValue.right.type == relative || anchorValue.horz.type == middleRelative) relButton.checked = true;
+
+ button.anchor = Anchor { right = 0 };
+ relButton.anchor = Anchor { right = 5, vert = 16 };
+ break;
+ case 3:
+ if(anchorValue.bottom.type && anchorValue.bottom.type != middleRelative) button.checked = true;
+ if(anchorValue.bottom.type == relative || anchorValue.vert.type == middleRelative) relButton.checked = true;
+
+ button.anchor = Anchor { bottom = 0 };
+ relButton.anchor = Anchor { bottom = 5, horz = 16 };
+ break;
+ }
+ }
+ anchorEditor.Create();
+ return anchorEditor;
+ }
+
+ void OnCloseDropDown(Window anchorEditor)
+ {
+ // TOFIX: Patch for update bug
+ master.Update(null);
+ anchorEditor.Destroy(0);
+ }
+
+ bool DataBox::NotifyTextEntry(AnchorDropBox dropBox, char * string, bool save)
+ {
+ Anchor anchor = dropBox.anchorValue;
+ Window control = dropBox.control;
+
+ if(save)
+ {
+ if(anchor.OnGetDataFromString(string))
+ {
+ SetData(&anchor, false);
+ dropBox.anchorValue = anchor;
+ }
+ }
+ else
+ {
+ char tempString[1024] = "";
+ bool needClass = false;
+ char * string = anchor.OnGetString(tempString, null, &needClass);
+ dropBox.contents = string;
+ }
+ return true;
+ }
+}
+
+---tokens---
+'namespace' Keyword
+' ' Text
+'gui' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'import' Keyword
+' ' Text
+'"' Literal.String
+'Window' Literal.String
+'"' Literal.String
+'\n' Text
+
+'\n' Text
+
+'public' Keyword
+' ' Text
+'struct' Keyword
+' ' Text
+'AnchorValue' Name.Class
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'AnchorValueType' Name
+' ' Text
+'type' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'union' Keyword
+'\n ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'distance' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'float' Keyword.Type
+' ' Text
+'percent' Name
+';' Punctuation
+' \n ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'property' Keyword
+' ' Text
+'int' Keyword.Type
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'set' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'value' Name.Builtin
+';' Punctuation
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'offset' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'get' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'distance' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'property' Keyword
+' ' Text
+'double' Keyword.Type
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'set' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'value' Name.Builtin
+';' Punctuation
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'relative' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'get' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'(' Punctuation
+'double' Keyword.Type
+')' Punctuation
+' ' Text
+'percent' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'OnGetString' Name
+'(' Punctuation
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'void' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'fieldData' Name
+',' Punctuation
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'needClass' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'sprintf' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'%d' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'distance' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'c' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'last' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sprintf' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'%f' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'percent' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'c' Name
+' ' Text
+'=' Operator
+' ' Text
+'strlen' Name
+'(' Punctuation
+'stringOutput' Name
+')' Punctuation
+'-1' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+'(' Punctuation
+' ' Text
+';' Punctuation
+' ' Text
+'c' Name
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'c' Name
+'-' Operator
+'-' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+']' Punctuation
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'0' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+' \n ' Text
+'last' Name
+' ' Text
+'=' Operator
+' ' Text
+'Max' Name
+'(' Punctuation
+'last' Name
+',' Punctuation
+' ' Text
+'c' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+']' Punctuation
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'.' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'last' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'c' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+'+' Operator
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+'+' Operator
+'2' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'stringOutput' Name
+'[' Punctuation
+'last' Name
+'+' Operator
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'needClass' Name
+')' Punctuation
+' ' Text
+'*' Operator
+'needClass' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'stringOutput' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'OnGetDataFromString' Name
+'(' Punctuation
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'stringOutput' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'end' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'strchr' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+"'" Literal.String.Char
+'.' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'float' Keyword.Type
+' ' Text
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'strtod' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'&' Operator
+'end' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' \n ' Text
+'if' Keyword
+'(' Punctuation
+'end' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'stringOutput' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'this' Name.Builtin
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'percent' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'relative' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'strtol' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'&' Operator
+'end' Name
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'end' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'stringOutput' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'this' Name.Builtin
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'distance' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'offset' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'public' Keyword
+' ' Text
+'struct' Keyword
+' ' Text
+'MiddleAnchorValue' Name.Class
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'AnchorValueType' Name
+' ' Text
+'type' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'union' Keyword
+'\n ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'distance' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'float' Keyword.Type
+' ' Text
+'percent' Name
+';' Punctuation
+' \n ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'property' Keyword
+' ' Text
+'int' Keyword.Type
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'set' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'value' Name.Builtin
+';' Punctuation
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'none' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'get' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'distance' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'property' Keyword
+' ' Text
+'double' Keyword.Type
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'set' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'value' Name.Builtin
+';' Punctuation
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'middleRelative' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'get' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'return' Keyword
+' ' Text
+'(' Punctuation
+'double' Keyword.Type
+')' Punctuation
+' ' Text
+'percent' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'OnGetString' Name
+'(' Punctuation
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'void' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'fieldData' Name
+',' Punctuation
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'needClass' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'c' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'last' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'sprintf' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'%f' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'percent' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'c' Name
+' ' Text
+'=' Operator
+' ' Text
+'strlen' Name
+'(' Punctuation
+'stringOutput' Name
+')' Punctuation
+'-1' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+'(' Punctuation
+' ' Text
+';' Punctuation
+' ' Text
+'c' Name
+' ' Text
+'>' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'c' Name
+'-' Operator
+'-' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+']' Punctuation
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'0' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+' \n ' Text
+'last' Name
+' ' Text
+'=' Operator
+' ' Text
+'Max' Name
+'(' Punctuation
+'last' Name
+',' Punctuation
+' ' Text
+'c' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+']' Punctuation
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'.' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'last' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'c' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+'+' Operator
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'stringOutput' Name
+'[' Punctuation
+'c' Name
+'+' Operator
+'2' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'stringOutput' Name
+'[' Punctuation
+'last' Name
+'+' Operator
+'1' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'none' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'distance' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'sprintf' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'%d' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'distance' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'needClass' Name
+')' Punctuation
+' ' Text
+'*' Operator
+'needClass' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'stringOutput' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'OnGetDataFromString' Name
+'(' Punctuation
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'stringOutput' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'strchr' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+"'" Literal.String.Char
+'.' Literal.String.Char
+"'" Literal.String.Char
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'strtod' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'middleRelative' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'strtol' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'0' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'none' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'public' Keyword
+' ' Text
+'enum' Keyword
+' ' Text
+'AnchorValueType' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'none' Name
+',' Punctuation
+' ' Text
+'offset' Name
+',' Punctuation
+' ' Text
+'relative' Name
+',' Punctuation
+' ' Text
+'middleRelative' Name
+',' Punctuation
+' ' Text
+'cascade' Name
+',' Punctuation
+' ' Text
+'vTiled' Name
+',' Punctuation
+' ' Text
+'hTiled' Name
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'public' Keyword
+' ' Text
+'struct' Keyword
+' ' Text
+'Anchor' Name.Class
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'union' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'AnchorValue' Name
+' ' Text
+'left' Name
+';' Punctuation
+' ' Text
+'MiddleAnchorValue' Name
+' ' Text
+'horz' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'union' Keyword
+' ' Text
+'{' Punctuation
+' ' Text
+'AnchorValue' Name
+' ' Text
+'top' Name
+';' Punctuation
+' ' Text
+'MiddleAnchorValue' Name
+' ' Text
+'vert' Name
+';' Punctuation
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'AnchorValue' Name
+' ' Text
+'right' Name
+',' Punctuation
+' ' Text
+'bottom' Name
+';' Punctuation
+' \n\n ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'OnGetString' Name.Function
+'(' Punctuation
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'void' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'fieldData' Name
+',' Punctuation
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'needClass' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'tempString' Name
+'[' Punctuation
+'256' Literal.Number.Integer
+']' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'anchorValue' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'subNeedClass' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'tempString' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'\\0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'left' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'subNeedClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+', ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'left = ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'anchorValue' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' \n ' Text
+'//if(((!left.type && !right.type) && horz.distance) || horz.type == middleRelative)\n' Comment.Single
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'(' Punctuation
+'(' Punctuation
+'!' Operator
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'horz' Name
+'.' Punctuation
+'distance' Name
+')' Punctuation
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'tempString' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'\\0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'horz' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'subNeedClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+', ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'horz = ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'anchorValue' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' \n ' Text
+'tempString' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'\\0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'top' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'subNeedClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+', ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'top = ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'anchorValue' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' \n ' Text
+'tempString' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'\\0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'right' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'subNeedClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+', ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'right = ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'anchorValue' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'// if(((!top.type && !bottom.type) && vert.distance) || vert.type == middleRelative)\n' Comment.Single
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'(' Punctuation
+'(' Punctuation
+'!' Operator
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'vert' Name
+'.' Punctuation
+'distance' Name
+')' Punctuation
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'tempString' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'\\0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'vert' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'subNeedClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+', ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'vert = ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'anchorValue' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' \n ' Text
+'tempString' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+"'" Literal.String.Char
+'\\0' Literal.String.Char
+"'" Literal.String.Char
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'bottom' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'subNeedClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'{' Punctuation
+' ' Text
+'if' Keyword
+'(' Punctuation
+'stringOutput' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+')' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+', ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'"' Literal.String
+'bottom = ' Literal.String
+'"' Literal.String
+')' Punctuation
+';' Punctuation
+' ' Text
+'strcat' Name
+'(' Punctuation
+'stringOutput' Name
+',' Punctuation
+' ' Text
+'anchorValue' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' \n ' Text
+'return' Keyword
+' ' Text
+'stringOutput' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'OnGetDataFromString' Name.Function
+'(' Punctuation
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'string' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'this' Name.Builtin
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'class' Keyword
+':' Operator
+':' Operator
+'OnGetDataFromString' Name
+'(' Punctuation
+'string' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'OnSaveEdit' Name.Function
+'(' Punctuation
+'DropBox' Name
+' ' Text
+'dropBox' Name
+',' Punctuation
+' ' Text
+'void' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'object' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'dropBox' Name
+'.' Punctuation
+'Save' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'OnEdit' Name.Function
+'(' Punctuation
+'Window' Name
+' ' Text
+'listBox' Name
+',' Punctuation
+' ' Text
+'Window' Name
+' ' Text
+'master' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'y' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'w' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'h' Name
+',' Punctuation
+' ' Text
+'Window' Name
+' ' Text
+'control' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'string' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'AnchorDropBox' Name
+' ' Text
+'comboBox' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'editText' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'parent' Name
+' ' Text
+'=' Operator
+' ' Text
+'listBox' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'master' Name
+' ' Text
+'=' Operator
+' ' Text
+'master' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'position' Name
+' ' Text
+'=' Operator
+' ' Text
+'Point' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'y' Name
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//clientSize = Size { h = h };\n' Comment.Single
+
+' ' Text
+'//size.w = w;\n' Comment.Single
+
+' ' Text
+'size' Name
+' ' Text
+'=' Operator
+' ' Text
+'{' Punctuation
+' ' Text
+'w' Name
+',' Punctuation
+' ' Text
+'h' Name
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'this' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'control' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'borderStyle' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' \n ' Text
+'comboBox' Name
+'.' Punctuation
+'Create' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'tempString' Name
+'[' Punctuation
+'MAX_F_STRING' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'needClass' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'result' Name
+' ' Text
+'=' Operator
+' ' Text
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'needClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'result' Name
+')' Punctuation
+' ' Text
+'string' Name
+' ' Text
+'=' Operator
+' ' Text
+'result' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'comboBox' Name
+'.' Punctuation
+'contents' Name
+' ' Text
+'=' Operator
+' ' Text
+'string' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'comboBox' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+'private' Keyword
+' ' Text
+'class' Keyword
+' ' Text
+'AnchorButton' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'Button' Name
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'toggle' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+',' Punctuation
+' ' Text
+'bevel' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'void' Keyword.Type
+' ' Text
+'OnRedraw' Name.Function
+'(' Punctuation
+'Surface' Name
+' ' Text
+'surface' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'cw' Name
+' ' Text
+'=' Operator
+' ' Text
+'clientSize' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'ch' Name
+' ' Text
+'=' Operator
+' ' Text
+'clientSize' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'SetForeground' Name
+'(' Punctuation
+'black' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'checked' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'SetBackground' Name
+'(' Punctuation
+'Color' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'85' Literal.Number.Integer
+',' Punctuation
+'85' Literal.Number.Integer
+',' Punctuation
+'85' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'Area' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Punctuation
+'0' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'cw' Name
+'-1' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'ch' Name
+'-1' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'LineStipple' Name
+'(' Punctuation
+'0xAAAA' Literal.Number.Hex
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'Rectangle' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+',' Punctuation
+'0' Literal.Number.Integer
+',' Punctuation
+'cw' Name
+'-1' Literal.Number.Integer
+',' Punctuation
+'ch' Name
+'-1' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'active' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'LineStipple' Name
+'(' Punctuation
+'0xAAAA' Literal.Number.Hex
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'Rectangle' Name
+'(' Punctuation
+'2' Literal.Number.Integer
+',' Punctuation
+'2' Literal.Number.Integer
+',' Punctuation
+'cw' Name
+'-3' Literal.Number.Integer
+',' Punctuation
+'ch' Name
+'-3' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'AnchorEditor' Name
+':' Operator
+':' Operator
+'NotifyClicked' Name
+'(' Punctuation
+'Button' Name
+' ' Text
+'button' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'y' Name
+',' Punctuation
+' ' Text
+'Modifiers' Name
+' ' Text
+'mods' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'AnchorDropBox' Name
+' ' Text
+'anchorDropBox' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'AnchorDropBox' Name
+')' Punctuation
+'master' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Anchor' Name
+' ' Text
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'anchorValue' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'control' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'control' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'DataBox' Name
+' ' Text
+'dropMaster' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'DataBox' Name
+')' Punctuation
+'anchorDropBox' Name
+'.' Punctuation
+'master' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'id' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'switch' Keyword
+'(' Punctuation
+'id' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'0' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'1' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'2' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'3' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'(' Punctuation
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'0' Literal.Number.Integer
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'2' Literal.Number.Integer
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'(' Punctuation
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'3' Literal.Number.Integer
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'1' Literal.Number.Integer
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'3' Literal.Number.Integer
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'id' Name
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'//anchor.horz.type = none;\n' Comment.Single
+
+' ' Text
+'//anchor.vert.type = none;\n' Comment.Single
+
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'vpw' Name
+',' Punctuation
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'x' Name
+',' Punctuation
+'y' Name
+',' Punctuation
+'w' Name
+',' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'parent' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'parent' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'// Fix Anchor\n' Comment.Single
+
+' ' Text
+'x' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'position' Name
+'.' Punctuation
+'x' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'y' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'position' Name
+'.' Punctuation
+'y' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'w' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'h' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'vpw' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'clientSize' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'vph' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'clientSize' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'control' Name
+'.' Punctuation
+'nonClient' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'vpw' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'vph' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'(' Punctuation
+'(' Punctuation
+'BorderBits' Name
+')' Punctuation
+'control' Name
+'.' Punctuation
+'borderStyle' Name
+')' Punctuation
+'.' Punctuation
+'fixed' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'control' Name
+'.' Punctuation
+'dontScrollHorz' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'w' Name
+')' Punctuation
+' ' Text
+'vpw' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'control' Name
+'.' Punctuation
+'dontScrollVert' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'h' Name
+')' Punctuation
+' ' Text
+'vph' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'x' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'x' Name
+' ' Text
+'/' Operator
+' ' Text
+'vpw' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'y' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'y' Name
+' ' Text
+'/' Operator
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'vpw' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//else if(anchor.right.type == relative) anchor.right.percent = (float) (x + w) / vpw;\n' Comment.Single
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'(' Punctuation
+'vpw' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vpw' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'vph' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (y + h) / vph;\n' Comment.Single
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'(' Punctuation
+'vph' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vpw' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//anchor.horz.type = anchor.horz.distance ? offset : 0;\n' Comment.Single
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'(' Punctuation
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vpw' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vpw' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vph' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//anchor.vert.type = anchor.vert.distance ? offset : 0;\n' Comment.Single
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'(' Punctuation
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vph' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'tempString' Name
+'[' Punctuation
+'1024' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'needClass' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'string' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'needClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'contents' Name
+' ' Text
+'=' Operator
+' ' Text
+'string' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'dropMaster' Name
+'.' Punctuation
+'SetData' Name
+'(' Punctuation
+'&' Operator
+'anchor' Name
+',' Punctuation
+' ' Text
+'false' Name.Builtin
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchor' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'private' Keyword
+' ' Text
+'class' Keyword
+' ' Text
+'AnchorRelButton' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'Button' Name
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'toggle' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'bevel' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'text' Name
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'%' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//bevelOver = true;\n' Comment.Single
+
+'\n' Text
+
+' ' Text
+'void' Keyword.Type
+' ' Text
+'OnRedraw' Name.Function
+'(' Punctuation
+'Surface' Name
+' ' Text
+'surface' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'cw' Name
+' ' Text
+'=' Operator
+' ' Text
+'clientSize' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'ch' Name
+' ' Text
+'=' Operator
+' ' Text
+'clientSize' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' \n ' Text
+'if' Keyword
+'(' Punctuation
+'checked' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'SetForeground' Name
+'(' Punctuation
+'black' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'SetForeground' Name
+'(' Punctuation
+'Color' Name
+'{' Punctuation
+'170' Literal.Number.Integer
+',' Punctuation
+'170' Literal.Number.Integer
+',' Punctuation
+'170' Literal.Number.Integer
+'}' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'WriteText' Name
+'(' Punctuation
+'5' Literal.Number.Integer
+',' Punctuation
+'2' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'"' Literal.String
+'%' Literal.String
+'"' Literal.String
+',' Punctuation
+' ' Text
+'1' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'active' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'LineStipple' Name
+'(' Punctuation
+'0xAAAA' Literal.Number.Hex
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'surface' Name
+'.' Punctuation
+'Rectangle' Name
+'(' Punctuation
+'3' Literal.Number.Integer
+',' Punctuation
+'3' Literal.Number.Integer
+',' Punctuation
+'cw' Name
+'-4' Literal.Number.Integer
+',' Punctuation
+'ch' Name
+'-4' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'AnchorEditor' Name
+':' Operator
+':' Operator
+'NotifyClicked' Name
+'(' Punctuation
+'Button' Name
+' ' Text
+'button' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'x' Name
+',' Punctuation
+' ' Text
+'int' Keyword.Type
+' ' Text
+'y' Name
+',' Punctuation
+' ' Text
+'Modifiers' Name
+' ' Text
+'mods' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'AnchorDropBox' Name
+' ' Text
+'anchorDropBox' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'AnchorDropBox' Name
+')' Punctuation
+'master' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Anchor' Name
+' ' Text
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'anchorValue' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'control' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'control' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'DataBox' Name
+' ' Text
+'dropMaster' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'DataBox' Name
+')' Punctuation
+'anchorDropBox' Name
+'.' Punctuation
+'master' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'id' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'(' Punctuation
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'(' Punctuation
+'(' Punctuation
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+')' Punctuation
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'button' Name
+'.' Punctuation
+'checked' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'middleRelative' Name
+';' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'none' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'(' Punctuation
+'id' Name
+' ' Text
+'+' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+'%' Operator
+'4' Literal.Number.Integer
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'(' Punctuation
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'1' Literal.Number.Integer
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'3' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'(' Punctuation
+'(' Punctuation
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+')' Punctuation
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'button' Name
+'.' Punctuation
+'checked' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'middleRelative' Name
+';' Punctuation
+' ' Text
+'else' Keyword
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'none' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'relButtons' Name
+'[' Punctuation
+'(' Punctuation
+'id' Name
+' ' Text
+'+' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+'%' Operator
+'4' Literal.Number.Integer
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'switch' Keyword
+'(' Punctuation
+'id' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'0' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'relative' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'1' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'relative' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'2' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'relative' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'3' Literal.Number.Integer
+':' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'?' Operator
+' ' Text
+'relative' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'?' Operator
+' ' Text
+'offset' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'none' Name
+')' Punctuation
+';' Punctuation
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'buttons' Name
+'[' Punctuation
+'id' Name
+']' Punctuation
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'none' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+' ' Text
+'none' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'vpw' Name
+',' Punctuation
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'x' Name
+',' Punctuation
+'y' Name
+',' Punctuation
+'w' Name
+',' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'parent' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'parent' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'// Fix Anchor\n' Comment.Single
+
+' ' Text
+'x' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'position' Name
+'.' Punctuation
+'x' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'y' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'position' Name
+'.' Punctuation
+'y' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'w' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'h' Name
+' ' Text
+'=' Operator
+' ' Text
+'control' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'vpw' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'clientSize' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'vph' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'clientSize' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'control' Name
+'.' Punctuation
+'nonClient' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'vpw' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'vph' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'size' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'(' Punctuation
+'(' Punctuation
+'BorderBits' Name
+')' Punctuation
+'control' Name
+'.' Punctuation
+'borderStyle' Name
+')' Punctuation
+'.' Punctuation
+'fixed' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'control' Name
+'.' Punctuation
+'dontScrollHorz' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'w' Name
+')' Punctuation
+' ' Text
+'vpw' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'w' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'control' Name
+'.' Punctuation
+'dontScrollVert' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'h' Name
+')' Punctuation
+' ' Text
+'vph' Name
+' ' Text
+'=' Operator
+' ' Text
+'parent' Name
+'.' Punctuation
+'scrollArea' Name
+'.' Punctuation
+'h' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'x' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'x' Name
+' ' Text
+'/' Operator
+' ' Text
+'vpw' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'y' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'y' Name
+' ' Text
+'/' Operator
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'vpw' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//else if(anchor.right.type == relative) anchor.right.percent = (float) (x + w) / vpw;\n' Comment.Single
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'(' Punctuation
+'vpw' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vpw' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'offset' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'vph' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//else if(anchor.bottom.type == relative) anchor.bottom.percent = (float) (y + h) / vph;\n' Comment.Single
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Name.Function
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'(' Punctuation
+'vph' Name
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vpw' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//anchor.horz.type = anchor.horz.distance ? offset : none;\n' Comment.Single
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+' ' Text
+'(' Punctuation
+'(' Punctuation
+'x' Name
+' ' Text
+'+' Operator
+' ' Text
+'w' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vpw' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vpw' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'!' Operator
+'anchor' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+')' Punctuation
+' \n ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'distance' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vph' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'//anchor.vert.type = anchor.vert.distance ? offset : none;\n' Comment.Single
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'anchor' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'percent' Name
+' ' Text
+'=' Operator
+' ' Text
+'(' Punctuation
+'float' Keyword.Type
+')' Punctuation
+'(' Punctuation
+'(' Punctuation
+'y' Name
+' ' Text
+'+' Operator
+' ' Text
+'h' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+' ' Text
+'-' Operator
+' ' Text
+'(' Punctuation
+'vph' Name
+' ' Text
+'/' Operator
+' ' Text
+'2' Literal.Number.Integer
+')' Punctuation
+')' Punctuation
+' ' Text
+'/' Operator
+' ' Text
+'vph' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'tempString' Name
+'[' Punctuation
+'1024' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'needClass' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'string' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'needClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'contents' Name
+' ' Text
+'=' Operator
+' ' Text
+'string' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'dropMaster' Name
+'.' Punctuation
+'SetData' Name
+'(' Punctuation
+'&' Operator
+'anchor' Name
+',' Punctuation
+' ' Text
+'false' Name.Builtin
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorDropBox' Name
+'.' Punctuation
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchor' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'private' Keyword
+' ' Text
+'class' Keyword
+' ' Text
+'AnchorEditor' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'Window' Name
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'interim' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'borderStyle' Name
+' ' Text
+'=' Operator
+' ' Text
+'deepContour' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'size' Name
+'.' Punctuation
+'h' Name
+' ' Text
+'=' Operator
+' ' Text
+'92' Literal.Number.Integer
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'OnKeyDown' Name.Function
+'(' Punctuation
+'Key' Name
+' ' Text
+'key' Name
+',' Punctuation
+' ' Text
+'unichar' Keyword.Type
+' ' Text
+'ch' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'key' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'escape' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'master' Name
+'.' Punctuation
+'OnKeyDown' Name
+'(' Punctuation
+'key' Name
+',' Punctuation
+' ' Text
+'ch' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+'private' Keyword
+' ' Text
+'class' Keyword
+' ' Text
+'AnchorDropBox' Name.Label
+' ' Text
+':' Punctuation
+' ' Text
+'DropBox' Name
+'\n' Text
+
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Anchor' Name
+' ' Text
+'anchorValue' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'control' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Button' Name
+' ' Text
+'relButtons' Name
+'[' Punctuation
+'4' Literal.Number.Integer
+']' Punctuation
+',' Punctuation
+' ' Text
+'buttons' Name
+'[' Punctuation
+'4' Literal.Number.Integer
+']' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'AnchorEditor' Name
+' ' Text
+'anchorEditor' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'master' Name
+' ' Text
+'=' Operator
+' ' Text
+'this' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'autoCreate' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'OnDropDown' Name.Function
+'(' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'int' Keyword.Type
+' ' Text
+'c' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Button' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchorEditor' Name
+',' Punctuation
+'\n' Text
+
+' ' Text
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'left' Name
+' ' Text
+'=' Operator
+' ' Text
+'28' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'top' Name
+' ' Text
+'=' Operator
+' ' Text
+'28' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'right' Name
+' ' Text
+'=' Operator
+' ' Text
+'28' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'bottom' Name
+' ' Text
+'=' Operator
+' ' Text
+'28' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+',' Punctuation
+'\n' Text
+
+' ' Text
+'inactive' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+',' Punctuation
+' ' Text
+'disabled' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+'\n' Text
+
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'for' Keyword
+'(' Punctuation
+'c' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'c' Name
+'<' Operator
+'4' Literal.Number.Integer
+';' Punctuation
+' ' Text
+'c' Name
+'+' Operator
+'+' Operator
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Button' Name
+' ' Text
+'button' Name
+' ' Text
+'=' Operator
+' ' Text
+'buttons' Name
+'[' Punctuation
+'c' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'AnchorButton' Name
+' \n ' Text
+'{' Punctuation
+' \n ' Text
+'anchorEditor' Name
+',' Punctuation
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+' ' Text
+'c' Name
+',' Punctuation
+'\n' Text
+
+' ' Text
+'size' Name
+' ' Text
+'=' Operator
+' ' Text
+'Size' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'(' Punctuation
+'c' Name
+'%' Operator
+'2' Literal.Number.Integer
+')' Punctuation
+'?' Operator
+'10' Literal.Number.Integer
+':' Operator
+'28' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'(' Punctuation
+'c' Name
+'%' Operator
+'2' Literal.Number.Integer
+')' Punctuation
+'?' Operator
+'28' Literal.Number.Integer
+':' Operator
+'10' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Button' Name
+' ' Text
+'relButton' Name
+' ' Text
+'=' Operator
+' ' Text
+'relButtons' Name
+'[' Punctuation
+'c' Name
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'AnchorRelButton' Name
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'anchorEditor' Name
+',' Punctuation
+' ' Text
+'id' Name
+' ' Text
+'=' Operator
+' ' Text
+'c' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'switch' Keyword
+'(' Punctuation
+'c' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'0' Literal.Number.Integer
+':' Operator
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'left' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'relButton' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' \n ' Text
+'button' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'left' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'relButton' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'left' Name
+' ' Text
+'=' Operator
+' ' Text
+'5' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'vert' Name
+' ' Text
+'=' Operator
+' ' Text
+'16' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'1' Literal.Number.Integer
+':' Operator
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'top' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'relButton' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'button' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'top' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'relButton' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'top' Name
+' ' Text
+'=' Operator
+' ' Text
+'5' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'horz' Name
+' ' Text
+'=' Operator
+' ' Text
+'16' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'2' Literal.Number.Integer
+':' Operator
+' \n ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'right' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'horz' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'relButton' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' \n ' Text
+'button' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'right' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'relButton' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'right' Name
+' ' Text
+'=' Operator
+' ' Text
+'5' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'vert' Name
+' ' Text
+'=' Operator
+' ' Text
+'16' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'case' Keyword
+' ' Text
+'3' Literal.Number.Integer
+':' Operator
+' \n ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'&' Operator
+'&' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'!' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'button' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchorValue' Name
+'.' Punctuation
+'bottom' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'relative' Name
+' ' Text
+'|' Operator
+'|' Operator
+' ' Text
+'anchorValue' Name
+'.' Punctuation
+'vert' Name
+'.' Punctuation
+'type' Name
+' ' Text
+'=' Operator
+'=' Operator
+' ' Text
+'middleRelative' Name
+')' Punctuation
+' ' Text
+'relButton' Name
+'.' Punctuation
+'checked' Name
+' ' Text
+'=' Operator
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'button' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'bottom' Name
+' ' Text
+'=' Operator
+' ' Text
+'0' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'relButton' Name
+'.' Punctuation
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'Anchor' Name
+' ' Text
+'{' Punctuation
+' ' Text
+'bottom' Name
+' ' Text
+'=' Operator
+' ' Text
+'5' Literal.Number.Integer
+',' Punctuation
+' ' Text
+'horz' Name
+' ' Text
+'=' Operator
+' ' Text
+'16' Literal.Number.Integer
+' ' Text
+'}' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'break' Keyword
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'anchorEditor' Name
+'.' Punctuation
+'Create' Name
+'(' Punctuation
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'anchorEditor' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' \n ' Text
+'void' Keyword.Type
+' ' Text
+'OnCloseDropDown' Name.Function
+'(' Punctuation
+'Window' Name
+' ' Text
+'anchorEditor' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'// TOFIX: Patch for update bug\n' Comment.Single
+
+' ' Text
+'master' Name
+'.' Punctuation
+'Update' Name
+'(' Punctuation
+'null' Name.Builtin
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'anchorEditor' Name
+'.' Punctuation
+'Destroy' Name
+'(' Punctuation
+'0' Literal.Number.Integer
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'DataBox' Name
+':' Operator
+':' Operator
+'NotifyTextEntry' Name
+'(' Punctuation
+'AnchorDropBox' Name
+' ' Text
+'dropBox' Name
+',' Punctuation
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'string' Name
+',' Punctuation
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'save' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'Anchor' Name
+' ' Text
+'anchor' Name
+' ' Text
+'=' Operator
+' ' Text
+'dropBox' Name
+'.' Punctuation
+'anchorValue' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'Window' Name
+' ' Text
+'control' Name
+' ' Text
+'=' Operator
+' ' Text
+'dropBox' Name
+'.' Punctuation
+'control' Name
+';' Punctuation
+'\n' Text
+
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'save' Name
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'if' Keyword
+'(' Punctuation
+'anchor' Name
+'.' Punctuation
+'OnGetDataFromString' Name
+'(' Punctuation
+'string' Name
+')' Punctuation
+')' Punctuation
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'SetData' Name
+'(' Punctuation
+'&' Operator
+'anchor' Name
+',' Punctuation
+' ' Text
+'false' Name.Builtin
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'dropBox' Name
+'.' Punctuation
+'anchorValue' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchor' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'else' Keyword
+'\n' Text
+
+' ' Text
+'{' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'tempString' Name
+'[' Punctuation
+'1024' Literal.Number.Integer
+']' Punctuation
+' ' Text
+'=' Operator
+' ' Text
+'"' Literal.String
+'"' Literal.String
+';' Punctuation
+'\n' Text
+
+' ' Text
+'bool' Keyword.Type
+' ' Text
+'needClass' Name
+' ' Text
+'=' Operator
+' ' Text
+'false' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'char' Keyword.Type
+' ' Text
+'*' Operator
+' ' Text
+'string' Name
+' ' Text
+'=' Operator
+' ' Text
+'anchor' Name
+'.' Punctuation
+'OnGetString' Name
+'(' Punctuation
+'tempString' Name
+',' Punctuation
+' ' Text
+'null' Name.Builtin
+',' Punctuation
+' ' Text
+'&' Operator
+'needClass' Name
+')' Punctuation
+';' Punctuation
+'\n' Text
+
+' ' Text
+'dropBox' Name
+'.' Punctuation
+'contents' Name
+' ' Text
+'=' Operator
+' ' Text
+'string' Name
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+' ' Text
+'return' Keyword
+' ' Text
+'true' Name.Builtin
+';' Punctuation
+'\n' Text
+
+' ' Text
+'}' Punctuation
+'\n' Text
+
+'}' Punctuation
+'\n' Text