Just move all the one-liner functions straight into the parser.

This commit is contained in:
Zed A. Shaw 2025-02-15 12:21:04 -05:00
parent 60ed686eb0
commit d558da1620
4 changed files with 38 additions and 76 deletions

View file

@ -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) {