teepee 0.9.0 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/teepee/command-parser.rb +28 -4
- data/lib/teepee/commander.rb +12 -4
- data/lib/teepee/single-character-token.rb +18 -2
- data/lib/teepee/tokenizer.rb +6 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43a6457c837f088ea65e01b0e6b87328da175545
|
4
|
+
data.tar.gz: be291f9907eb4b063548cdf403149e69dd25ee04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f18343cd1794da3f33d2e4817fbd058004d7e11c8d2b436528383a2d534f475c8dcb001f1993042699e9b15cfcf84d40f637735cbe7e5db1a2e615173955729e
|
7
|
+
data.tar.gz: eac1d63a8fe1efe08a8066f64c57e2cac2f113ecd1e732a9016d35e2dac523205d8e0a95166e022633a71d57b467fa84bc564bb196c6da179dea2f0d5853483a
|
@@ -76,7 +76,7 @@ module Teepee
|
|
76
76
|
"opening_brace",
|
77
77
|
"openingbrace",
|
78
78
|
"obrace",
|
79
|
-
"-
|
79
|
+
"-("
|
80
80
|
@@commander.left_brace
|
81
81
|
when "right-brace",
|
82
82
|
"right_brace",
|
@@ -86,12 +86,36 @@ module Teepee
|
|
86
86
|
"closing_brace",
|
87
87
|
"closingbrace",
|
88
88
|
"cbrace",
|
89
|
-
"
|
89
|
+
")-"
|
90
90
|
@@commander.right_brace
|
91
|
+
when "left-bracket",
|
92
|
+
"left_bracket",
|
93
|
+
"opening-bracket",
|
94
|
+
"opening_bracket",
|
95
|
+
"lbracket",
|
96
|
+
"obracket",
|
97
|
+
"(("
|
98
|
+
@@commander.left_bracket
|
99
|
+
when "right-bracket",
|
100
|
+
"right_bracket",
|
101
|
+
"closing-bracket",
|
102
|
+
"closing_bracket",
|
103
|
+
"rbracket",
|
104
|
+
"cbracket",
|
105
|
+
"))"
|
106
|
+
@@commander.right_bracket
|
91
107
|
when "pipe"
|
92
108
|
@@commander.pipe
|
93
|
-
when "
|
94
|
-
|
109
|
+
when "backtick",
|
110
|
+
"backquote",
|
111
|
+
"'"
|
112
|
+
@@commander.backquote
|
113
|
+
when "squiggle",
|
114
|
+
"tilde"
|
115
|
+
@@commander.squiggle
|
116
|
+
when "lagergeld",
|
117
|
+
"youreapeon"
|
118
|
+
@@commander.lagergeld
|
95
119
|
when "_"
|
96
120
|
@@commander.nbsp optional_number_from_expression
|
97
121
|
when "space"
|
data/lib/teepee/commander.rb
CHANGED
@@ -216,6 +216,10 @@ module Teepee
|
|
216
216
|
html_tag :b, expressions
|
217
217
|
end
|
218
218
|
|
219
|
+
def backquote
|
220
|
+
"`"
|
221
|
+
end
|
222
|
+
|
219
223
|
def backslash
|
220
224
|
"\\"
|
221
225
|
end
|
@@ -399,10 +403,6 @@ module Teepee
|
|
399
403
|
html_tag :h6, expressions
|
400
404
|
end
|
401
405
|
|
402
|
-
def hash
|
403
|
-
"#"
|
404
|
-
end
|
405
|
-
|
406
406
|
def i
|
407
407
|
command_error "Complex numbers are not yet supported."
|
408
408
|
end
|
@@ -470,6 +470,10 @@ module Teepee
|
|
470
470
|
"{"
|
471
471
|
end
|
472
472
|
|
473
|
+
def left_bracket
|
474
|
+
"["
|
475
|
+
end
|
476
|
+
|
473
477
|
def lgamma n
|
474
478
|
ensure_numeric Math::lgamma(n).first
|
475
479
|
end
|
@@ -536,6 +540,10 @@ module Teepee
|
|
536
540
|
"}"
|
537
541
|
end
|
538
542
|
|
543
|
+
def right_bracket
|
544
|
+
"]"
|
545
|
+
end
|
546
|
+
|
539
547
|
def sin angle
|
540
548
|
ensure_numeric Math.sin angle
|
541
549
|
end
|
@@ -70,11 +70,27 @@ module Teepee
|
|
70
70
|
CHARACTER_MATCHED = "}"
|
71
71
|
end
|
72
72
|
|
73
|
+
class LeftBracketToken < SingleCharacterToken
|
74
|
+
CHARACTER_MATCHED = "["
|
75
|
+
end
|
76
|
+
|
77
|
+
class RightBracketToken < SingleCharacterToken
|
78
|
+
CHARACTER_MATCHED = "]"
|
79
|
+
end
|
80
|
+
|
73
81
|
class PipeToken < SingleCharacterToken
|
74
82
|
CHARACTER_MATCHED = "|"
|
75
83
|
end
|
76
84
|
|
77
|
-
class
|
78
|
-
CHARACTER_MATCHED = "
|
85
|
+
class BackquoteToken < SingleCharacterToken
|
86
|
+
CHARACTER_MATCHED = "`"
|
87
|
+
end
|
88
|
+
|
89
|
+
class SquiggleToken < SingleCharacterToken
|
90
|
+
CHARACTER_MATCHED = "~"
|
91
|
+
end
|
92
|
+
|
93
|
+
class LagergeldToken < SingleCharacterToken
|
94
|
+
CHARACTER_MATCHED = "€"
|
79
95
|
end
|
80
96
|
end
|
data/lib/teepee/tokenizer.rb
CHANGED
@@ -57,9 +57,13 @@ module Teepee
|
|
57
57
|
while rest.length > 0
|
58
58
|
if result = BackslashToken.matches?(rest) or # Single Character Tokens
|
59
59
|
result = LeftBraceToken.matches?(rest) or
|
60
|
-
result =
|
60
|
+
result = LeftBracketToken.matches?(rest) or
|
61
61
|
result = PipeToken.matches?(rest) or
|
62
|
-
result =
|
62
|
+
result = RightBraceToken.matches?(rest) or
|
63
|
+
result = RightBracketToken.matches?(rest) or
|
64
|
+
result = BackquoteToken.matches?(rest) or
|
65
|
+
result = SquiggleToken.matches?(rest) or
|
66
|
+
result = LagergeldToken.matches?(rest) or
|
63
67
|
result = EmptyNewlinesToken.matches?(rest) or # String Tokens
|
64
68
|
result = WhitespaceToken.matches?(rest) or
|
65
69
|
result = NumberToken.matches?(rest) or
|