public
Description: An implementation of markdown in C, using a PEG grammar
Clone URL: git://github.com/jgm/peg-markdown.git
Search Repo:
Added MDASH and NDASH.
jgm (author)
Thu May 08 14:47:59 -0700 2008
commit  7738d529b1bf0434dceddb0fc89845b156cdaf3c
tree    4ccfca34747753878dea0b55ac2b635d59b0bcf4
parent  320bdab8acb58a5ee6a043aa4571638810d50889
...
105
106
107
 
 
 
 
 
 
108
109
110
...
306
307
308
 
 
 
 
 
 
309
310
311
...
456
457
458
 
 
 
 
 
 
459
460
461
...
105
106
107
108
109
110
111
112
113
114
115
116
...
312
313
314
315
316
317
318
319
320
321
322
323
...
468
469
470
471
472
473
474
475
476
477
478
479
0
@@ -105,6 +105,12 @@
0
     case ELLIPSIS:
0
         printf("…");
0
         break;
0
+ case EMDASH:
0
+ printf("—");
0
+ break;
0
+ case ENDASH:
0
+ printf("–");
0
+ break;
0
     case CODE:
0
         printf("<code>");
0
         print_html_string(elt.contents.str, obfuscate);
0
@@ -306,6 +312,12 @@
0
     case ELLIPSIS:
0
         printf("\\ldots{}");
0
         break;
0
+ case EMDASH:
0
+ printf("---");
0
+ break;
0
+ case ENDASH:
0
+ printf("--");
0
+ break;
0
     case CODE:
0
         printf("\\texttt{");
0
         print_latex_string(elt.contents.str);
0
@@ -456,6 +468,12 @@
0
         break;
0
     case ELLIPSIS:
0
         printf("...");
0
+ break;
0
+ case EMDASH:
0
+ printf("\\[em]");
0
+ break;
0
+ case ENDASH:
0
+ printf("\\[en]");
0
         break;
0
     case CODE:
0
         printf("\\fC");
...
720
721
722
 
723
724
725
726
727
...
747
748
749
750
 
751
752
 
 
753
754
 
 
 
 
 
 
 
755
756
757
...
720
721
722
723
724
725
726
727
728
...
748
749
750
 
751
752
 
753
754
755
 
756
757
758
759
760
761
762
763
764
765
0
@@ -720,6 +720,7 @@
0
 SpecialChar = '*' | '_' | '`' | '&' | '[' | ']' | '<' | '!' | '\\' | ExtendedSpecialChar
0
 NormalChar = !( SpecialChar | Spacechar | Newline ) .
0
 Alphanumeric = [A-Za-z0-9]
0
+Digit = [0-9]
0
 
0
 HexEntity = < '&' '#' [Xx] [0-9a-fA-F]+ ';' >
0
 DecEntity = < '&' '#' [0-9]+ > ';' >
0
0
0
@@ -747,11 +748,18 @@
0
 
0
 # Syntax extensions
0
 
0
-ExtendedSpecialChar = (&{ (syntax_extensions & EXT_SMART) } '.')
0
+ExtendedSpecialChar = &{ (syntax_extensions & EXT_SMART) } ('.' | '-')
0
 
0
-Smart = &{ (syntax_extensions & EXT_SMART) } Ellipses
0
+Smart = &{ (syntax_extensions & EXT_SMART) }
0
+ ( Ellipsis | Dash )
0
 
0
-Ellipses = ("..." | ". . .") { $$.key = ELLIPSIS; }
0
+Ellipsis = ("..." | ". . .") { $$.key = ELLIPSIS; }
0
+
0
+Dash = EmDash | EnDash
0
+
0
+EnDash = '-' &Digit { $$.key = ENDASH; }
0
+
0
+EmDash = Sp ("---" | "--") Sp { $$.key = EMDASH; }
0
 
0
 %%
0
 
...
28
29
30
 
 
31
32
33
...
28
29
30
31
32
33
34
35
0
@@ -28,6 +28,8 @@
0
             SPACE,
0
             LINEBREAK,
0
             ELLIPSIS,
0
+ EMDASH,
0
+ ENDASH,
0
             STR,
0
             LINK,
0
             IMAGE,

Comments

    No one has commented yet.