diff options
| author | DanBarkus <daniel.barkus@gmail.com> | 2021-07-18 04:47:16 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-18 10:47:16 +0200 |
| commit | 710cac79c34412e551a4a92bcd7dd07d5d770922 (patch) | |
| tree | 2558d11a13d337f161148c01c25e5a340a272487 /tests/examplefiles | |
| parent | fe572dcec9182f998a1961bc99531f39aa88f041 (diff) | |
| download | pygments-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-x | tests/examplefiles/gsql/test.gsql | 223 | ||||
| -rw-r--r-- | tests/examplefiles/gsql/test.gsql.output | 1503 |
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 |
