diff options
Diffstat (limited to 'ocamldoc/odoc_text_parser.mly')
-rw-r--r-- | ocamldoc/odoc_text_parser.mly | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/ocamldoc/odoc_text_parser.mly b/ocamldoc/odoc_text_parser.mly index 8711ca05f..41bebea6f 100644 --- a/ocamldoc/odoc_text_parser.mly +++ b/ocamldoc/odoc_text_parser.mly @@ -14,7 +14,7 @@ open Odoc_types -let identchar = +let identchar = "[A-Z a-z_\192-\214\216-\246\248-\255'0-9]" let blank = "[ \010\013\009\012]" @@ -36,6 +36,7 @@ let print_DEBUG s = print_string s; print_newline () %token LEFT %token RIGHT %token ITALIC +%token <string> CUSTOM %token LIST %token ENUM %token ITEM @@ -78,7 +79,7 @@ let print_DEBUG s = print_string s; print_newline () %token <string> Char /* Start Symbols */ -%start main +%start main %type <Odoc_types.text> main %% @@ -100,6 +101,7 @@ text_element: Title text END { let n, l_opt = $1 in Title (n, l_opt, $2) } | BOLD text END { Bold $2 } | ITALIC text END { Italic $2 } +| CUSTOM text END { Custom ($1, $2) } | EMP text END { Emphasize $2 } | SUPERSCRIPT text END { Superscript $2 } | SUBSCRIPT text END { Subscript $2 } @@ -110,68 +112,68 @@ text_element: | ENUM list END { Enum $2 } | CODE string END_CODE { Code $2 } | CODE_PRE string END_CODE_PRE { CodePre $2 } -| ELE_REF string END { +| ELE_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, None) + Ref (s3, None) } -| VAL_REF string END { +| VAL_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_value) + Ref (s3, Some RK_value) } -| TYP_REF string END { +| TYP_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_type) + Ref (s3, Some RK_type) } -| EXC_REF string END { +| EXC_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_exception) + Ref (s3, Some RK_exception) } -| MOD_REF string END { +| MOD_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_module) + Ref (s3, Some RK_module) } -| MODT_REF string END { +| MODT_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_module_type) + Ref (s3, Some RK_module_type) } -| CLA_REF string END { +| CLA_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_class) + Ref (s3, Some RK_class) } -| CLT_REF string END { +| CLT_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_class_type) + Ref (s3, Some RK_class_type) } -| ATT_REF string END { +| ATT_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_attribute) + Ref (s3, Some RK_attribute) } -| MET_REF string END { +| MET_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in - Ref (s3, Some RK_method) + Ref (s3, Some RK_method) } -| SEC_REF string END { +| SEC_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in Ref (s3, Some (RK_section [])) } -| MOD_LIST_REF string END { +| MOD_LIST_REF string END { let s2 = remove_beginning_blanks $2 in let s3 = remove_trailing_blanks s2 in let l = Odoc_misc.split_with_blanks s3 in Module_list l } -| INDEX_LIST { Index_list } +| INDEX_LIST { Index_list } | VERB string END_VERB { Verbatim $2 } | LATEX string END_LATEX { Latex $2 } | LINK string END text END { Link ($2, $4) } @@ -184,7 +186,7 @@ text_element: ; list: -| string { [] (* A VOIR : un test pour voir qu'il n'y a que des blancs *) } +| string { [] (* A VOIR : un test pour voir qu'il n'y a que des blancs *) } | string list { $2 } | list string { $1 } | item { [ $1 ] } @@ -220,4 +222,4 @@ string: | Char string { $1^$2 } ; -%% +%% |