Skip to content

Commit

Permalink
More fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
lijon committed Feb 29, 2012
1 parent d029844 commit 039acdf
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 30 deletions.
52 changes: 26 additions & 26 deletions SCDoc.l
Original file line number Diff line number Diff line change
Expand Up @@ -57,41 +57,41 @@ if (scdoc_start_token) {
(?i:[ \t]*warning::[ \t\n]*) return WARNING;
(?i:[ \t]*note::[ \t\n]*) return NOTE;

(?i:link::[ \t]*) BEGIN(verbatim); return LINK;
(?i:anchor::[ \t]*) BEGIN(verbatim); return ANCHOR;
(?i:image::[ \t]*) BEGIN(verbatim); return IMAGE;
(?i:soft::[ \t\n]*) BEGIN(verbatim); return SOFT;
(?i:strong::[ \t\n]*) BEGIN(verbatim); return STRONG;
(?i:emphasis::[ \t\n]*) BEGIN(verbatim); return EMPHASIS;
(?i:code::[ \t]*) BEGIN(verbatim); return CODE;
(?i:teletype::[ \t]*) BEGIN(verbatim); return TELETYPE;
(?i:math::[ \t]*) BEGIN(verbatim); return MATH;

(?i:[ \t]*code::[ \t]*\n+) BEGIN(verbatim2); return CODEBLOCK;
(?i:[ \t]*teletype::[ \t]*\n+) BEGIN(verbatim2); return TELETYPEBLOCK;
(?i:[ \t]*math::[ \t]*\n+) BEGIN(verbatim2); return MATHBLOCK;
(?i:link::[ \t]*) BEGIN(verbatim); return LINK;
(?i:anchor::[ \t]*) BEGIN(verbatim); return ANCHOR;
(?i:image::[ \t]*) BEGIN(verbatim); return IMAGE;
(?i:soft::[ \t\n]*) BEGIN(verbatim); return SOFT;
(?i:strong::[ \t\n]*) BEGIN(verbatim); return STRONG;
(?i:emphasis::[ \t\n]*) BEGIN(verbatim); return EMPHASIS;
(?i:code::[ \t]*) BEGIN(verbatim); return CODE;
(?i:teletype::[ \t]*) BEGIN(verbatim); return TELETYPE;
(?i:math::[ \t]*) BEGIN(verbatim); return MATH;

(?i:[ \t]*code::[ \t]*\n+) BEGIN(verbatim2); return CODEBLOCK;
(?i:[ \t]*teletype::[ \t]*\n+) BEGIN(verbatim2); return TELETYPEBLOCK;
(?i:[ \t]*math::[ \t]*\n+) BEGIN(verbatim2); return MATHBLOCK;

<INITIAL,verbatim>[ \t\n]*:: BEGIN(0); return TAGSYM;
<verbatim2>\n[ \t\n]*:: BEGIN(0); return TAGSYM;
[ \t]*\|\|[ \t\n]* return BARS;
[ \t]*\#\#[ \t\n]* return HASHES;
<verbatim2>\n[ \t\n]*:: BEGIN(0); return TAGSYM;
[ \t]*\|\|[ \t\n]* return BARS;
[ \t]*\#\#[ \t\n]* return HASHES;

<verbatim2>\n scdoclval.str = strdup("\n"); return TEXT;
<verbatim>\n+ scdoclval.str = strdup(" "); return TEXT;
<INITIAL>\n return EOL;
<INITIAL>\n return EOL;
\n\n+ return EMPTYLINES;

\\\|\| scdoclval.str = strdup("||"); return TEXT;
\\\#\# scdoclval.str = strdup("##"); return TEXT;
<INITIAL,verbatim>\\:: scdoclval.str = strdup("::"); return TEXT;
<verbatim,verbatim2>\t scdoclval.str = strdup(" "); return TEXT;
[ \r\t]+ scdoclval.str = strdup(" "); return TEXT;
\\\|\| scdoclval.str = strdup("||"); return TEXT;
\\\#\# scdoclval.str = strdup("##"); return TEXT;
<INITIAL,verbatim>\\:: scdoclval.str = strdup("::"); return TEXT;
<verbatim,verbatim2>\t scdoclval.str = strdup(" "); return TEXT;
[ \r\t]+ scdoclval.str = strdup(" "); return TEXT;

[a-zA-Z]+ |
<*>[.,!?(){}\[\]'"0-9]+ |
[a-zA-Z]+ |
<*>[.,!?(){}\[\]'"0-9]+ |
<verbatim,verbatim2>[^:\\\t\n ]+ |
[^:\\\n] |
<*>. scdoclval.str = strdup(scdoctext); return TEXT;
[^:\\\n] |
<*>. scdoclval.str = strdup(scdoctext); return TEXT;

%%

9 changes: 5 additions & 4 deletions SCDoc.y
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ void scdocerror(const char *str)

// merge a+b and free b
char *strmerge(char *a, char *b) {
if(a==NULL) return b;
if(b==NULL) return a;
char *s = (char *)realloc(a,strlen(a)+strlen(b)+1);
strcat(s,b);
free(b);
Expand Down Expand Up @@ -194,9 +196,8 @@ void node_dump(Node *n, int level, int last) {
%token TAGSYM BARS HASHES
// text and whitespace
%token <str> TEXT
%token <i> EOL EMPTYLINES
%token EOL EMPTYLINES

%type <i> eol
%type <id> headtag sectiontag listtag rangetag tabletag inlinetag blocktag
%type <str> anyword words anywordnl wordsnl
%type <node> arg optreturns optdiscussion body bodyelem
Expand Down Expand Up @@ -452,8 +453,8 @@ words: words anyword { $$ = strmerge($1,$2); }
| anyword
;

eol: EOL { $$ = 0; }
| EMPTYLINES { $$ = 1; }
eol: EOL
| EMPTYLINES
;

anywordnl: anyword
Expand Down

0 comments on commit 039acdf

Please sign in to comment.