lib/hotcell/lexerr.rb in hotcell-0.2.0 vs lib/hotcell/lexerr.rb in hotcell-0.3.0
- old
+ new
@@ -1,9 +1,9 @@
# line 1 "lib/hotcell/lexerr.rl"
-# line 17 "lib/hotcell/lexerr.rl"
+# line 44 "lib/hotcell/lexerr.rl"
Hotcell::Lexer.class_eval do
def current_position
@ts
@@ -20,280 +20,391 @@
def tokenize
# line 24 "lib/hotcell/lexerr.rb"
class << self
- attr_accessor :_puffer_lexer_trans_keys
- private :_puffer_lexer_trans_keys, :_puffer_lexer_trans_keys=
+ attr_accessor :_hotcell_lexer_trans_keys
+ private :_hotcell_lexer_trans_keys, :_hotcell_lexer_trans_keys=
end
-self._puffer_lexer_trans_keys = [
- 0, 0, 32, 32, 34, 92,
- 0, 0, 125, 125, 38,
- 38, 39, 92, 0, 0,
- 48, 57, 47, 92, 0, 0,
- 124, 124, 125, 125, 123,
+self._hotcell_lexer_trans_keys = [
+ 0, 0, 32, 32, 0, 0,
+ 38, 38, 39, 92, 0,
+ 0, 48, 57, 47, 92,
+ 0, 0, 124, 124, 125, 125,
+ 38, 38, 39, 92, 0,
+ 0, 48, 57, 47, 92,
+ 0, 0, 124, 124, 125, 125,
123, 123, 123, 123, 123,
- 33, 126, 9, 125, 61, 61,
- 10, 125, 42, 42, 46,
- 57, 48, 57, 46, 57,
- 46, 46, 47, 92, 65, 122,
- 33, 122, 125, 125, 35,
- 35, 35, 35, 125, 125,
- 0
+ 123, 33, 126, 34, 92,
+ 34, 92, 123, 123, 9, 125,
+ 61, 61, 34, 34, 42,
+ 42, 46, 57, 48, 57,
+ 46, 57, 46, 46, 47, 92,
+ 65, 122, 33, 122, 9,
+ 125, 61, 61, 34, 34,
+ 10, 125, 42, 42, 46, 57,
+ 48, 57, 46, 57, 46,
+ 46, 47, 92, 65, 122,
+ 33, 122, 125, 125, 35, 35,
+ 35, 35, 125, 125, 0
]
class << self
- attr_accessor :_puffer_lexer_key_spans
- private :_puffer_lexer_key_spans, :_puffer_lexer_key_spans=
+ attr_accessor :_hotcell_lexer_key_spans
+ private :_hotcell_lexer_key_spans, :_hotcell_lexer_key_spans=
end
-self._puffer_lexer_key_spans = [
- 0, 1, 59, 0, 1, 1, 54, 0,
- 10, 46, 0, 1, 1, 1, 1, 1,
- 94, 117, 1, 116, 1, 12, 10, 12,
- 1, 46, 58, 90, 1, 1, 1, 1
+self._hotcell_lexer_key_spans = [
+ 0, 1, 0, 1, 54, 0, 10, 46,
+ 0, 1, 1, 1, 54, 0, 10, 46,
+ 0, 1, 1, 1, 1, 1, 94, 59,
+ 59, 1, 117, 1, 1, 1, 12, 10,
+ 12, 1, 46, 58, 90, 117, 1, 1,
+ 116, 1, 12, 10, 12, 1, 46, 58,
+ 90, 1, 1, 1, 1
]
class << self
- attr_accessor :_puffer_lexer_index_offsets
- private :_puffer_lexer_index_offsets, :_puffer_lexer_index_offsets=
+ attr_accessor :_hotcell_lexer_index_offsets
+ private :_hotcell_lexer_index_offsets, :_hotcell_lexer_index_offsets=
end
-self._puffer_lexer_index_offsets = [
- 0, 0, 2, 62, 63, 65, 67, 122,
- 123, 134, 181, 182, 184, 186, 188, 190,
- 192, 287, 405, 407, 524, 526, 539, 550,
- 563, 565, 612, 671, 762, 764, 766, 768
+self._hotcell_lexer_index_offsets = [
+ 0, 0, 2, 3, 5, 60, 61, 72,
+ 119, 120, 122, 124, 126, 181, 182, 193,
+ 240, 241, 243, 245, 247, 249, 251, 346,
+ 406, 466, 468, 586, 588, 590, 592, 605,
+ 616, 629, 631, 678, 737, 828, 946, 948,
+ 950, 1067, 1069, 1082, 1093, 1106, 1108, 1155,
+ 1214, 1305, 1307, 1309, 1311
]
class << self
- attr_accessor :_puffer_lexer_indicies
- private :_puffer_lexer_indicies, :_puffer_lexer_indicies=
+ attr_accessor :_hotcell_lexer_indicies
+ private :_hotcell_lexer_indicies, :_hotcell_lexer_indicies=
end
-self._puffer_lexer_indicies = [
- 1, 0, 3, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 4, 2, 2, 5,
- 6, 7, 8, 10, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9,
- 11, 9, 9, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 12, 16, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 17, 15, 15, 7, 8,
- 19, 18, 21, 20, 22, 20, 23, 22,
- 1, 24, 25, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 1, 24, 24,
- 24, 24, 24, 24, 26, 24, 24, 24,
- 24, 24, 24, 24, 24, 24, 24, 24,
- 24, 26, 24, 24, 24, 24, 24, 24,
- 24, 24, 24, 24, 24, 1, 24, 27,
- 7, 27, 27, 27, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 27, 28,
- 2, 6, 8, 7, 29, 9, 7, 7,
- 30, 7, 7, 31, 32, 33, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34,
- 7, 7, 28, 28, 28, 7, 8, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 7, 8, 7, 8, 35, 8, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 7, 36, 37, 8, 7, 38, 39,
+self._hotcell_lexer_indicies = [
+ 1, 0, 3, 4, 5, 7, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 40, 6, 7, 38, 41, 12,
- 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 12, 13, 13, 13, 13, 13,
- 13, 13, 13, 13, 13, 42, 43, 38,
+ 6, 6, 8, 6, 6, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 9,
+ 13, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 14, 12, 12,
+ 4, 5, 15, 16, 17, 5, 19, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 20, 18, 18, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22,
+ 21, 25, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 26, 24,
+ 24, 17, 5, 28, 27, 30, 29, 31,
+ 29, 32, 31, 1, 33, 34, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 1, 33, 33, 33, 33, 33, 33, 35,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 33, 33, 35, 33, 33, 33,
+ 33, 33, 33, 33, 33, 33, 33, 33,
+ 1, 33, 36, 37, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 38, 3, 39, 39,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 38, 3, 40, 39, 41, 4, 41, 41,
+ 41, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 41, 42, 43, 5, 5,
+ 4, 44, 6, 4, 4, 45, 4, 4,
+ 46, 47, 48, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 4, 4, 42,
+ 42, 42, 4, 5, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 4, 5,
+ 4, 5, 50, 5, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 51, 52,
+ 53, 5, 4, 54, 7, 55, 4, 54,
+ 56, 9, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 9, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 57,
+ 58, 54, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 54, 4, 54, 13,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 14, 12, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
- 13, 13, 38, 7, 38, 16, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 15, 15, 15, 15, 15, 15,
- 15, 15, 17, 15, 16, 16, 16, 16,
+ 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13,
+ 59, 59, 59, 59, 59, 59, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13,
+ 59, 61, 60, 60, 60, 60, 60, 60,
+ 60, 60, 60, 60, 60, 60, 60, 60,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 60, 60, 60, 60, 60, 61,
+ 60, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 60, 60, 60, 60, 50,
+ 60, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 60, 62, 17, 62, 62,
+ 62, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 62, 63, 64, 16, 5,
+ 17, 65, 18, 17, 17, 66, 17, 17,
+ 67, 68, 69, 70, 70, 70, 70, 70,
+ 70, 70, 70, 70, 70, 17, 17, 63,
+ 63, 63, 17, 5, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 17, 5,
+ 17, 5, 71, 5, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 17, 72,
+ 73, 5, 17, 74, 19, 75, 76, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 44, 44,
- 44, 44, 44, 44, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 44, 46,
- 45, 45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 45, 45, 45, 45, 45, 46, 45, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 45, 45, 45, 45, 35, 45, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 45, 47, 38, 49, 48, 50, 48,
- 51, 50, 0
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 77, 16, 17, 74, 78, 21, 70,
+ 70, 70, 70, 70, 70, 70, 70, 70,
+ 70, 21, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 79, 80, 74, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 74, 17, 74, 25, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 26, 24, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 81, 81, 81,
+ 81, 81, 81, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 81, 83, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 82,
+ 82, 82, 82, 82, 83, 82, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 82, 82, 82, 82, 71, 82, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 71, 71, 71, 71, 71, 71, 71, 71,
+ 82, 84, 74, 86, 85, 87, 85, 88,
+ 87, 0
]
class << self
- attr_accessor :_puffer_lexer_trans_targs
- private :_puffer_lexer_trans_targs, :_puffer_lexer_trans_targs=
+ attr_accessor :_hotcell_lexer_trans_targs
+ private :_hotcell_lexer_trans_targs, :_hotcell_lexer_trans_targs=
end
-self._puffer_lexer_trans_targs = [
- 13, 13, 2, 17, 3, 17, 19, 17,
- 0, 6, 17, 7, 17, 22, 17, 9,
- 26, 10, 29, 29, 14, 15, 13, 16,
- 13, 13, 1, 17, 18, 5, 20, 21,
- 23, 25, 21, 27, 11, 28, 17, 17,
- 4, 8, 17, 24, 17, 17, 17, 17,
- 30, 31, 29, 12
+self._hotcell_lexer_trans_targs = [
+ 19, 19, 23, 24, 26, 0, 4, 26,
+ 5, 26, 31, 26, 7, 35, 8, 37,
+ 40, 37, 12, 37, 13, 37, 43, 37,
+ 15, 47, 16, 50, 50, 20, 21, 19,
+ 22, 19, 19, 1, 23, 25, 2, 23,
+ 23, 26, 27, 28, 3, 29, 30, 32,
+ 34, 30, 36, 26, 9, 26, 26, 26,
+ 6, 26, 33, 26, 26, 26, 37, 38,
+ 39, 11, 41, 42, 44, 46, 42, 48,
+ 17, 49, 37, 37, 37, 10, 14, 37,
+ 45, 37, 37, 37, 37, 51, 52, 50,
+ 18
]
class << self
- attr_accessor :_puffer_lexer_trans_actions
- private :_puffer_lexer_trans_actions, :_puffer_lexer_trans_actions=
+ attr_accessor :_hotcell_lexer_trans_actions
+ private :_hotcell_lexer_trans_actions, :_hotcell_lexer_trans_actions=
end
-self._puffer_lexer_trans_actions = [
- 1, 2, 0, 4, 0, 5, 6, 7,
- 0, 0, 9, 0, 10, 0, 11, 0,
- 0, 0, 12, 13, 0, 0, 16, 6,
- 17, 18, 0, 19, 0, 0, 0, 20,
- 0, 21, 22, 0, 0, 0, 23, 24,
- 0, 0, 25, 0, 26, 27, 28, 29,
- 0, 6, 30, 0
+self._hotcell_lexer_trans_actions = [
+ 1, 2, 3, 4, 5, 0, 0, 7,
+ 0, 8, 0, 9, 0, 0, 0, 10,
+ 11, 12, 0, 13, 0, 14, 0, 15,
+ 0, 0, 0, 16, 17, 0, 0, 20,
+ 11, 21, 22, 0, 24, 0, 0, 25,
+ 26, 27, 0, 0, 0, 0, 28, 0,
+ 29, 30, 0, 31, 0, 32, 33, 34,
+ 0, 35, 0, 36, 37, 38, 39, 0,
+ 0, 0, 0, 40, 0, 29, 41, 0,
+ 0, 0, 42, 43, 44, 0, 0, 45,
+ 0, 46, 47, 48, 49, 0, 11, 50,
+ 0
]
class << self
- attr_accessor :_puffer_lexer_to_state_actions
- private :_puffer_lexer_to_state_actions, :_puffer_lexer_to_state_actions=
+ attr_accessor :_hotcell_lexer_to_state_actions
+ private :_hotcell_lexer_to_state_actions, :_hotcell_lexer_to_state_actions=
end
-self._puffer_lexer_to_state_actions = [
+self._hotcell_lexer_to_state_actions = [
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 0, 0,
- 0, 14, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 18, 0, 0, 0, 23,
+ 0, 0, 18, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 18, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 18, 0, 0
]
class << self
- attr_accessor :_puffer_lexer_from_state_actions
- private :_puffer_lexer_from_state_actions, :_puffer_lexer_from_state_actions=
+ attr_accessor :_hotcell_lexer_from_state_actions
+ private :_hotcell_lexer_from_state_actions, :_hotcell_lexer_from_state_actions=
end
-self._puffer_lexer_from_state_actions = [
+self._hotcell_lexer_from_state_actions = [
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 15, 0, 0,
- 0, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 15, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 19, 0, 0, 0, 19,
+ 0, 0, 19, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 19, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 19, 0, 0
]
class << self
- attr_accessor :_puffer_lexer_eof_actions
- private :_puffer_lexer_eof_actions, :_puffer_lexer_eof_actions=
+ attr_accessor :_hotcell_lexer_eof_actions
+ private :_hotcell_lexer_eof_actions, :_hotcell_lexer_eof_actions=
end
-self._puffer_lexer_eof_actions = [
- 0, 0, 3, 0, 0, 0, 8, 0,
+self._hotcell_lexer_eof_actions = [
+ 0, 0, 0, 0, 6, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0
]
class << self
- attr_accessor :_puffer_lexer_eof_trans
- private :_puffer_lexer_eof_trans, :_puffer_lexer_eof_trans=
+ attr_accessor :_hotcell_lexer_eof_trans
+ private :_hotcell_lexer_eof_trans, :_hotcell_lexer_eof_trans=
end
-self._puffer_lexer_eof_trans = [
- 0, 1, 0, 0, 6, 0, 0, 0,
- 13, 15, 15, 0, 19, 0, 23, 23,
- 25, 0, 39, 40, 39, 13, 43, 39,
- 39, 39, 45, 46, 39, 0, 51, 51
+self._hotcell_lexer_eof_trans = [
+ 0, 1, 3, 0, 0, 0, 10, 12,
+ 12, 0, 16, 0, 0, 0, 22, 24,
+ 24, 0, 28, 0, 32, 32, 34, 0,
+ 40, 40, 0, 55, 56, 55, 10, 58,
+ 55, 55, 55, 60, 61, 0, 75, 76,
+ 77, 75, 22, 80, 75, 75, 75, 82,
+ 83, 75, 0, 88, 88
]
class << self
- attr_accessor :puffer_lexer_start
+ attr_accessor :hotcell_lexer_start
end
-self.puffer_lexer_start = 13;
+self.hotcell_lexer_start = 19;
class << self
- attr_accessor :puffer_lexer_first_final
+ attr_accessor :hotcell_lexer_first_final
end
-self.puffer_lexer_first_final = 13;
+self.hotcell_lexer_first_final = 19;
class << self
- attr_accessor :puffer_lexer_error
+ attr_accessor :hotcell_lexer_error
end
-self.puffer_lexer_error = 0;
+self.hotcell_lexer_error = 0;
class << self
- attr_accessor :puffer_lexer_en_expression
+ attr_accessor :hotcell_lexer_en_dstring
end
-self.puffer_lexer_en_expression = 17;
+self.hotcell_lexer_en_dstring = 23;
class << self
- attr_accessor :puffer_lexer_en_template_comment
+ attr_accessor :hotcell_lexer_en_interpolation
end
-self.puffer_lexer_en_template_comment = 29;
+self.hotcell_lexer_en_interpolation = 26;
class << self
- attr_accessor :puffer_lexer_en_main
+ attr_accessor :hotcell_lexer_en_expression
end
-self.puffer_lexer_en_main = 13;
+self.hotcell_lexer_en_expression = 37;
+class << self
+ attr_accessor :hotcell_lexer_en_template_comment
+end
+self.hotcell_lexer_en_template_comment = 50;
+class << self
+ attr_accessor :hotcell_lexer_en_main
+end
+self.hotcell_lexer_en_main = 19;
-# line 35 "lib/hotcell/lexerr.rl"
+# line 62 "lib/hotcell/lexerr.rl"
#%
@data = @source.data
@token_array = []
-# line 277 "lib/hotcell/lexerr.rb"
+# line 388 "lib/hotcell/lexerr.rb"
begin
@p ||= 0
pe ||= @data.length
- cs = puffer_lexer_start
+ cs = hotcell_lexer_start
top = 0
@ts = nil
@te = nil
act = 0
end
-# line 41 "lib/hotcell/lexerr.rl"
+# line 68 "lib/hotcell/lexerr.rl"
#%
eof = pe
stack = []
-# line 295 "lib/hotcell/lexerr.rb"
+# line 406 "lib/hotcell/lexerr.rb"
begin
testEof = false
_slen, _trans, _keys, _inds, _acts, _nacts = nil
_goto_level = 0
_resume = 10
@@ -311,261 +422,466 @@
_goto_level = _out
next
end
end
if _goto_level <= _resume
- case _puffer_lexer_from_state_actions[cs]
- when 15 then
+ case _hotcell_lexer_from_state_actions[cs]
+ when 19 then
# line 1 "NONE"
begin
@ts = @p
end
-# line 323 "lib/hotcell/lexerr.rb"
+# line 434 "lib/hotcell/lexerr.rb"
end
_keys = cs << 1
- _inds = _puffer_lexer_index_offsets[cs]
- _slen = _puffer_lexer_key_spans[cs]
+ _inds = _hotcell_lexer_index_offsets[cs]
+ _slen = _hotcell_lexer_key_spans[cs]
_trans = if ( _slen > 0 &&
- _puffer_lexer_trans_keys[_keys] <= @data[ @p].ord &&
- @data[ @p].ord <= _puffer_lexer_trans_keys[_keys + 1]
+ _hotcell_lexer_trans_keys[_keys] <= @data[ @p].ord &&
+ @data[ @p].ord <= _hotcell_lexer_trans_keys[_keys + 1]
) then
- _puffer_lexer_indicies[ _inds + @data[ @p].ord - _puffer_lexer_trans_keys[_keys] ]
+ _hotcell_lexer_indicies[ _inds + @data[ @p].ord - _hotcell_lexer_trans_keys[_keys] ]
else
- _puffer_lexer_indicies[ _inds + _slen ]
+ _hotcell_lexer_indicies[ _inds + _slen ]
end
end
if _goto_level <= _eof_trans
- cs = _puffer_lexer_trans_targs[_trans]
- if _puffer_lexer_trans_actions[_trans] != 0
- case _puffer_lexer_trans_actions[_trans]
- when 6 then
+ cs = _hotcell_lexer_trans_targs[_trans]
+ if _hotcell_lexer_trans_actions[_trans] != 0
+ case _hotcell_lexer_trans_actions[_trans]
+ when 11 then
# line 1 "NONE"
begin
@te = @p+1
end
- when 29 then
-# line 74 "lib/hotcell/lexer.rl"
+ when 24 then
+# line 73 "lib/hotcell/lexer.rl"
begin
@te = @p+1
- begin emit_tag; begin
+ begin emit_dstring_close; begin
top -= 1
cs = stack[top]
_goto_level = _again
next
end
end
end
- when 7 then
+ when 26 then
+# line 16 "lib/hotcell/lexerr.rl"
+ begin
+ @te = @p+1
+ begin
+ @braces_count = 0;
+ emit_interpolation
+ begin
+ stack[top] = cs
+ top+= 1
+ cs = 26
+ _goto_level = _again
+ next
+ end
+
+ end
+ end
+ when 25 then
# line 75 "lib/hotcell/lexer.rl"
begin
+ @te = @p
+ @p = @p - 1; begin emit_dstring; end
+ end
+ when 3 then
+# line 1 "NONE"
+ begin
+ case act
+ when 0 then
+ begin begin
+ cs = 0
+ _goto_level = _again
+ next
+ end
+end
+ when 3 then
+ begin begin @p = (( @te))-1; end
+ emit_dstring; end
+end
+ end
+ when 5 then
+# line 81 "lib/hotcell/lexer.rl"
+ begin
@te = @p+1
begin emit_operator; end
end
- when 28 then
-# line 77 "lib/hotcell/lexer.rl"
+ when 31 then
+# line 22 "lib/hotcell/lexerr.rl"
begin
@te = @p+1
+ begin
+ emit_operator
+ @braces_count += 1
+ end
+ end
+ when 32 then
+# line 27 "lib/hotcell/lexerr.rl"
+ begin
+ @te = @p+1
+ begin
+ if @braces_count < 1
+ emit_interpolation
+ begin
+ top -= 1
+ cs = stack[top]
+ _goto_level = _again
+ next
+ end
+
+ else
+ emit_operator
+ @braces_count -= 1
+ end
+ end
+ end
+ when 38 then
+# line 86 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p+1
begin emit_identifer; end
end
- when 9 then
-# line 78 "lib/hotcell/lexer.rl"
+ when 7 then
+# line 87 "lib/hotcell/lexer.rl"
begin
@te = @p+1
- begin emit_sstring; end
+ begin emit_string; end
end
+ when 27 then
+# line 89 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p+1
+ end
+ when 33 then
+# line 81 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p
+ @p = @p - 1; begin emit_operator; end
+ end
+ when 34 then
+# line 37 "lib/hotcell/lexerr.rl"
+ begin
+ @te = @p
+ @p = @p - 1; begin
+ @dstring_start = @ts
+ emit_dstring_open
+ begin
+ stack[top] = cs
+ top+= 1
+ cs = 23
+ _goto_level = _again
+ next
+ end
+
+ end
+ end
+ when 35 then
+# line 85 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p
+ @p = @p - 1; begin emit_numeric; end
+ end
+ when 37 then
+# line 86 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p
+ @p = @p - 1; begin emit_identifer; end
+ end
+ when 36 then
+# line 88 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p
+ @p = @p - 1; begin emit_regexp; end
+ end
+ when 9 then
+# line 81 "lib/hotcell/lexer.rl"
+ begin
+ begin @p = (( @te))-1; end
+ begin emit_operator; end
+ end
+ when 8 then
+# line 1 "NONE"
+ begin
+ case act
when 4 then
-# line 79 "lib/hotcell/lexer.rl"
+ begin begin @p = (( @te))-1; end
+ emit_operator; end
+ when 8 then
+ begin begin @p = (( @te))-1; end
+ emit_numeric; end
+end
+ end
+ when 49 then
+# line 93 "lib/hotcell/lexer.rl"
begin
@te = @p+1
- begin emit_dstring; end
+ begin emit_tag; begin
+ top -= 1
+ cs = stack[top]
+ _goto_level = _again
+ next
+ end
+ end
end
- when 19 then
-# line 82 "lib/hotcell/lexer.rl"
+ when 12 then
+# line 95 "lib/hotcell/lexer.rl"
begin
@te = @p+1
+ begin emit_operator; end
end
- when 23 then
-# line 75 "lib/hotcell/lexer.rl"
+ when 48 then
+# line 97 "lib/hotcell/lexer.rl"
begin
+ @te = @p+1
+ begin emit_identifer; end
+ end
+ when 13 then
+# line 98 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p+1
+ begin emit_string; end
+ end
+ when 39 then
+# line 101 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p+1
+ end
+ when 43 then
+# line 37 "lib/hotcell/lexerr.rl"
+ begin
@te = @p
+ @p = @p - 1; begin
+ @dstring_start = @ts
+ emit_dstring_open
+ begin
+ stack[top] = cs
+ top+= 1
+ cs = 23
+ _goto_level = _again
+ next
+ end
+
+ end
+ end
+ when 42 then
+# line 95 "lib/hotcell/lexer.rl"
+ begin
+ @te = @p
@p = @p - 1; begin emit_operator; end
end
- when 25 then
-# line 76 "lib/hotcell/lexer.rl"
+ when 45 then
+# line 96 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_numeric; end
end
- when 27 then
-# line 77 "lib/hotcell/lexer.rl"
+ when 47 then
+# line 97 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_identifer; end
end
- when 26 then
-# line 80 "lib/hotcell/lexer.rl"
+ when 46 then
+# line 99 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_regexp; end
end
- when 24 then
-# line 81 "lib/hotcell/lexer.rl"
+ when 44 then
+# line 100 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_comment; end
end
- when 11 then
-# line 75 "lib/hotcell/lexer.rl"
+ when 15 then
+# line 95 "lib/hotcell/lexer.rl"
begin
begin @p = (( @te))-1; end
begin emit_operator; end
end
- when 5 then
-# line 81 "lib/hotcell/lexer.rl"
+ when 10 then
+# line 100 "lib/hotcell/lexer.rl"
begin
begin @p = (( @te))-1; end
begin emit_comment; end
end
- when 10 then
+ when 14 then
# line 1 "NONE"
begin
case act
- when 2 then
+ when 15 then
begin begin @p = (( @te))-1; end
emit_operator; end
- when 3 then
+ when 16 then
begin begin @p = (( @te))-1; end
emit_numeric; end
end
end
- when 13 then
-# line 86 "lib/hotcell/lexer.rl"
+ when 17 then
+# line 105 "lib/hotcell/lexer.rl"
begin
@te = @p+1
begin emit_comment; begin
top -= 1
cs = stack[top]
_goto_level = _again
next
end
end
end
- when 30 then
-# line 87 "lib/hotcell/lexer.rl"
+ when 50 then
+# line 106 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_comment; end
end
- when 12 then
-# line 87 "lib/hotcell/lexer.rl"
+ when 16 then
+# line 106 "lib/hotcell/lexer.rl"
begin
begin @p = (( @te))-1; end
begin emit_comment; end
end
when 2 then
-# line 91 "lib/hotcell/lexer.rl"
+# line 110 "lib/hotcell/lexer.rl"
begin
@te = @p+1
begin emit_tag; begin
stack[top] = cs
top+= 1
- cs = 17
+ cs = 37
_goto_level = _again
next
end
end
end
- when 18 then
-# line 92 "lib/hotcell/lexer.rl"
+ when 22 then
+# line 111 "lib/hotcell/lexer.rl"
begin
@te = @p+1
begin emit_comment; begin
stack[top] = cs
top+= 1
- cs = 29
+ cs = 50
_goto_level = _again
next
end
end
end
- when 17 then
-# line 91 "lib/hotcell/lexer.rl"
+ when 21 then
+# line 110 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_tag; begin
stack[top] = cs
top+= 1
- cs = 17
+ cs = 37
_goto_level = _again
next
end
end
end
- when 16 then
-# line 93 "lib/hotcell/lexer.rl"
+ when 20 then
+# line 112 "lib/hotcell/lexer.rl"
begin
@te = @p
@p = @p - 1; begin emit_template; end
end
when 1 then
-# line 91 "lib/hotcell/lexer.rl"
+# line 110 "lib/hotcell/lexer.rl"
begin
begin @p = (( @te))-1; end
begin emit_tag; begin
stack[top] = cs
top+= 1
- cs = 17
+ cs = 37
_goto_level = _again
next
end
end
end
- when 21 then
+ when 29 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 9 "lib/hotcell/lexerr.rl"
begin
if (!regexp_possible)
emit_operator;
begin
- cs = 17
+ cs = 37
_goto_level = _again
next
end
end
end
- when 20 then
+ when 4 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 75 "lib/hotcell/lexer.rl"
begin
-act = 2; end
- when 22 then
+act = 3; end
+ when 28 then
# line 1 "NONE"
begin
@te = @p+1
end
-# line 76 "lib/hotcell/lexer.rl"
+# line 81 "lib/hotcell/lexer.rl"
begin
-act = 3; end
-# line 557 "lib/hotcell/lexerr.rb"
+act = 4; end
+ when 30 then
+# line 1 "NONE"
+ begin
+ @te = @p+1
+ end
+# line 85 "lib/hotcell/lexer.rl"
+ begin
+act = 8; end
+ when 40 then
+# line 1 "NONE"
+ begin
+ @te = @p+1
+ end
+# line 95 "lib/hotcell/lexer.rl"
+ begin
+act = 15; end
+ when 41 then
+# line 1 "NONE"
+ begin
+ @te = @p+1
+ end
+# line 96 "lib/hotcell/lexer.rl"
+ begin
+act = 16; end
+# line 865 "lib/hotcell/lexerr.rb"
end
end
end
if _goto_level <= _again
- case _puffer_lexer_to_state_actions[cs]
- when 14 then
+ case _hotcell_lexer_to_state_actions[cs]
+ when 18 then
# line 1 "NONE"
begin
@ts = nil; end
-# line 567 "lib/hotcell/lexerr.rb"
+ when 23 then
+# line 1 "NONE"
+ begin
+ @ts = nil; end
+# line 1 "NONE"
+ begin
+act = 0
+ end
+# line 883 "lib/hotcell/lexerr.rb"
end
if cs == 0
_goto_level = _out
next
@@ -576,38 +892,39 @@
next
end
end
if _goto_level <= _test_eof
if @p == eof
- if _puffer_lexer_eof_trans[cs] > 0
- _trans = _puffer_lexer_eof_trans[cs] - 1;
+ if _hotcell_lexer_eof_trans[cs] > 0
+ _trans = _hotcell_lexer_eof_trans[cs] - 1;
_goto_level = _eof_trans
next;
end
- case _puffer_lexer_eof_actions[cs]
- when 8 then
+ case _hotcell_lexer_eof_actions[cs]
+ when 6 then
# line 46 "lib/hotcell/lexer.rl"
begin
raise_unterminated_string; end
- when 3 then
-# line 50 "lib/hotcell/lexer.rl"
- begin
- raise_unterminated_string; end
-# line 596 "lib/hotcell/lexerr.rb"
+# line 908 "lib/hotcell/lexerr.rb"
end
end
end
if _goto_level <= _out
break
end
end
end
-# line 47 "lib/hotcell/lexerr.rl"
+# line 74 "lib/hotcell/lexerr.rl"
#%
raise_unexpected_symbol unless @ts.nil?
+
+ if cs == hotcell_lexer_en_dstring
+ @ts = @dstring_start
+ raise_unterminated_string
+ end
@token_array
end
end