public
Description: An implementation of markdown in C, using a PEG grammar
Clone URL: git://github.com/jgm/peg-markdown.git
Added APOSTROPHE to smart typography parsing.
jgm (author)
Mon May 12 10:47:17 -0700 2008
commit  595a4061615bed7d8d0c841d22c11b156c314f27
tree    52b9bc512d79caba2e172c48444fcefd19123c0a
parent  94746ad2db5c9c2cd142c77c38dbc1ddceb5db95
...
114
115
116
 
 
 
117
118
119
...
368
369
370
 
 
 
371
372
373
...
574
575
576
 
 
 
577
578
579
...
114
115
116
117
118
119
120
121
122
...
371
372
373
374
375
376
377
378
379
...
580
581
582
583
584
585
586
587
588
0
@@ -114,6 +114,9 @@ void print_html_element(element elt, bool obfuscate) {
0
     case ENDASH:
0
         printf("–");
0
         break;
0
+ case APOSTROPHE:
0
+ printf("'");
0
+ break;
0
     case SINGLEQUOTED:
0
         printf("‘");
0
         print_html_element_list(elt.children, obfuscate);
0
@@ -368,6 +371,9 @@ void print_latex_element(element elt) {
0
     case ENDASH:
0
         printf("--");
0
         break;
0
+ case APOSTROPHE:
0
+ printf("'");
0
+ break;
0
     case SINGLEQUOTED:
0
         printf("`");
0
         print_latex_element_list(elt.children);
0
@@ -574,6 +580,9 @@ void print_groff_mm_element(element elt, int count) {
0
     case ENDASH:
0
         printf("\\[en]");
0
         break;
0
+ case APOSTROPHE:
0
+ printf("'");
0
+ break;
0
     case SINGLEQUOTED:
0
         printf("`");
0
         print_groff_mm_element_list(elt.children);
...
779
780
781
782
 
 
 
 
783
784
785
 
786
787
788
789
790
 
791
792
793
 
794
795
796
...
779
780
781
 
782
783
784
785
786
787
 
788
789
790
791
792
 
793
794
795
 
796
797
798
799
0
@@ -779,18 +779,21 @@ ExtendedSpecialChar = &{ extension(EXT_SMART) } ('.' | '-' | '\'' | '"')
0
                     | &{ extension(EXT_NOTES) } ( '^' )
0
 
0
 Smart = &{ extension(EXT_SMART) }
0
- ( Ellipsis | Dash | SingleQuoted | DoubleQuoted )
0
+ ( Ellipsis | Dash | SingleQuoted | DoubleQuoted | Apostrophe )
0
+
0
+Apostrophe = '\''
0
+ { $$ = mk_element(APOSTROPHE); }
0
 
0
 Ellipsis = ("..." | ". . .")
0
- { $$.key = ELLIPSIS; }
0
+ { $$ = mk_element(ELLIPSIS); }
0
 
0
 Dash = EmDash | EnDash
0
 
0
 EnDash = '-' &Digit
0
- { $$.key = ENDASH; }
0
+ { $$ = mk_element(ENDASH); }
0
 
0
 EmDash = Sp ("---" | "--") Sp
0
- { $$.key = EMDASH; }
0
+ { $$ = mk_element(EMDASH); }
0
 
0
 SingleQuoteStart = '\'' ![)!\],.;:-? \t\n] !( ( "s" | "t" | "m" | "ve" | "ll" | "re" ) !Alphanumeric )
0
 
...
31
32
33
 
34
35
36
...
31
32
33
34
35
36
37
0
@@ -31,6 +31,7 @@ enum keys { LIST, /* A generic list of values. For ordered and bullet lists,
0
             ELLIPSIS,
0
             EMDASH,
0
             ENDASH,
0
+ APOSTROPHE,
0
             SINGLEQUOTED,
0
             DOUBLEQUOTED,
0
             STR,

Comments

    No one has commented yet.