|
|
|
@ -1,7 +1,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
#line 1 "src/md_parser.rl" |
|
|
|
#line 1 "..//src/md_parser.rl"
|
|
|
|
#include <fmt/core.h> |
|
|
|
#include <fmt/core.h> |
|
|
|
#include <iostream> |
|
|
|
#include <iostream> |
|
|
|
|
|
|
|
#include "guecs/ui.hpp" |
|
|
|
|
|
|
|
|
|
|
|
enum { |
|
|
|
enum { |
|
|
|
PLAIN=0, |
|
|
|
PLAIN=0, |
|
|
|
@ -11,11 +12,11 @@ enum { |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 90 "src/md_parser.rl" |
|
|
|
#line 93 "..//src/md_parser.rl"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 14 "src/md_parser.cpp" |
|
|
|
#line 15 "..//src/md_parser.cpp"
|
|
|
|
static const char _Parser_actions[] = { |
|
|
|
static const char _Parser_actions[] = { |
|
|
|
0, 1, 0, 1, 1, 1, 2, 1,
|
|
|
|
0, 1, 0, 1, 1, 1, 2, 1,
|
|
|
|
3, 1, 4, 1, 5, 1, 6, 1,
|
|
|
|
3, 1, 4, 1, 5, 1, 6, 1,
|
|
|
|
@ -122,7 +123,7 @@ static const int Parser_error = 0; |
|
|
|
static const int Parser_en_main = 1; |
|
|
|
static const int Parser_en_main = 1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 93 "src/md_parser.rl" |
|
|
|
#line 96 "..//src/md_parser.rl"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool Parser::parse(const std::string& input) { |
|
|
|
bool Parser::parse(const std::string& input) { |
|
|
|
@ -138,14 +139,14 @@ bool Parser::parse(const std::string& input) { |
|
|
|
last = DECK; |
|
|
|
last = DECK; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 133 "src/md_parser.cpp" |
|
|
|
#line 134 "..//src/md_parser.cpp"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
cs = Parser_start; |
|
|
|
cs = Parser_start; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#line 108 "src/md_parser.rl" |
|
|
|
#line 111 "..//src/md_parser.rl"
|
|
|
|
|
|
|
|
|
|
|
|
#line 136 "src/md_parser.cpp" |
|
|
|
#line 137 "..//src/md_parser.cpp"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
int _klen; |
|
|
|
int _klen; |
|
|
|
unsigned int _trans; |
|
|
|
unsigned int _trans; |
|
|
|
@ -220,23 +221,23 @@ _match: |
|
|
|
switch ( *_acts++ ) |
|
|
|
switch ( *_acts++ ) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case 0: |
|
|
|
case 0: |
|
|
|
#line 15 "src/md_parser.rl" |
|
|
|
#line 16 "..//src/md_parser.rl"
|
|
|
|
{ start = p; } |
|
|
|
{ start = p; } |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
case 1: |
|
|
|
#line 16 "src/md_parser.rl" |
|
|
|
#line 17 "..//src/md_parser.rl"
|
|
|
|
{ last = TITLE; } |
|
|
|
{ last = TITLE; } |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
case 2: |
|
|
|
#line 17 "src/md_parser.rl" |
|
|
|
#line 18 "..//src/md_parser.rl"
|
|
|
|
{ last = PLAIN; } |
|
|
|
{ last = PLAIN; } |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
case 3: |
|
|
|
#line 18 "src/md_parser.rl" |
|
|
|
#line 19 "..//src/md_parser.rl"
|
|
|
|
{ last = ENUM; } |
|
|
|
{ last = ENUM; } |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
case 4: |
|
|
|
#line 20 "src/md_parser.rl" |
|
|
|
#line 21 "..//src/md_parser.rl"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
tk = input.substr(start - begin, p - start); |
|
|
|
tk = input.substr(start - begin, p - start); |
|
|
|
|
|
|
|
|
|
|
|
@ -254,11 +255,13 @@ _match: |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
case 5: |
|
|
|
#line 36 "src/md_parser.rl" |
|
|
|
#line 37 "..//src/md_parser.rl"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
tk = input.substr(start - begin, p - start); |
|
|
|
tk = input.substr(start - begin, p - start); |
|
|
|
if(last == DECK) { |
|
|
|
if(last == DECK) { |
|
|
|
deck->config = json::parse(tk); |
|
|
|
deck->config = json::parse(tk); |
|
|
|
|
|
|
|
dbc::check(deck->config.contains("font_file"), "ERROR: missing font_file setting in deck header"); |
|
|
|
|
|
|
|
deck_done(deck->config); |
|
|
|
std::cout << "META:" << deck->config << '\n'; |
|
|
|
std::cout << "META:" << deck->config << '\n'; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
config = json::parse(tk); |
|
|
|
config = json::parse(tk); |
|
|
|
@ -267,7 +270,7 @@ _match: |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
case 6: |
|
|
|
#line 47 "src/md_parser.rl" |
|
|
|
#line 50 "..//src/md_parser.rl"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
std::string image = input.substr(start - begin, p - start); |
|
|
|
std::string image = input.substr(start - begin, p - start); |
|
|
|
fmt::println("IMAGE image={}, start={}, length={}", |
|
|
|
fmt::println("IMAGE image={}, start={}, length={}", |
|
|
|
@ -276,27 +279,27 @@ _match: |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
case 7: |
|
|
|
#line 54 "src/md_parser.rl" |
|
|
|
#line 57 "..//src/md_parser.rl"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
last = PLAIN; |
|
|
|
last = PLAIN; |
|
|
|
fmt::println("----- START"); |
|
|
|
fmt::println("----- START"); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
case 8: |
|
|
|
#line 59 "src/md_parser.rl" |
|
|
|
#line 62 "..//src/md_parser.rl"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
title.clear(); |
|
|
|
title.clear(); |
|
|
|
content.clear(); |
|
|
|
content.clear(); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
case 9: |
|
|
|
#line 64 "src/md_parser.rl" |
|
|
|
#line 67 "..//src/md_parser.rl"
|
|
|
|
{ |
|
|
|
{ |
|
|
|
deck->slides.emplace_back(title, content, config, deck->config); |
|
|
|
deck->slides.emplace_back(title, content, config, deck->config); |
|
|
|
config.clear(); |
|
|
|
config.clear(); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
#line 276 "src/md_parser.cpp" |
|
|
|
#line 279 "..//src/md_parser.cpp"
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -309,7 +312,7 @@ _again: |
|
|
|
_out: {} |
|
|
|
_out: {} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#line 109 "src/md_parser.rl" |
|
|
|
#line 112 "..//src/md_parser.rl"
|
|
|
|
|
|
|
|
|
|
|
|
bool good = pe - p == 0; |
|
|
|
bool good = pe - p == 0; |
|
|
|
|
|
|
|
|
|
|
|
|