summaryrefslogtreecommitdiff
path: root/tests/examplefiles
diff options
context:
space:
mode:
authorDanBarkus <daniel.barkus@gmail.com>2021-07-18 04:47:16 -0400
committerGitHub <noreply@github.com>2021-07-18 10:47:16 +0200
commit710cac79c34412e551a4a92bcd7dd07d5d770922 (patch)
tree2558d11a13d337f161148c01c25e5a340a272487 /tests/examplefiles
parentfe572dcec9182f998a1961bc99531f39aa88f041 (diff)
downloadpygments-git-710cac79c34412e551a4a92bcd7dd07d5d770922.tar.gz
Added GSQL lexer (#1809)
* Added GSQL lexer * encased keywords in 'words' function added link to language reference * added additional word functions
Diffstat (limited to 'tests/examplefiles')
-rwxr-xr-xtests/examplefiles/gsql/test.gsql223
-rw-r--r--tests/examplefiles/gsql/test.gsql.output1503
2 files changed, 1726 insertions, 0 deletions
diff --git a/tests/examplefiles/gsql/test.gsql b/tests/examplefiles/gsql/test.gsql
new file mode 100755
index 00000000..c65ab930
--- /dev/null
+++ b/tests/examplefiles/gsql/test.gsql
@@ -0,0 +1,223 @@
+CREATE QUERY Member_Likeness(VERTEX <motionMember> m1, STRING inDate) FOR GRAPH motionData {
+ # TYPEDEF TUPLE <x FLOAT, y FLOAT> XYPair;
+ MapAccum<VERTEX<motionMember>, MapAccum<STRING, FLOAT>> @@likenessAccum;
+ MapAccum<VERTEX<motionMember>, FLOAT> @@BirthYearAccum;
+ MapAccum<VERTEX<motionMember>, FLOAT> @@HeightAccum;
+ MapAccum<VERTEX<motionMember>, FLOAT> @@WeightAccum;
+ ListAccum<VERTEX<location>> @@MemLocAccum;
+ MapAccum<VERTEX<motionMember>, FLOAT> @@LocAccum;
+ MapAccum<VERTEX<motionMember>, BagAccum<VERTEX<incentive>>> @@DayIncentives;
+ MapAccum<VERTEX<motionMember>, MapAccum<STRING, FLOAT>> @@MemberStats;
+ BagAccum<VERTEX<incentive>> @MemberIncentives;
+ AvgAccum @@StepsAccum;
+ AvgAccum @@BoutsAccum;
+ AvgAccum @@MilesAccum;
+
+ # Universal Vars
+ INT lastMax = 0;
+ INT lastMin = 1000;
+ FLOAT mult;
+
+ # Age Vars
+ INT ageRange;
+ INT birthYear;
+
+ # Height Vars
+ INT heightRange;
+ INT height;
+
+ # Height Vars
+ INT weightRange;
+ INT weight;
+
+ # Location Vars
+ FLOAT locRange;
+ VERTEX memLoc;
+
+ # Activity Vars
+ DATETIME lastRecording;
+
+ # lastRecording = to_datetime("2018-05-19");
+ lastRecording = to_datetime(inDate);
+
+ /*
+
+ test comment block
+
+ */
+
+
+ members = {motionMember.*};
+
+ birthYear = Get_Birth_Year(m1);
+ height = m1.Height;
+ weight = m1.Weight;
+ temp = SELECT loc FROM members:member -(:e) - location: loc
+ WHERE member == m1
+ ACCUM
+ @@MemLocAccum += loc;
+ FOREACH loc in @@MemLocAccum DO
+ memLoc = loc;
+ END;
+
+ PRINT memLoc;
+ PRINT birthYear;
+ PRINT height;
+ PRINT weight;
+
+ results = SELECT member FROM members:member
+ ACCUM
+ @@BirthYearAccum += (member -> abs(Get_Birth_Year(member) - birthYear));
+
+ FOREACH (member,bys) in @@BirthYearAccum DO
+ IF bys > lastMax THEN
+ lastMax = bys;
+ END;
+ IF bys < lastMin THEN
+ lastMin = bys;
+ END;
+ END;
+
+ ageRange = lastMax - lastMin;
+ print ageRange;
+ mult = 1.0/ageRange;
+
+
+ FOREACH (member,bys) in @@BirthYearAccum DO
+ bys = 1 - bys * mult;
+ @@likenessAccum += (member -> ("age" -> bys));
+ END;
+
+ lastMax = 0;
+ lastMin = 1000;
+ mult = 0;
+
+ results = SELECT member FROM members:member
+ ACCUM
+ @@HeightAccum += (member -> abs(member.Height - height));
+
+ FOREACH (member,heights) in @@HeightAccum DO
+ IF heights < height THEN
+ IF heights > lastMax THEN
+ lastMax = heights;
+ END;
+ IF heights < lastMin THEN
+ lastMin = heights;
+ END;
+ END;
+ END;
+
+ heightRange = lastMax - lastMin;
+ print heightRange;
+ mult = 1.0/heightRange;
+
+
+ FOREACH (member,heights) in @@HeightAccum DO
+ IF heights < height THEN
+ heights = 1 - heights * mult;
+ ELSE
+ heights = 0;
+ END;
+ @@likenessAccum += (member -> ("height" -> heights));
+ END;
+
+ lastMax = 0;
+ lastMin = 1000;
+ mult = 0;
+
+ results = SELECT member FROM members:member
+ ACCUM
+ @@WeightAccum += (member -> abs(member.Weight - weight));
+
+ FOREACH (member,weights) in @@WeightAccum DO
+ IF weights < weight THEN
+ IF weights > lastMax THEN
+ lastMax = weights;
+ END;
+ IF weights < lastMin THEN
+ lastMin = weights;
+ END;
+ END;
+ END;
+
+ weightRange = lastMax - lastMin;
+ print weightRange;
+ mult = 1.0/weightRange;
+
+
+ FOREACH (member,weights) in @@WeightAccum DO
+ IF weights < weight THEN
+ weights = 1 - weights * mult;
+ ELSE
+ weights = 0;
+ END;
+ @@likenessAccum += (member -> ("weight" -> weights));
+ END;
+
+ lastMax = 0;
+ lastMin = 1000;
+ mult = 0;
+
+ resultsLoc = SELECT loc FROM members:member -(:e) - location: loc
+ ACCUM
+ @@LocAccum += (member -> Check_Distance(loc,memLoc));
+ FOREACH (member,loc) in @@LocAccum DO
+ IF loc < 5800 THEN
+ IF loc > lastMax THEN
+ lastMax = ceil(loc);
+ END;
+ IF loc < lastMin THEN
+ lastMin = floor(loc);
+ END;
+ END;
+ END;
+
+ PRINT lastMax;
+ PRINT lastMin;
+
+ locRange = lastMax - lastMin;
+ print locRange;
+ mult = 1.0/locRange;
+
+ FOREACH (member,loc) in @@LocAccum DO
+ IF loc > 5800 THEN
+ loc = -1;
+ ELSE
+ loc = 1 - loc * mult;
+ END;
+ @@likenessAccum += (member -> ("distance" -> loc));
+ END;
+
+ lastMax = 0;
+ lastMin = 1000;
+ mult = 0;
+
+ incentives = {incentive.*};
+
+ incentives = SELECT incent FROM incentives:incent - (:e) - lookupRule:rule WHERE
+ rule.RuleName == "Tenacity" AND incent.IncentiveDate > datetime_sub(lastRecording, INTERVAL 1 MONTH) AND incent.IncentiveDate < lastRecording;
+
+ members = SELECT member FROM incentives:incent - (:e) - motionMember:member
+ ACCUM
+ @@DayIncentives += (member -> (incent));
+
+ FOREACH (member, incent) IN @@DayIncentives DO
+ @@StepsAccum = 0;
+ FOREACH Incentive IN incent DO
+ @@StepsAccum += Incentive.TotalSteps;
+ @@BoutsAccum += Incentive.TotalBouts;
+ @@MilesAccum += Incentive.Miles;
+ END;
+ @@MemberStats += (member -> ("stepsAvg" -> @@StepsAccum));
+ @@MemberStats += (member -> ("stepsSlope" -> Linear_Regression(incent, 1)));
+ # @@MemberStats += (member -> ("boutsAvg" -> @@BoutsAccum));
+ # @@MemberStats += (member -> ("boutsSlope" -> Linear_Regression(incent, 2)));
+ @@MemberStats += (member -> ("milesAvg" -> @@MilesAccum));
+ @@MemberStats += (member -> ("milesSlope" -> Linear_Regression(incent, 3)));
+ END;
+
+
+ PRINT @@MemberStats;
+ PRINT @@likenessAccum;
+
+} \ No newline at end of file
diff --git a/tests/examplefiles/gsql/test.gsql.output b/tests/examplefiles/gsql/test.gsql.output
new file mode 100644
index 00000000..58fbecaa
--- /dev/null
+++ b/tests/examplefiles/gsql/test.gsql.output
@@ -0,0 +1,1503 @@
+'CREATE' Keyword
+' ' Text.Whitespace
+'QUERY' Keyword
+' ' Text.Whitespace
+'Member_Likeness' Name
+'(' Operator
+'VERTEX' Keyword
+' ' Text.Whitespace
+'<motionMember>' Name.Constant
+' ' Text.Whitespace
+'m1' Name
+',' Operator
+' ' Text.Whitespace
+'STRING' Keyword
+' ' Text.Whitespace
+'inDate' Name
+')' Operator
+' ' Text.Whitespace
+'FOR' Keyword
+' ' Text.Whitespace
+'GRAPH' Keyword
+' ' Text.Whitespace
+'motionData' Name
+' ' Text.Whitespace
+'{' Punctuation
+' \n\t' Text.Whitespace
+'# TYPEDEF TUPLE <x FLOAT, y FLOAT> XYPair;\n' Comment.Single
+
+'\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>' Name.Constant
+',' Operator
+' ' Text.Whitespace
+'MapAccum' Keyword
+'<STRING, FLOAT>>' Name.Constant
+' ' Text.Whitespace
+'@@likenessAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' ' Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' ' Text.Whitespace
+'@@HeightAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' ' Text.Whitespace
+'@@WeightAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'ListAccum' Keyword
+'<VERTEX<location>>' Name.Constant
+' ' Text.Whitespace
+'@@MemLocAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>, FLOAT>' Name.Constant
+' ' Text.Whitespace
+'@@LocAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>' Name.Constant
+',' Operator
+' ' Text.Whitespace
+'BagAccum' Keyword
+'<VERTEX<incentive>>>' Name.Constant
+' ' Text.Whitespace
+'@@DayIncentives' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'MapAccum' Keyword
+'<VERTEX<motionMember>' Name.Constant
+',' Operator
+' ' Text.Whitespace
+'MapAccum' Keyword
+'<STRING, FLOAT>>' Name.Constant
+' ' Text.Whitespace
+'@@MemberStats' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'BagAccum' Keyword
+'<VERTEX<incentive>>' Name.Constant
+' ' Text.Whitespace
+'@MemberIncentives' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'AvgAccum' Keyword
+' ' Text.Whitespace
+'@@StepsAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'AvgAccum' Keyword
+' ' Text.Whitespace
+'@@BoutsAccum' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'AvgAccum' Keyword
+' ' Text.Whitespace
+'@@MilesAccum' Name.Variable
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# Universal Vars\n' Comment.Single
+
+'\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1000' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'FLOAT' Keyword
+' ' Text.Whitespace
+'mult' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# Age Vars\n' Comment.Single
+
+'\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'ageRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'birthYear' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# Height Vars\n' Comment.Single
+
+'\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'heightRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'height' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# Height Vars\n' Comment.Single
+
+'\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'weightRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'INT' Keyword
+' ' Text.Whitespace
+'weight' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# Location Vars\n' Comment.Single
+
+'\t' Text.Whitespace
+'FLOAT' Keyword
+' ' Text.Whitespace
+'locRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'VERTEX' Keyword
+' ' Text.Whitespace
+'memLoc' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# Activity Vars\n' Comment.Single
+
+'\t' Text.Whitespace
+'DATETIME' Keyword
+' ' Text.Whitespace
+'lastRecording' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'# lastRecording = to_datetime("2018-05-19");\n' Comment.Single
+
+'\t' Text.Whitespace
+'lastRecording' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'to_datetime' Keyword
+'(' Operator
+'inDate' Name
+')' Operator
+';' Operator
+'\n\n ' Text.Whitespace
+'/*\n\n test comment block \n\n */' Comment.Multiline
+'\n\t\n\t\n\t' Text.Whitespace
+'members' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'{' Punctuation
+'motionMember' Name
+'.' Punctuation
+'*' Punctuation
+'}' Punctuation
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'birthYear' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'Get_Birth_Year' Name
+'(' Operator
+'m1' Name
+')' Operator
+';' Operator
+'\n\t' Text.Whitespace
+'height' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'m1' Name
+'.' Punctuation
+'Height' Name
+';' Operator
+'\n\t' Text.Whitespace
+'weight' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'m1' Name
+'.' Punctuation
+'Weight' Name
+';' Operator
+'\n\t' Text.Whitespace
+'temp' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'members' Name
+':' Operator
+'member' Name
+' ' Text.Whitespace
+'-' Operator
+'(' Operator
+':' Operator
+'e' Name
+')' Operator
+' -' Operator
+' ' Text.Whitespace
+'location' Name
+':' Operator
+' ' Text.Whitespace
+'loc' Name
+'\n\t ' Text.Whitespace
+'WHERE' Keyword
+' ' Text.Whitespace
+'member' Name
+' ' Text.Whitespace
+'== ' Operator
+'m1' Name
+'\n\t ' Text.Whitespace
+'ACCUM' Keyword
+' \n\t ' Text.Whitespace
+'@@MemLocAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'loc' Name
+';' Operator
+'\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@MemLocAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'memLoc' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'loc' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t \n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'memLoc' Name
+';' Operator
+'\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'birthYear' Name
+';' Operator
+'\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'height' Name
+';' Operator
+'\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'weight' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'results' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'member' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'members' Name
+':' Operator
+'member' Name
+'\n\t ' Text.Whitespace
+'ACCUM' Keyword
+' \n\t ' Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'abs' Name
+'(' Operator
+'Get_Birth_Year' Name
+'(' Operator
+'member' Name
+')' Operator
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'birthYear' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'bys' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'bys' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'bys' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'bys' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'bys' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'ageRange' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'lastMin' Name
+';' Operator
+'\n\t' Text.Whitespace
+'print' Keyword
+' ' Text.Whitespace
+'ageRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1.0' Literal.Number
+'/' Operator
+'ageRange' Name
+';' Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'bys' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@BirthYearAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'bys' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1' Literal.Number
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'bys' Name
+' ' Text.Whitespace
+'*' Punctuation
+' ' Text.Whitespace
+'mult' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'@@likenessAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"age"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'bys' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1000' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'results' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'member' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'members' Name
+':' Operator
+'member' Name
+'\n\t ' Text.Whitespace
+'ACCUM' Keyword
+' \n\t ' Text.Whitespace
+'@@HeightAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'abs' Name
+'(' Operator
+'member' Name
+'.' Punctuation
+'Height' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'height' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'heights' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@HeightAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'height' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'heights' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'heights' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'heightRange' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'lastMin' Name
+';' Operator
+'\n\t' Text.Whitespace
+'print' Keyword
+' ' Text.Whitespace
+'heightRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1.0' Literal.Number
+'/' Operator
+'heightRange' Name
+';' Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'heights' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@HeightAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'height' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1' Literal.Number
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'*' Punctuation
+' ' Text.Whitespace
+'mult' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'ELSE' Keyword
+'\n\t ' Text.Whitespace
+'heights' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'@@likenessAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"height"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'heights' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1000' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'results' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'member' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'members' Name
+':' Operator
+'member' Name
+'\n\t ' Text.Whitespace
+'ACCUM' Keyword
+' \n\t ' Text.Whitespace
+'@@WeightAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'abs' Name
+'(' Operator
+'member' Name
+'.' Punctuation
+'Weight' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'weight' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'weights' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@WeightAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'weight' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'weights' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'weights' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'weightRange' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'lastMin' Name
+';' Operator
+'\n\t' Text.Whitespace
+'print' Keyword
+' ' Text.Whitespace
+'weightRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1.0' Literal.Number
+'/' Operator
+'weightRange' Name
+';' Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'weights' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@WeightAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'weight' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1' Literal.Number
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'*' Punctuation
+' ' Text.Whitespace
+'mult' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'ELSE' Keyword
+'\n\t ' Text.Whitespace
+'weights' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'@@likenessAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"weight"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'weights' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1000' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'resultsLoc' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'members' Name
+':' Operator
+'member' Name
+' ' Text.Whitespace
+'-' Operator
+'(' Operator
+':' Operator
+'e' Name
+')' Operator
+' -' Operator
+' ' Text.Whitespace
+'location' Name
+':' Operator
+' ' Text.Whitespace
+'loc' Name
+'\n\t ' Text.Whitespace
+'ACCUM' Keyword
+' \n\t ' Text.Whitespace
+'@@LocAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'Check_Distance' Name
+'(' Operator
+'loc' Name
+',' Operator
+'memLoc' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'loc' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@LocAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'5800' Literal.Number
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'ceil' Name
+'(' Operator
+'loc' Name
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'floor' Name
+'(' Operator
+'loc' Name
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'lastMax' Name
+';' Operator
+'\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'lastMin' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'locRange' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'lastMin' Name
+';' Operator
+'\n\t' Text.Whitespace
+'print' Keyword
+' ' Text.Whitespace
+'locRange' Name
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1.0' Literal.Number
+'/' Operator
+'locRange' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+'loc' Name
+')' Operator
+' ' Text.Whitespace
+'in' Keyword
+' ' Text.Whitespace
+'@@LocAccum' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'IF' Keyword
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'5800' Literal.Number
+' ' Text.Whitespace
+'THEN' Keyword
+'\n\t ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'-' Operator
+'1' Literal.Number
+';' Operator
+'\n\t ' Text.Whitespace
+'ELSE' Keyword
+'\n\t ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1' Literal.Number
+' ' Text.Whitespace
+'-' Operator
+' ' Text.Whitespace
+'loc' Name
+' ' Text.Whitespace
+'*' Punctuation
+' ' Text.Whitespace
+'mult' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'@@likenessAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"distance"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'loc' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'lastMax' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'lastMin' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'1000' Literal.Number
+';' Operator
+'\n\t' Text.Whitespace
+'mult' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'incentives' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'{' Punctuation
+'incentive' Name
+'.' Punctuation
+'*' Punctuation
+'}' Punctuation
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'incentives' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'incent' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'incentives' Name
+':' Operator
+'incent' Name
+' ' Text.Whitespace
+'- ' Operator
+'(' Operator
+':' Operator
+'e' Name
+')' Operator
+' -' Operator
+' ' Text.Whitespace
+'lookupRule' Name
+':' Operator
+'rule' Name
+' ' Text.Whitespace
+'WHERE' Keyword
+'\n\t ' Text.Whitespace
+'rule' Name
+'.' Punctuation
+'RuleName' Name
+' ' Text.Whitespace
+'== ' Operator
+'"Tenacity"' Literal.String
+' ' Text.Whitespace
+'AND' Keyword
+' ' Text.Whitespace
+'incent' Name
+'.' Punctuation
+'IncentiveDate' Name
+' ' Text.Whitespace
+'>' Operator
+' ' Text.Whitespace
+'datetime_sub' Keyword
+'(' Operator
+'lastRecording' Name
+',' Operator
+' ' Text.Whitespace
+'INTERVAL' Keyword
+' ' Text.Whitespace
+'1' Literal.Number
+' ' Text.Whitespace
+'MONTH' Name
+')' Operator
+' ' Text.Whitespace
+'AND' Keyword
+' ' Text.Whitespace
+'incent' Name
+'.' Punctuation
+'IncentiveDate' Name
+' ' Text.Whitespace
+'<' Operator
+' ' Text.Whitespace
+'lastRecording' Name
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'members' Name
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'SELECT' Keyword
+' ' Text.Whitespace
+'member' Name
+' ' Text.Whitespace
+'FROM' Keyword
+' ' Text.Whitespace
+'incentives' Name
+':' Operator
+'incent' Name
+' ' Text.Whitespace
+'- ' Operator
+'(' Operator
+':' Operator
+'e' Name
+')' Operator
+' -' Operator
+' ' Text.Whitespace
+'motionMember' Name
+':' Operator
+'member' Name
+'\n\t ' Text.Whitespace
+'ACCUM' Keyword
+'\n\t ' Text.Whitespace
+'@@DayIncentives' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'incent' Name
+')' Operator
+')' Operator
+';' Operator
+'\n\t\n\t' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'(' Operator
+'member' Name
+',' Operator
+' ' Text.Whitespace
+'incent' Name
+')' Operator
+' ' Text.Whitespace
+'IN' Keyword
+' ' Text.Whitespace
+'@@DayIncentives' Name.Variable
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'@@StepsAccum' Name.Variable
+' ' Text.Whitespace
+'=' Operator
+' ' Text.Whitespace
+'0' Literal.Number
+';' Operator
+'\n\t ' Text.Whitespace
+'FOREACH' Keyword
+' ' Text.Whitespace
+'Incentive' Name
+' ' Text.Whitespace
+'IN' Keyword
+' ' Text.Whitespace
+'incent' Name
+' ' Text.Whitespace
+'DO' Keyword
+'\n\t ' Text.Whitespace
+'@@StepsAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'Incentive' Name
+'.' Punctuation
+'TotalSteps' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'@@BoutsAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'Incentive' Name
+'.' Punctuation
+'TotalBouts' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'@@MilesAccum' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'Incentive' Name
+'.' Punctuation
+'Miles' Name
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t ' Text.Whitespace
+'@@MemberStats' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"stepsAvg"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'@@StepsAccum' Name.Variable
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'@@MemberStats' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"stepsSlope"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'Linear_Regression' Name
+'(' Operator
+'incent' Name
+',' Operator
+' ' Text.Whitespace
+'1' Literal.Number
+')' Operator
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'# @@MemberStats += (member -> ("boutsAvg" -> @@BoutsAccum));\n' Comment.Single
+
+'\t # @@MemberStats += (member -> ("boutsSlope" -> Linear_Regression(incent, 2)));\n' Comment.Single
+
+'\t ' Text.Whitespace
+'@@MemberStats' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"milesAvg"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'@@MilesAccum' Name.Variable
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'@@MemberStats' Name.Variable
+' ' Text.Whitespace
+'+= ' Operator
+'(' Operator
+'member' Name
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'(' Operator
+'"milesSlope"' Literal.String
+' ' Text.Whitespace
+'->' Operator
+' ' Text.Whitespace
+'Linear_Regression' Name
+'(' Operator
+'incent' Name
+',' Operator
+' ' Text.Whitespace
+'3' Literal.Number
+')' Operator
+')' Operator
+')' Operator
+';' Operator
+'\n\t ' Text.Whitespace
+'END' Keyword
+';' Operator
+'\n\t\n\t\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'@@MemberStats' Name.Variable
+';' Operator
+'\n\t' Text.Whitespace
+'PRINT' Keyword
+' ' Text.Whitespace
+'@@likenessAccum' Name.Variable
+';' Operator
+'\n\t\n' Text.Whitespace
+
+'}' Punctuation
+'\n' Text.Whitespace