From 83a9bd9c33a5eb6e54053d0ec8ab1e5b1ddd7826 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 16 Sep 2019 23:13:26 +0200 Subject: Parser fixes --- libstorycode/storycode.l | 7 ++++--- libstorycode/storycode.y | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libstorycode/storycode.l b/libstorycode/storycode.l index b4dbb03..e0dd6f8 100644 --- a/libstorycode/storycode.l +++ b/libstorycode/storycode.l @@ -88,11 +88,12 @@ BGCOL { BEGIN(col); return SC_BGCOL; } :[ ] { BEGIN(runtext); return SC_TEXT_START; } [\\] { BEGIN(stringesc); } -[.] { sclval.str = strdup(yytext); BEGIN(runtext); return SC_RUN_TEXT; } +. { sclval.str = strdup(yytext); BEGIN(runtext); return SC_RUN_TEXT; } [\*] { return '*'; } -[^\*\n]* { sclval.str = strdup(yytext); +[/] { return '/'; } +[_] { return '_'; } +[^\\\*/_\n]* { sclval.str = strdup(yytext); sclval.str[yyleng] = '\0'; - lineno++; return SC_RUN_TEXT; } \n { BEGIN(0); lineno++; } diff --git a/libstorycode/storycode.y b/libstorycode/storycode.y index daf2504..19d9b1f 100644 --- a/libstorycode/storycode.y +++ b/libstorycode/storycode.y @@ -243,6 +243,8 @@ text_line: text_run: RUN_TEXT { $$.text = $1; $$.type = NARRATIVE_RUN_NORMAL; } | '*' RUN_TEXT '*' { $$.text = $2; $$.type = NARRATIVE_RUN_BOLD; } +| '/' RUN_TEXT '/' { $$.text = $2; $$.type = NARRATIVE_RUN_ITALIC; } +| '_' RUN_TEXT '_' { $$.text = $2; $$.type = NARRATIVE_RUN_UNDERLINE; } /* -------- Slide -------- */ -- cgit v1.2.3