|
|
|
@ -7,7 +7,7 @@ |
|
|
|
|
namespace lel { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 38 "lel_parser.rl" |
|
|
|
|
#line 42 "lel_parser.rl" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -82,7 +82,7 @@ static const int Parser_error = 0; |
|
|
|
|
static const int Parser_en_main = 1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 41 "lel_parser.rl" |
|
|
|
|
#line 45 "lel_parser.rl" |
|
|
|
|
|
|
|
|
|
bool Parser::parse(std::string input) { |
|
|
|
|
reset(); |
|
|
|
@ -99,7 +99,7 @@ bool Parser::parse(std::string input) { |
|
|
|
|
cs = Parser_start; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#line 52 "lel_parser.rl" |
|
|
|
|
#line 56 "lel_parser.rl" |
|
|
|
|
|
|
|
|
|
#line 92 "lel_parser.cpp" |
|
|
|
|
{ |
|
|
|
@ -181,15 +181,15 @@ _match: |
|
|
|
|
break; |
|
|
|
|
case 1: |
|
|
|
|
#line 13 "lel_parser.rl" |
|
|
|
|
{ col(); } |
|
|
|
|
{ } |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
#line 14 "lel_parser.rl" |
|
|
|
|
{ ltab(); } |
|
|
|
|
{ cur.row = rows; } |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
#line 15 "lel_parser.rl" |
|
|
|
|
{ valign((*p)); } |
|
|
|
|
{ cur.bottom = (*p) == '.'; } |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
#line 16 "lel_parser.rl" |
|
|
|
@ -197,37 +197,41 @@ _match: |
|
|
|
|
break; |
|
|
|
|
case 5: |
|
|
|
|
#line 17 "lel_parser.rl" |
|
|
|
|
{ row(); } |
|
|
|
|
{ |
|
|
|
|
rows++; |
|
|
|
|
columns = std::max(columns, cur.col); |
|
|
|
|
cur.col = 0; |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 6: |
|
|
|
|
#line 18 "lel_parser.rl" |
|
|
|
|
{ align((*p)); } |
|
|
|
|
#line 22 "lel_parser.rl" |
|
|
|
|
{ cur.right = (*p) == '>'; } |
|
|
|
|
break; |
|
|
|
|
case 7: |
|
|
|
|
#line 19 "lel_parser.rl" |
|
|
|
|
{ setwidth(std::stoi(tk)); } |
|
|
|
|
#line 23 "lel_parser.rl" |
|
|
|
|
{cur.max_w = std::stoi(tk); } |
|
|
|
|
break; |
|
|
|
|
case 8: |
|
|
|
|
#line 20 "lel_parser.rl" |
|
|
|
|
{ setheight(std::stoi(tk)); } |
|
|
|
|
#line 24 "lel_parser.rl" |
|
|
|
|
{ cur.max_h = std::stoi(tk); } |
|
|
|
|
break; |
|
|
|
|
case 9: |
|
|
|
|
#line 21 "lel_parser.rl" |
|
|
|
|
{ expand(); } |
|
|
|
|
#line 25 "lel_parser.rl" |
|
|
|
|
{ cur.expand = true; } |
|
|
|
|
break; |
|
|
|
|
case 10: |
|
|
|
|
#line 22 "lel_parser.rl" |
|
|
|
|
{ center(); } |
|
|
|
|
#line 26 "lel_parser.rl" |
|
|
|
|
{ cur.center = true; } |
|
|
|
|
break; |
|
|
|
|
case 11: |
|
|
|
|
#line 31 "lel_parser.rl" |
|
|
|
|
#line 35 "lel_parser.rl" |
|
|
|
|
{ start = p; } |
|
|
|
|
break; |
|
|
|
|
case 12: |
|
|
|
|
#line 34 "lel_parser.rl" |
|
|
|
|
#line 38 "lel_parser.rl" |
|
|
|
|
{start = p;} |
|
|
|
|
break; |
|
|
|
|
#line 204 "lel_parser.cpp" |
|
|
|
|
#line 208 "lel_parser.cpp" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -240,7 +244,7 @@ _again: |
|
|
|
|
_out: {} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#line 53 "lel_parser.rl" |
|
|
|
|
#line 57 "lel_parser.rl" |
|
|
|
|
|
|
|
|
|
bool good = pe - p == 0; |
|
|
|
|
if(good) { |
|
|
|
|