mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-11-14 15:32:24 +00:00
77 lines
1.8 KiB
Plaintext
77 lines
1.8 KiB
Plaintext
|
---input---
|
||
|
def<=>(other : self) : Int
|
||
|
{%for field in %w(first_name middle_name last_name)%}
|
||
|
cmp={{field.id}}<=>other.{{field.id}}
|
||
|
return cmp if cmp!=0
|
||
|
{%end%}
|
||
|
0
|
||
|
end
|
||
|
|
||
|
---tokens---
|
||
|
'def' Keyword
|
||
|
'<=>' Name.Function
|
||
|
'(' Punctuation
|
||
|
'other' Name
|
||
|
' ' Text.Whitespace
|
||
|
':' Punctuation
|
||
|
' ' Text.Whitespace
|
||
|
'self' Keyword
|
||
|
')' Punctuation
|
||
|
' ' Text.Whitespace
|
||
|
':' Punctuation
|
||
|
' ' Text.Whitespace
|
||
|
'Int' Name
|
||
|
'\n' Text.Whitespace
|
||
|
|
||
|
'{%' Literal.String.Interpol
|
||
|
'for' Keyword
|
||
|
' ' Text.Whitespace
|
||
|
'field' Name
|
||
|
' ' Text.Whitespace
|
||
|
'in' Keyword
|
||
|
' ' Text.Whitespace
|
||
|
'%w(' Literal.String.Other
|
||
|
'first_name middle_name last_name' Literal.String.Other
|
||
|
')' Literal.String.Other
|
||
|
'%}' Literal.String.Interpol
|
||
|
'\n' Text.Whitespace
|
||
|
|
||
|
'cmp' Name
|
||
|
'=' Operator
|
||
|
'{{' Literal.String.Interpol
|
||
|
'field' Name
|
||
|
'.' Operator
|
||
|
'id' Name
|
||
|
'}}' Literal.String.Interpol
|
||
|
'<=>' Operator
|
||
|
'other' Name
|
||
|
'.' Operator
|
||
|
'{{' Literal.String.Interpol
|
||
|
'field' Name
|
||
|
'.' Operator
|
||
|
'id' Name
|
||
|
'}}' Literal.String.Interpol
|
||
|
'\n' Text.Whitespace
|
||
|
|
||
|
'return' Keyword
|
||
|
' ' Text.Whitespace
|
||
|
'cmp' Name
|
||
|
' ' Text.Whitespace
|
||
|
'if' Keyword
|
||
|
' ' Text.Whitespace
|
||
|
'cmp' Name
|
||
|
'!=' Operator
|
||
|
'0' Literal.Number.Integer
|
||
|
'\n' Text.Whitespace
|
||
|
|
||
|
'{%' Literal.String.Interpol
|
||
|
'end' Keyword
|
||
|
'%}' Literal.String.Interpol
|
||
|
'\n' Text.Whitespace
|
||
|
|
||
|
'0' Literal.Number.Integer
|
||
|
'\n' Text.Whitespace
|
||
|
|
||
|
'end' Keyword
|
||
|
'\n' Text.Whitespace
|