This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/examplefiles/ocaml/format.ml.output
François Pottier c097c926d4
A couple small fixes in the OCaml lexer. (#2521)
* Remove "value" from the keywords.

"value" is not a keyword in OCaml.
It was once a keyword in the so-called "revised" syntax of OCaml,
but this syntax was never mainstream and is now essentially extinct.

* Add "and" to the keywords.

"and" is a keyword in OCaml.
It is used e.g. in "let x = 0 and y = 1".
It is not an infix operator.
2023-09-25 10:19:28 +02:00

11547 lines
240 KiB
Text
Generated

'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n' Text
'(*' Comment
' ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' Objective Caml ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' Pierre Weis, projet Cristal, INRIA Rocquencourt ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' Copyright 1996 Institut National de Recherche en Informatique et ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' en Automatique. All rights reserved. This file is distributed ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' under the terms of the GNU Library General Public License, with ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' the special exception on linking described in file ../LICENSE. ' Comment
'*)' Comment
'\n' Text
'(*' Comment
' ' Comment
'*)' Comment
'\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' $Id: format.ml,v 1.65 2005/09/26 10:13:08 weis Exp $ ' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Data structures definitions.\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'type' Keyword
' ' Text
'size' Name
';;' Operator
'\n\n' Text
'external' Keyword
' ' Text
'size_of_int' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
' ' Text
'->' Operator
' ' Text
'size' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'%identity' Literal.String.Double
'"' Literal.String.Double
';;' Operator
'\n' Text
'external' Keyword
' ' Text
'int_of_size' Name
' ' Text
':' Operator
' ' Text
'size' Name
' ' Text
'->' Operator
' ' Text
'int' Keyword.Type
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'%identity' Literal.String.Double
'"' Literal.String.Double
';;' Operator
'\n\n' Text
'(*' Comment
' Tokens are one of the following : ' Comment
'*)' Comment
'\n\n' Text
'type' Keyword
' ' Text
'pp_token' Name
' ' Text
'=' Operator
'\n' Text
'|' Operator
' ' Text
'Pp_text' Name.Class
' ' Text
'of' Keyword
' ' Text
'string' Keyword.Type
' ' Text
'(*' Comment
' normal text ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_break' Name.Class
' ' Text
'of' Keyword
' ' Text
'int' Keyword.Type
' ' Text
'*' Operator
' ' Text
'int' Keyword.Type
' ' Text
'(*' Comment
' complete break ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_tbreak' Name.Class
' ' Text
'of' Keyword
' ' Text
'int' Keyword.Type
' ' Text
'*' Operator
' ' Text
'int' Keyword.Type
' ' Text
'(*' Comment
' go to next tabulation ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_stab' Name.Class
' ' Text
'(*' Comment
' set a tabulation ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_begin' Name.Class
' ' Text
'of' Keyword
' ' Text
'int' Keyword.Type
' ' Text
'*' Operator
' ' Text
'block_type' Name
' ' Text
'(*' Comment
' beginning of a block ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_end' Name.Class
' ' Text
'(*' Comment
' end of a block ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_tbegin' Name.Class
' ' Text
'of' Keyword
' ' Text
'tblock' Name
' ' Text
'(*' Comment
' beginning of a tabulation block ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_tend' Name.Class
' ' Text
'(*' Comment
' end of a tabulation block ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_newline' Name.Class
' ' Text
'(*' Comment
' to force a newline inside a block ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_if_newline' Name.Class
' ' Text
'(*' Comment
' to do something only if this very\n line has been broken ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_open_tag' Name.Class
' ' Text
'of' Keyword
' ' Text
'string' Keyword.Type
' ' Text
'(*' Comment
' opening a tag name ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_close_tag' Name.Class
' ' Text
'(*' Comment
' closing the most recently opened tag ' Comment
'*)' Comment
'\n\n' Text
'and' Keyword
' ' Text
'tag' Name
' ' Text
'=' Operator
' ' Text
'string' Keyword.Type
'\n\n' Text
'and' Keyword
' ' Text
'block_type' Name
' ' Text
'=' Operator
'\n' Text
'|' Operator
' ' Text
'Pp_hbox' Name.Class
' ' Text
'(*' Comment
' Horizontal block no line breaking ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_vbox' Name.Class
' ' Text
'(*' Comment
' Vertical block each break leads to a new line ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_hvbox' Name.Class
' ' Text
'(*' Comment
' Horizontal-vertical block: same as vbox, except if this block\n is small enough to fit on a single line ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_hovbox' Name.Class
' ' Text
'(*' Comment
' Horizontal or Vertical block: breaks lead to new line\n only when necessary to print the content of the block ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_box' Name.Class
' ' Text
'(*' Comment
' Horizontal or Indent block: breaks lead to new line\n only when necessary to print the content of the block, or\n when it leads to a new indentation of the current line ' Comment
'*)' Comment
'\n' Text
'|' Operator
' ' Text
'Pp_fits' Name.Class
' ' Text
'(*' Comment
' Internal usage: when a block fits on a single line ' Comment
'*)' Comment
'\n\n' Text
'and' Keyword
' ' Text
'tblock' Name
' ' Text
'=' Operator
' ' Text
'Pp_tbox' Name.Class
' ' Text
'of' Keyword
' ' Text
'int' Keyword.Type
' ' Text
'list' Keyword.Type
' ' Text
'ref' Name
' ' Text
'(*' Comment
' Tabulation box ' Comment
'*)' Comment
'\n' Text
';;' Operator
'\n\n' Text
'(*' Comment
' The Queue:\n contains all formatting elements.\n elements are tuples ' Comment
'(' Comment
'size, token, length' Comment
')' Comment
', where\n size is set when the size of the block is known\n len is the declared length of the token. ' Comment
'*)' Comment
'\n' Text
'type' Keyword
' ' Text
'pp_queue_elem' Name
' ' Text
'=' Operator
' ' Text
'{' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'elem_size' Name
' ' Text
':' Operator
' ' Text
'size' Name
';' Operator
' ' Text
'token' Name
' ' Text
':' Operator
' ' Text
'pp_token' Name
';' Operator
' ' Text
'length' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
'\n' Text
'}' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Scan stack:\n each element is ' Comment
'(' Comment
'left_total, queue element' Comment
')' Comment
' where left_total\n is the value of pp_left_total when the element has been enqueued. ' Comment
'*)' Comment
'\n' Text
'type' Keyword
' ' Text
'pp_scan_elem' Name
' ' Text
'=' Operator
' ' Text
'Scan_elem' Name.Class
' ' Text
'of' Keyword
' ' Text
'int' Keyword.Type
' ' Text
'*' Operator
' ' Text
'pp_queue_elem' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Formatting stack:\n used to break the lines while printing tokens.\n The formatting stack contains the description of\n the currently active blocks. ' Comment
'*)' Comment
'\n' Text
'type' Keyword
' ' Text
'pp_format_elem' Name
' ' Text
'=' Operator
' ' Text
'Format_elem' Name.Class
' ' Text
'of' Keyword
' ' Text
'block_type' Name
' ' Text
'*' Operator
' ' Text
'int' Keyword.Type
';;' Operator
'\n\n' Text
'(*' Comment
' General purpose queues, used in the formatter. ' Comment
'*)' Comment
'\n' Text
'type' Keyword
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue_elem' Name
' ' Text
'=' Operator
' ' Text
'|' Operator
' ' Text
'Nil' Name.Class
' ' Text
'|' Operator
' ' Text
'Cons' Name.Class
' ' Text
'of' Keyword
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue_cell' Name
'\n' Text
'and' Keyword
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue_cell' Name
' ' Text
'=' Operator
' ' Text
'{' Operator
'mutable' Keyword
' ' Text
'head' Name
' ' Text
':' Operator
' ' Text
"'" Keyword
'a' Name
';' Operator
' ' Text
'mutable' Keyword
' ' Text
'tail' Name
' ' Text
':' Operator
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue_elem' Name
'}' Operator
';;' Operator
'\n\n' Text
'type' Keyword
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue' Name
' ' Text
'=' Operator
' ' Text
'{' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'insert' Name
' ' Text
':' Operator
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue_elem' Name
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'body' Name
' ' Text
':' Operator
' ' Text
"'" Keyword
'a' Name
' ' Text
'queue_elem' Name
'\n' Text
'}' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' The formatter specific tag handling functions. ' Comment
'*)' Comment
'\n' Text
'type' Keyword
' ' Text
'formatter_tag_functions' Name
' ' Text
'=' Operator
' ' Text
'{' Operator
'\n ' Text
'mark_open_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
';' Operator
'\n ' Text
'mark_close_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
';' Operator
'\n ' Text
'print_open_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'print_close_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n\n' Text
'}' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' A formatter with all its machinery. ' Comment
'*)' Comment
'\n' Text
'type' Keyword
' ' Text
'formatter' Name
' ' Text
'=' Operator
' ' Text
'{' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_scan_stack' Name
' ' Text
':' Operator
' ' Text
'pp_scan_elem' Name
' ' Text
'list' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_format_stack' Name
' ' Text
':' Operator
' ' Text
'pp_format_elem' Name
' ' Text
'list' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_tbox_stack' Name
' ' Text
':' Operator
' ' Text
'tblock' Name
' ' Text
'list' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_tag_stack' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'list' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_mark_stack' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'list' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Global variables: default initialization is\n set_margin 78\n set_min_space_left 0. ' Comment
'*)' Comment
'\n ' Text
'(*' Comment
' Value of right margin. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_margin' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Minimal space left before margin, when opening a block. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_min_space_left' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Maximum value of indentation:\n no blocks can be opened further. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_max_indent' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Space remaining on the current line. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_space_left' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Current value of indentation. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_current_indent' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' True when the line has been broken by the pretty-printer. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_is_new_line' Name
' ' Text
':' Operator
' ' Text
'bool' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Total width of tokens already printed. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_left_total' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Total width of tokens ever put in queue. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_right_total' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Current number of opened blocks. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_curr_depth' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Maximum number of blocks which can be simultaneously opened. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_max_boxes' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Ellipsis string. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_ellipsis' Name
' ' Text
':' Operator
' ' Text
'string' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Output function. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_output_function' Name
' ' Text
':' Operator
' ' Text
'string' Keyword.Type
' ' Text
'->' Operator
' ' Text
'int' Keyword.Type
' ' Text
'->' Operator
' ' Text
'int' Keyword.Type
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Flushing function. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_flush_function' Name
' ' Text
':' Operator
' ' Text
'unit' Keyword.Type
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Output of new lines. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_output_newline' Name
' ' Text
':' Operator
' ' Text
'unit' Keyword.Type
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Output of indentation spaces. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_output_spaces' Name
' ' Text
':' Operator
' ' Text
'int' Keyword.Type
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Are tags printed ? ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_print_tags' Name
' ' Text
':' Operator
' ' Text
'bool' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Are tags marked ? ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_mark_tags' Name
' ' Text
':' Operator
' ' Text
'bool' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' Find opening and closing markers of tags. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_mark_open_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_mark_close_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_print_open_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'mutable' Keyword
' ' Text
'pp_print_close_tag' Name
' ' Text
':' Operator
' ' Text
'tag' Name
' ' Text
'->' Operator
' ' Text
'unit' Keyword.Type
';' Operator
'\n ' Text
'(*' Comment
' The pretty-printer queue. ' Comment
'*)' Comment
'\n ' Text
'mutable' Keyword
' ' Text
'pp_queue' Name
' ' Text
':' Operator
' ' Text
'pp_queue_elem' Name
' ' Text
'queue' Name
'\n' Text
'}' Operator
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Auxilliaries and basic functions.\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n\n' Text
'(*' Comment
' Queues auxilliaries. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'make_queue' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'{' Operator
'insert' Name
' ' Text
'=' Operator
' ' Text
'Nil' Name.Class
';' Operator
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'Nil' Name.Class
'}' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'clear_queue' Name
' ' Text
'q' Name
' ' Text
'=' Operator
' ' Text
'q' Name
'.' Operator
'insert' Name
' ' Text
'<-' Operator
' ' Text
'Nil' Name.Class
';' Operator
' ' Text
'q' Name
'.' Operator
'body' Name
' ' Text
'<-' Operator
' ' Text
'Nil' Name.Class
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'add_queue' Name
' ' Text
'x' Name
' ' Text
'q' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'c' Name
' ' Text
'=' Operator
' ' Text
'Cons' Name.Class
' ' Text
'{' Operator
'head' Name
' ' Text
'=' Operator
' ' Text
'x' Name
';' Operator
' ' Text
'tail' Name
' ' Text
'=' Operator
' ' Text
'Nil' Name.Class
'}' Operator
' ' Text
'in' Keyword
'\n ' Text
'match' Keyword
' ' Text
'q' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'{' Operator
'insert' Name
' ' Text
'=' Operator
' ' Text
'Cons' Name.Class
' ' Text
'cell' Name
'}' Operator
' ' Text
'->' Operator
' ' Text
'q' Name
'.' Operator
'insert' Name
' ' Text
'<-' Operator
' ' Text
'c' Name
';' Operator
' ' Text
'cell' Name
'.' Operator
'tail' Name
' ' Text
'<-' Operator
' ' Text
'c' Name
'\n ' Text
'(*' Comment
' Invariant: when insert is Nil body should be Nil. ' Comment
'*)' Comment
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'q' Name
'.' Operator
'insert' Name
' ' Text
'<-' Operator
' ' Text
'c' Name
';' Operator
' ' Text
'q' Name
'.' Operator
'body' Name
' ' Text
'<-' Operator
' ' Text
'c' Name
';;' Operator
'\n\n' Text
'exception' Keyword
' ' Text
'Empty_queue' Name.Class
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'peek_queue' Name
' ' Text
'=' Operator
' ' Text
'function' Keyword
'\n ' Text
'|' Operator
' ' Text
'{' Operator
'body' Name
' ' Text
'=' Operator
' ' Text
'Cons' Name.Class
' ' Text
'{' Operator
'head' Name
' ' Text
'=' Operator
' ' Text
'x' Name
'}' Operator
'}' Operator
' ' Text
'->' Operator
' ' Text
'x' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'raise' Keyword
' ' Text
'Empty_queue' Name.Class
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'take_queue' Name
' ' Text
'=' Operator
' ' Text
'function' Keyword
'\n ' Text
'|' Operator
' ' Text
'{' Operator
'body' Name
' ' Text
'=' Operator
' ' Text
'Cons' Name.Class
' ' Text
'{' Operator
'head' Name
' ' Text
'=' Operator
' ' Text
'x' Name
';' Operator
' ' Text
'tail' Name
' ' Text
'=' Operator
' ' Text
'tl' Name
'}' Operator
'}' Operator
' ' Text
'as' Keyword
' ' Text
'q' Name
' ' Text
'->' Operator
'\n ' Text
'q' Name
'.' Operator
'body' Name
' ' Text
'<-' Operator
' ' Text
'tl' Name
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'tl' Name
' ' Text
'=' Operator
' ' Text
'Nil' Name.Class
' ' Text
'then' Keyword
' ' Text
'q' Name
'.' Operator
'insert' Name
' ' Text
'<-' Operator
' ' Text
'Nil' Name.Class
';' Operator
' ' Text
'(*' Comment
' Maintain the invariant. ' Comment
'*)' Comment
'\n ' Text
'x' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'raise' Keyword
' ' Text
'Empty_queue' Name.Class
';;' Operator
'\n\n' Text
'(*' Comment
' Enter a token in the pretty-printer queue. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_enqueue' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'{' Operator
'length' Name
' ' Text
'=' Operator
' ' Text
'len' Name
'}' Operator
' ' Text
'as' Keyword
' ' Text
'token' Name
')' Operator
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'+' Operator
' ' Text
'len' Name
';' Operator
'\n ' Text
'add_queue' Name
' ' Text
'token' Name
' ' Text
'state' Name
'.' Operator
'pp_queue' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_clear_queue' Name
' ' Text
'state' Name
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_left_total' Name
' ' Text
'<-' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
' ' Text
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'<-' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'clear_queue' Name
' ' Text
'state' Name
'.' Operator
'pp_queue' Name
';;' Operator
'\n\n' Text
'(*' Comment
" Pp_infinity: large value for default tokens size.\n\n Pp_infinity is documented as being greater than 1e10; to avoid\n confusion about the word ``greater'', we choose pp_infinity greater\n than 1e10 + 1; for correct handling of tests in the algorithm,\n pp_infinity must be even one more than 1e10 + 1; let's stand on the\n safe side by choosing 1.e10+10.\n\n Pp_infinity could probably be 1073741823 that is 2^30 - 1, that is\n the minimal upper bound for integers; now that max_int is defined,\n this limit could also be defined as max_int - 1.\n\n However, before setting pp_infinity to something around max_int, we\n must carefully double-check all the integer arithmetic operations\n that involve pp_infinity, since any overflow would wreck havoc the\n pretty-printing algorithm's invariants. Given that this arithmetic\n correctness check is difficult and error prone and given that 1e10\n + 1 is in practice large enough, there is no need to attempt to set\n pp_infinity to the theoretically maximum limit. Is it not worth the\n burden ! " Comment
'*)' Comment
'\n\n' Text
'let' Keyword
' ' Text
'pp_infinity' Name
' ' Text
'=' Operator
' ' Text
'1000000010' Literal.Number.Integer
';;' Operator
'\n\n' Text
'(*' Comment
' Output functions for the formatter. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_output_string' Name
' ' Text
'state' Name
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_output_function' Name
' ' Text
's' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'(' Operator
'String' Name.Namespace
'.' Punctuation
'length' Name
' ' Text
's' Name
')' Operator
'\n' Text
'and' Keyword
' ' Text
'pp_output_newline' Name
' ' Text
'state' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_output_newline' Name
' ' Text
'()' Name.Builtin.Pseudo
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_display_blanks' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_output_spaces' Name
' ' Text
'n' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To format a break, indenting a new line. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'offset' Name
' ' Text
'width' Name
' ' Text
'=' Operator
'\n ' Text
'pp_output_newline' Name
' ' Text
'state' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_is_new_line' Name
' ' Text
'<-' Operator
' ' Text
'true' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'let' Keyword
' ' Text
'indent' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'width' Name
' ' Text
'+' Operator
' ' Text
'offset' Name
' ' Text
'in' Keyword
'\n ' Text
'(*' Comment
" Don't indent more than pp_max_indent. " Comment
'*)' Comment
'\n ' Text
'let' Keyword
' ' Text
'real_indent' Name
' ' Text
'=' Operator
' ' Text
'min' Name
' ' Text
'state' Name
'.' Operator
'pp_max_indent' Name
' ' Text
'indent' Name
' ' Text
'in' Keyword
'\n ' Text
'state' Name
'.' Operator
'pp_current_indent' Name
' ' Text
'<-' Operator
' ' Text
'real_indent' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_current_indent' Name
';' Operator
'\n ' Text
'pp_display_blanks' Name
' ' Text
'state' Name
' ' Text
'state' Name
'.' Operator
'pp_current_indent' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To force a line break inside a block: no offset is added. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'break_line' Name
' ' Text
'state' Name
' ' Text
'width' Name
' ' Text
'=' Operator
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'width' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To format a break that fits on the current line. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'width' Name
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'-' Operator
' ' Text
'width' Name
';' Operator
'\n ' Text
'pp_display_blanks' Name
' ' Text
'state' Name
' ' Text
'width' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To indent no more than pp_max_indent, if one tries to open a block\n beyond pp_max_indent, then the block is rejected on the left\n by simulating a break. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_force_break_line' Name
' ' Text
'state' Name
' ' Text
'=' Operator
'\n ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Format_elem' Name.Class
' ' Text
'(' Operator
'bl_ty' Name
',' Operator
' ' Text
'width' Name
')' Operator
' ' Text
'::' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
'\n ' Text
'if' Keyword
' ' Text
'width' Name
' ' Text
'>' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'then' Keyword
'\n ' Text
'(' Operator
'match' Keyword
' ' Text
'bl_ty' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_fits' Name.Class
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'|' Operator
' ' Text
'Pp_hbox' Name.Class
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'break_line' Name
' ' Text
'state' Name
' ' Text
'width' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'pp_output_newline' Name
' ' Text
'state' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To skip a token, if the previous line has been broken. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_skip_token' Name
' ' Text
'state' Name
' ' Text
'=' Operator
'\n ' Text
'(*' Comment
' When calling pp_skip_token the queue cannot be empty. ' Comment
'*)' Comment
'\n ' Text
'match' Keyword
' ' Text
'take_queue' Name
' ' Text
'state' Name
'.' Operator
'pp_queue' Name
' ' Text
'with' Keyword
'\n ' Text
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size' Name
';' Operator
' ' Text
'length' Name
' ' Text
'=' Operator
' ' Text
'len' Name
'}' Operator
' ' Text
'->' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_left_total' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_left_total' Name
' ' Text
'-' Operator
' ' Text
'len' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'+' Operator
' ' Text
'int_of_size' Name
' ' Text
'size' Name
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n The main pretting printing functions.\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' To format a token. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'format_pp_token' Name
' ' Text
'state' Name
' ' Text
'size' Name
' ' Text
'=' Operator
' ' Text
'function' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_text' Name.Class
' ' Text
's' Name
' ' Text
'->' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'-' Operator
' ' Text
'size' Name
';' Operator
'\n ' Text
'pp_output_string' Name
' ' Text
'state' Name
' ' Text
's' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_is_new_line' Name
' ' Text
'<-' Operator
' ' Text
'false' Name.Builtin.Pseudo
'\n\n ' Text
'|' Operator
' ' Text
'Pp_begin' Name.Class
' ' Text
'(' Operator
'off' Name
',' Operator
' ' Text
'ty' Name
')' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'insertion_point' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'in' Keyword
'\n ' Text
'if' Keyword
' ' Text
'insertion_point' Name
' ' Text
'>' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_indent' Name
' ' Text
'then' Keyword
'\n ' Text
'(*' Comment
" can't open a block right there. " Comment
'*)' Comment
'\n ' Text
'begin' Keyword
' ' Text
'pp_force_break_line' Name
' ' Text
'state' Name
' ' Text
'end' Keyword
';' Operator
'\n ' Text
'let' Keyword
' ' Text
'offset' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'-' Operator
' ' Text
'off' Name
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'bl_type' Name
' ' Text
'=' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'ty' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_vbox' Name.Class
' ' Text
'->' Operator
' ' Text
'Pp_vbox' Name.Class
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'if' Keyword
' ' Text
'size' Name
' ' Text
'>' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'then' Keyword
' ' Text
'ty' Name
' ' Text
'else' Keyword
' ' Text
'Pp_fits' Name.Class
'\n ' Text
'end' Keyword
' ' Text
'in' Keyword
'\n ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'<-' Operator
'\n ' Text
'Format_elem' Name.Class
' ' Text
'(' Operator
'bl_type' Name
',' Operator
' ' Text
'offset' Name
')' Operator
' ' Text
'::' Operator
' ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
'\n\n ' Text
'|' Operator
' ' Text
'Pp_end' Name.Class
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'x' Name
' ' Text
'::' Operator
' ' Text
'(' Operator
'y' Name
' ' Text
'::' Operator
' ' Text
'l' Name
' ' Text
'as' Keyword
' ' Text
'ls' Name
')' Operator
' ' Text
'->' Operator
' ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'<-' Operator
' ' Text
'ls' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No more block to close. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_tbegin' Name.Class
' ' Text
'(' Operator
'Pp_tbox' Name.Class
' ' Text
'_' Operator
' ' Text
'as' Keyword
' ' Text
'tbox' Name
')' Operator
' ' Text
'->' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
' ' Text
'<-' Operator
' ' Text
'tbox' Name
' ' Text
'::' Operator
' ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
'\n\n ' Text
'|' Operator
' ' Text
'Pp_tend' Name.Class
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'x' Name
' ' Text
'::' Operator
' ' Text
'ls' Name
' ' Text
'->' Operator
' ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
' ' Text
'<-' Operator
' ' Text
'ls' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No more tabulation block to close. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_stab' Name.Class
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_tbox' Name.Class
' ' Text
'tabs' Name
' ' Text
'::' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'add_tab' Name
' ' Text
'n' Name
' ' Text
'=' Operator
' ' Text
'function' Keyword
'\n ' Text
'|' Operator
' ' Text
'[]' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
'[' Operator
'n' Name
']' Operator
'\n ' Text
'|' Operator
' ' Text
'x' Name
' ' Text
'::' Operator
' ' Text
'l' Name
' ' Text
'as' Keyword
' ' Text
'ls' Name
' ' Text
'->' Operator
' ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'<' Operator
' ' Text
'x' Name
' ' Text
'then' Keyword
' ' Text
'n' Name
' ' Text
'::' Operator
' ' Text
'ls' Name
' ' Text
'else' Keyword
' ' Text
'x' Name
' ' Text
'::' Operator
' ' Text
'add_tab' Name
' ' Text
'n' Name
' ' Text
'l' Name
' ' Text
'in' Keyword
'\n ' Text
'tabs' Name
' ' Text
':=' Operator
' ' Text
'add_tab' Name
' ' Text
'(' Operator
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
')' Operator
' ' Text
'!' Operator
'tabs' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No opened tabulation block. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_tbreak' Name.Class
' ' Text
'(' Operator
'n' Name
',' Operator
' ' Text
'off' Name
')' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'insertion_point' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'in' Keyword
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_tbox' Name.Class
' ' Text
'tabs' Name
' ' Text
'::' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'find' Name
' ' Text
'n' Name
' ' Text
'=' Operator
' ' Text
'function' Keyword
'\n ' Text
'|' Operator
' ' Text
'x' Name
' ' Text
'::' Operator
' ' Text
'l' Name
' ' Text
'->' Operator
' ' Text
'if' Keyword
' ' Text
'x' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'n' Name
' ' Text
'then' Keyword
' ' Text
'x' Name
' ' Text
'else' Keyword
' ' Text
'find' Name
' ' Text
'n' Name
' ' Text
'l' Name
'\n ' Text
'|' Operator
' ' Text
'[]' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
'raise' Keyword
' ' Text
'Not_found' Name.Class
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'tab' Name
' ' Text
'=' Operator
'\n ' Text
'match' Keyword
' ' Text
'!' Operator
'tabs' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'x' Name
' ' Text
'::' Operator
' ' Text
'l' Name
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'try' Keyword
' ' Text
'find' Name
' ' Text
'insertion_point' Name
' ' Text
'!' Operator
'tabs' Name
' ' Text
'with' Keyword
' ' Text
'Not_found' Name.Class
' ' Text
'->' Operator
' ' Text
'x' Name
' ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'insertion_point' Name
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'offset' Name
' ' Text
'=' Operator
' ' Text
'tab' Name
' ' Text
'-' Operator
' ' Text
'insertion_point' Name
' ' Text
'in' Keyword
'\n ' Text
'if' Keyword
' ' Text
'offset' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'then' Keyword
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'offset' Name
' ' Text
'+' Operator
' ' Text
'n' Name
')' Operator
' ' Text
'else' Keyword
'\n ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'tab' Name
' ' Text
'+' Operator
' ' Text
'off' Name
')' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No opened tabulation block. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_newline' Name.Class
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Format_elem' Name.Class
' ' Text
'(' Operator
'_' Operator
',' Operator
' ' Text
'width' Name
')' Operator
' ' Text
'::' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'break_line' Name
' ' Text
'state' Name
' ' Text
'width' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'pp_output_newline' Name
' ' Text
'state' Name
'\n ' Text
'end' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_if_newline' Name.Class
' ' Text
'->' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_current_indent' Name
' ' Text
'!=' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
'\n ' Text
'then' Keyword
' ' Text
'pp_skip_token' Name
' ' Text
'state' Name
'\n\n ' Text
'|' Operator
' ' Text
'Pp_break' Name.Class
' ' Text
'(' Operator
'n' Name
',' Operator
' ' Text
'off' Name
')' Operator
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Format_elem' Name.Class
' ' Text
'(' Operator
'ty' Name
',' Operator
' ' Text
'width' Name
')' Operator
' ' Text
'::' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'ty' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_hovbox' Name.Class
' ' Text
'->' Operator
'\n ' Text
'if' Keyword
' ' Text
'size' Name
' ' Text
'>' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
'\n ' Text
'then' Keyword
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'off' Name
' ' Text
'width' Name
'\n ' Text
'else' Keyword
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'n' Name
'\n ' Text
'|' Operator
' ' Text
'Pp_box' Name.Class
' ' Text
'->' Operator
'\n ' Text
'(*' Comment
' Have the line just been broken here ? ' Comment
'*)' Comment
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_is_new_line' Name
' ' Text
'then' Keyword
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'else' Keyword
'\n ' Text
'if' Keyword
' ' Text
'size' Name
' ' Text
'>' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
'\n ' Text
'then' Keyword
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'off' Name
' ' Text
'width' Name
' ' Text
'else' Keyword
'\n ' Text
'(*' Comment
' break the line here leads to new indentation ? ' Comment
'*)' Comment
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_current_indent' Name
' ' Text
'>' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'width' Name
' ' Text
'+' Operator
' ' Text
'off' Name
'\n ' Text
'then' Keyword
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'off' Name
' ' Text
'width' Name
'\n ' Text
'else' Keyword
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'n' Name
'\n ' Text
'|' Operator
' ' Text
'Pp_hvbox' Name.Class
' ' Text
'->' Operator
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'off' Name
' ' Text
'width' Name
'\n ' Text
'|' Operator
' ' Text
'Pp_fits' Name.Class
' ' Text
'->' Operator
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'n' Name
'\n ' Text
'|' Operator
' ' Text
'Pp_vbox' Name.Class
' ' Text
'->' Operator
' ' Text
'break_new_line' Name
' ' Text
'state' Name
' ' Text
'off' Name
' ' Text
'width' Name
'\n ' Text
'|' Operator
' ' Text
'Pp_hbox' Name.Class
' ' Text
'->' Operator
' ' Text
'break_same_line' Name
' ' Text
'state' Name
' ' Text
'n' Name
'\n ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No opened block. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
'\n\n ' Text
'|' Operator
' ' Text
'Pp_open_tag' Name.Class
' ' Text
'tag_name' Name
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'marker' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_open_tag' Name
' ' Text
'tag_name' Name
' ' Text
'in' Keyword
'\n ' Text
'pp_output_string' Name
' ' Text
'state' Name
' ' Text
'marker' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_mark_stack' Name
' ' Text
'<-' Operator
' ' Text
'tag_name' Name
' ' Text
'::' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_stack' Name
'\n\n ' Text
'|' Operator
' ' Text
'Pp_close_tag' Name.Class
' ' Text
'->' Operator
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_mark_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'tag_name' Name
' ' Text
'::' Operator
' ' Text
'tags' Name
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'marker' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_close_tag' Name
' ' Text
'tag_name' Name
' ' Text
'in' Keyword
'\n ' Text
'pp_output_string' Name
' ' Text
'state' Name
' ' Text
'marker' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_mark_stack' Name
' ' Text
'<-' Operator
' ' Text
'tags' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No more tag to close. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
';;' Operator
'\n\n' Text
'(*' Comment
' Print if token size is known or printing is delayed.\n Size is known when not negative.\n Printing is delayed when the text waiting in the queue requires\n more room to format than exists on the current line. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'advance_left' Name
' ' Text
'state' Name
' ' Text
'=' Operator
'\n ' Text
'try' Keyword
'\n ' Text
'match' Keyword
' ' Text
'peek_queue' Name
' ' Text
'state' Name
'.' Operator
'pp_queue' Name
' ' Text
'with' Keyword
'\n ' Text
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size' Name
';' Operator
' ' Text
'token' Name
' ' Text
'=' Operator
' ' Text
'tok' Name
';' Operator
' ' Text
'length' Name
' ' Text
'=' Operator
' ' Text
'len' Name
'}' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'size' Name
' ' Text
'=' Operator
' ' Text
'int_of_size' Name
' ' Text
'size' Name
' ' Text
'in' Keyword
'\n ' Text
'if' Keyword
' ' Text
'not' Name
'\n ' Text
'(' Operator
'size' Name
' ' Text
'<' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'&&' Operator
'\n ' Text
'(' Operator
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_left_total' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_space_left' Name
')' Operator
')' Operator
'\n ' Text
'then' Keyword
' ' Text
'begin' Keyword
'\n ' Text
'ignore' Name
'(' Operator
'take_queue' Name
' ' Text
'state' Name
'.' Operator
'pp_queue' Name
')' Operator
';' Operator
'\n ' Text
'format_pp_token' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'if' Keyword
' ' Text
'size' Name
' ' Text
'<' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'then' Keyword
' ' Text
'pp_infinity' Name
' ' Text
'else' Keyword
' ' Text
'size' Name
')' Operator
' ' Text
'tok' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_left_total' Name
' ' Text
'<-' Operator
' ' Text
'len' Name
' ' Text
'+' Operator
' ' Text
'state' Name
'.' Operator
'pp_left_total' Name
';' Operator
'\n ' Text
'advance_left' Name
' ' Text
'state' Name
'\n ' Text
'end' Keyword
'\n ' Text
'with' Keyword
' ' Text
'Empty_queue' Name.Class
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'tok' Name
' ' Text
'=' Operator
' ' Text
'pp_enqueue' Name
' ' Text
'state' Name
' ' Text
'tok' Name
';' Operator
' ' Text
'advance_left' Name
' ' Text
'state' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To enqueue a string : try to advance. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'make_queue_elem' Name
' ' Text
'size' Name
' ' Text
'tok' Name
' ' Text
'len' Name
' ' Text
'=' Operator
'\n ' Text
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size' Name
';' Operator
' ' Text
'token' Name
' ' Text
'=' Operator
' ' Text
'tok' Name
';' Operator
' ' Text
'length' Name
' ' Text
'=' Operator
' ' Text
'len' Name
'}' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'enqueue_string_as' Name
' ' Text
'state' Name
' ' Text
'size' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'len' Name
' ' Text
'=' Operator
' ' Text
'int_of_size' Name
' ' Text
'size' Name
' ' Text
'in' Keyword
'\n ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'make_queue_elem' Name
' ' Text
'size' Name
' ' Text
'(' Operator
'Pp_text' Name.Class
' ' Text
's' Name
')' Operator
' ' Text
'len' Name
')' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'enqueue_string' Name
' ' Text
'state' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'len' Name
' ' Text
'=' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'length' Name
' ' Text
's' Name
' ' Text
'in' Keyword
'\n ' Text
'enqueue_string_as' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'len' Name
')' Operator
' ' Text
's' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Routines for scan stack\n determine sizes of blocks. ' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' The scan_stack is never empty. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'scan_stack_bottom' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'q_elem' Name
' ' Text
'=' Operator
' ' Text
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'(' Operator
'-' Operator
'1' Literal.Number.Integer
')' Operator
')' Operator
' ' Text
'(' Operator
'Pp_text' Name.Class
' ' Text
'"' Literal.String.Double
'"' Literal.String.Double
')' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'[' Operator
'Scan_elem' Name.Class
' ' Text
'(' Operator
'-' Operator
'1' Literal.Number.Integer
',' Operator
' ' Text
'q_elem' Name
')' Operator
']' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Set size of blocks on scan stack:\n if ty = true then size of break is set else size of block is set;\n in each case pp_scan_stack is popped. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'clear_scan_stack' Name
' ' Text
'state' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_scan_stack' Name
' ' Text
'<-' Operator
' ' Text
'scan_stack_bottom' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Pattern matching on scan stack is exhaustive,\n since scan_stack is never empty.\n Pattern matching on token in scan stack is also exhaustive,\n since scan_push is used on breaks and opening of boxes. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'set_size' Name
' ' Text
'state' Name
' ' Text
'ty' Name
' ' Text
'=' Operator
'\n ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_scan_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Scan_elem' Name.Class
'\n ' Text
'(' Operator
'left_tot' Name
',' Operator
'\n ' Text
'(' Operator
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size' Name
';' Operator
' ' Text
'token' Name
' ' Text
'=' Operator
' ' Text
'tok' Name
'}' Operator
' ' Text
'as' Keyword
' ' Text
'queue_elem' Name
')' Operator
')' Operator
' ' Text
'::' Operator
' ' Text
't' Name
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'size' Name
' ' Text
'=' Operator
' ' Text
'int_of_size' Name
' ' Text
'size' Name
' ' Text
'in' Keyword
'\n ' Text
'(*' Comment
' test if scan stack contains any data that is not obsolete. ' Comment
'*)' Comment
'\n ' Text
'if' Keyword
' ' Text
'left_tot' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_left_total' Name
' ' Text
'then' Keyword
' ' Text
'clear_scan_stack' Name
' ' Text
'state' Name
' ' Text
'else' Keyword
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'tok' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_break' Name.Class
' ' Text
'(' Operator
'_' Operator
',' Operator
' ' Text
'_' Operator
')' Operator
' ' Text
'|' Operator
' ' Text
'Pp_tbreak' Name.Class
' ' Text
'(' Operator
'_' Operator
',' Operator
' ' Text
'_' Operator
')' Operator
' ' Text
'->' Operator
'\n ' Text
'if' Keyword
' ' Text
'ty' Name
' ' Text
'then' Keyword
'\n ' Text
'begin' Keyword
'\n ' Text
'queue_elem' Name
'.' Operator
'elem_size' Name
' ' Text
'<-' Operator
' ' Text
'size_of_int' Name
' ' Text
'(' Operator
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'+' Operator
' ' Text
'size' Name
')' Operator
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_scan_stack' Name
' ' Text
'<-' Operator
' ' Text
't' Name
'\n ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
'Pp_begin' Name.Class
' ' Text
'(' Operator
'_' Operator
',' Operator
' ' Text
'_' Operator
')' Operator
' ' Text
'->' Operator
'\n ' Text
'if' Keyword
' ' Text
'not' Name
' ' Text
'ty' Name
' ' Text
'then' Keyword
'\n ' Text
'begin' Keyword
'\n ' Text
'queue_elem' Name
'.' Operator
'elem_size' Name
' ' Text
'<-' Operator
' ' Text
'size_of_int' Name
' ' Text
'(' Operator
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'+' Operator
' ' Text
'size' Name
')' Operator
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_scan_stack' Name
' ' Text
'<-' Operator
' ' Text
't' Name
'\n ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' scan_push is only used for breaks and boxes. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' scan_stack is never empty. ' Comment
'*)' Comment
';;' Operator
'\n\n' Text
'(*' Comment
' Push a token on scan stack. If b is true set_size is called. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'scan_push' Name
' ' Text
'state' Name
' ' Text
'b' Name
' ' Text
'tok' Name
' ' Text
'=' Operator
'\n ' Text
'pp_enqueue' Name
' ' Text
'state' Name
' ' Text
'tok' Name
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'b' Name
' ' Text
'then' Keyword
' ' Text
'set_size' Name
' ' Text
'state' Name
' ' Text
'true' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_scan_stack' Name
' ' Text
'<-' Operator
'\n ' Text
'Scan_elem' Name.Class
' ' Text
'(' Operator
'state' Name
'.' Operator
'pp_right_total' Name
',' Operator
' ' Text
'tok' Name
')' Operator
' ' Text
'::' Operator
' ' Text
'state' Name
'.' Operator
'pp_scan_stack' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To open a new block :\n the user may set the depth bound pp_max_boxes\n any text nested deeper is printed as the ellipsis string. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'br_ty' Name
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'elem' Name
' ' Text
'=' Operator
'\n ' Text
'make_queue_elem' Name
'\n ' Text
'(' Operator
'size_of_int' Name
' ' Text
'(' Operator
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_right_total' Name
')' Operator
')' Operator
'\n ' Text
'(' Operator
'Pp_begin' Name.Class
' ' Text
'(' Operator
'indent' Name
',' Operator
' ' Text
'br_ty' Name
')' Operator
')' Operator
'\n ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'scan_push' Name
' ' Text
'state' Name
' ' Text
'false' Name.Builtin.Pseudo
' ' Text
'elem' Name
' ' Text
'else' Keyword
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
'\n ' Text
'then' Keyword
' ' Text
'enqueue_string' Name
' ' Text
'state' Name
' ' Text
'state' Name
'.' Operator
'pp_ellipsis' Name
';;' Operator
'\n\n' Text
'(*' Comment
' The box which is always opened. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_open_sys_box' Name
' ' Text
'state' Name
' ' Text
'=' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'Pp_hovbox' Name.Class
';;' Operator
'\n\n' Text
'(*' Comment
' Close a block, setting sizes of its subblocks. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_close_box' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'>' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'then' Keyword
'\n ' Text
'begin' Keyword
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'begin' Keyword
'\n ' Text
'pp_enqueue' Name
' ' Text
'state' Name
'\n ' Text
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
';' Operator
' ' Text
'token' Name
' ' Text
'=' Operator
' ' Text
'Pp_end' Name.Class
';' Operator
' ' Text
'length' Name
' ' Text
'=' Operator
' ' Text
'0' Literal.Number.Integer
'}' Operator
';' Operator
'\n ' Text
'set_size' Name
' ' Text
'state' Name
' ' Text
'true' Name.Builtin.Pseudo
';' Operator
' ' Text
'set_size' Name
' ' Text
'state' Name
' ' Text
'false' Name.Builtin.Pseudo
'\n ' Text
'end' Keyword
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'-' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'end' Keyword
';;' Operator
'\n\n' Text
'(*' Comment
' Open a tag, pushing it on the tag stack. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_open_tag' Name
' ' Text
'state' Name
' ' Text
'tag_name' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_print_tags' Name
' ' Text
'then' Keyword
' ' Text
'begin' Keyword
'\n ' Text
'state' Name
'.' Operator
'pp_tag_stack' Name
' ' Text
'<-' Operator
' ' Text
'tag_name' Name
' ' Text
'::' Operator
' ' Text
'state' Name
'.' Operator
'pp_tag_stack' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_print_open_tag' Name
' ' Text
'tag_name' Name
' ' Text
'end' Keyword
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_mark_tags' Name
' ' Text
'then' Keyword
'\n ' Text
'pp_enqueue' Name
' ' Text
'state' Name
'\n ' Text
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
';' Operator
' ' Text
'token' Name
' ' Text
'=' Operator
' ' Text
'Pp_open_tag' Name.Class
' ' Text
'tag_name' Name
';' Operator
' ' Text
'length' Name
' ' Text
'=' Operator
' ' Text
'0' Literal.Number.Integer
'}' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Close a tag, popping it from the tag stack. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_close_tag' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_mark_tags' Name
' ' Text
'then' Keyword
'\n ' Text
'pp_enqueue' Name
' ' Text
'state' Name
'\n ' Text
'{' Operator
'elem_size' Name
' ' Text
'=' Operator
' ' Text
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
';' Operator
' ' Text
'token' Name
' ' Text
'=' Operator
' ' Text
'Pp_close_tag' Name.Class
';' Operator
' ' Text
'length' Name
' ' Text
'=' Operator
' ' Text
'0' Literal.Number.Integer
'}' Operator
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_print_tags' Name
' ' Text
'then' Keyword
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'state' Name
'.' Operator
'pp_tag_stack' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'tag_name' Name
' ' Text
'::' Operator
' ' Text
'tags' Name
' ' Text
'->' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_print_close_tag' Name
' ' Text
'tag_name' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_tag_stack' Name
' ' Text
'<-' Operator
' ' Text
'tags' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'(*' Comment
' No more tag to close. ' Comment
'*)' Comment
'\n ' Text
'end' Keyword
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_print_tags' Name
' ' Text
'state' Name
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_print_tags' Name
' ' Text
'<-' Operator
' ' Text
'b' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_set_mark_tags' Name
' ' Text
'state' Name
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_tags' Name
' ' Text
'<-' Operator
' ' Text
'b' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_get_print_tags' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_print_tags' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_get_mark_tags' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_tags' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_set_tags' Name
' ' Text
'state' Name
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'pp_set_print_tags' Name
' ' Text
'state' Name
' ' Text
'b' Name
';' Operator
' ' Text
'pp_set_mark_tags' Name
' ' Text
'state' Name
' ' Text
'b' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_get_formatter_tag_functions' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'{' Operator
'\n ' Text
'mark_open_tag' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_open_tag' Name
';' Operator
'\n ' Text
'mark_close_tag' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_mark_close_tag' Name
';' Operator
'\n ' Text
'print_open_tag' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_print_open_tag' Name
';' Operator
'\n ' Text
'print_close_tag' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_print_close_tag' Name
';' Operator
'\n' Text
'}' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_formatter_tag_functions' Name
' ' Text
'state' Name
' ' Text
'{' Operator
'\n ' Text
'mark_open_tag' Name
' ' Text
'=' Operator
' ' Text
'mot' Name
';' Operator
'\n ' Text
'mark_close_tag' Name
' ' Text
'=' Operator
' ' Text
'mct' Name
';' Operator
'\n ' Text
'print_open_tag' Name
' ' Text
'=' Operator
' ' Text
'pot' Name
';' Operator
'\n ' Text
'print_close_tag' Name
' ' Text
'=' Operator
' ' Text
'pct' Name
';' Operator
'\n ' Text
'}' Operator
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_mark_open_tag' Name
' ' Text
'<-' Operator
' ' Text
'mot' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_mark_close_tag' Name
' ' Text
'<-' Operator
' ' Text
'mct' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_print_open_tag' Name
' ' Text
'<-' Operator
' ' Text
'pot' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_print_close_tag' Name
' ' Text
'<-' Operator
' ' Text
'pct' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Initialize pretty-printer. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_rinit' Name
' ' Text
'state' Name
' ' Text
'=' Operator
'\n ' Text
'pp_clear_queue' Name
' ' Text
'state' Name
';' Operator
'\n ' Text
'clear_scan_stack' Name
' ' Text
'state' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_format_stack' Name
' ' Text
'<-' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_tbox_stack' Name
' ' Text
'<-' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_tag_stack' Name
' ' Text
'<-' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_mark_stack' Name
' ' Text
'<-' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_current_indent' Name
' ' Text
'<-' Operator
' ' Text
'0' Literal.Number.Integer
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<-' Operator
' ' Text
'0' Literal.Number.Integer
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_space_left' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
';' Operator
'\n ' Text
'pp_open_sys_box' Name
' ' Text
'state' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Flushing pretty-printer queue. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_flush_queue' Name
' ' Text
'state' Name
' ' Text
'b' Name
' ' Text
'=' Operator
'\n ' Text
'while' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'>' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'do' Keyword
'\n ' Text
'pp_close_box' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
'\n ' Text
'done' Keyword
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_right_total' Name
' ' Text
'<-' Operator
' ' Text
'pp_infinity' Name
';' Operator
'\n ' Text
'advance_left' Name
' ' Text
'state' Name
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'b' Name
' ' Text
'then' Keyword
' ' Text
'pp_output_newline' Name
' ' Text
'state' Name
';' Operator
'\n ' Text
'pp_rinit' Name
' ' Text
'state' Name
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Procedures to format objects, and use boxes\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' To format a string. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_as_size' Name
' ' Text
'state' Name
' ' Text
'size' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
'\n ' Text
'then' Keyword
' ' Text
'enqueue_string_as' Name
' ' Text
'state' Name
' ' Text
'size' Name
' ' Text
's' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_print_as' Name
' ' Text
'state' Name
' ' Text
'isize' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'pp_print_as_size' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'isize' Name
')' Operator
' ' Text
's' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_print_string' Name
' ' Text
'state' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'pp_print_as' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'String' Name.Namespace
'.' Punctuation
'length' Name
' ' Text
's' Name
')' Operator
' ' Text
's' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To format an integer. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_int' Name
' ' Text
'state' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'pp_print_string' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'string_of_int' Name
' ' Text
'i' Name
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' To format a float. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_float' Name
' ' Text
'state' Name
' ' Text
'f' Name
' ' Text
'=' Operator
' ' Text
'pp_print_string' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'string_of_float' Name
' ' Text
'f' Name
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' To format a boolean. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_bool' Name
' ' Text
'state' Name
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'pp_print_string' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'string_of_bool' Name
' ' Text
'b' Name
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' To format a char. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_char' Name
' ' Text
'state' Name
' ' Text
'c' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'create' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
's' Name
'.' Operator
'[' Operator
'0' Literal.Number.Integer
']' Operator
' ' Text
'<-' Operator
' ' Text
'c' Name
';' Operator
'\n ' Text
'pp_print_as' Name
' ' Text
'state' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
's' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Opening boxes. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_open_hbox' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'Pp_hbox' Name.Class
'\n' Text
'and' Keyword
' ' Text
'pp_open_vbox' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'=' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'Pp_vbox' Name.Class
'\n\n' Text
'and' Keyword
' ' Text
'pp_open_hvbox' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'=' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'Pp_hvbox' Name.Class
'\n' Text
'and' Keyword
' ' Text
'pp_open_hovbox' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'=' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'Pp_hovbox' Name.Class
'\n' Text
'and' Keyword
' ' Text
'pp_open_box' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'=' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'state' Name
' ' Text
'indent' Name
' ' Text
'Pp_box' Name.Class
';;' Operator
'\n\n' Text
'(*' Comment
' Print a new line after printing all queued text\n ' Comment
'(' Comment
'same for print_flush but without a newline' Comment
')' Comment
'. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_newline' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'pp_flush_queue' Name
' ' Text
'state' Name
' ' Text
'true' Name.Builtin.Pseudo
';' Operator
' ' Text
'state' Name
'.' Operator
'pp_flush_function' Name
' ' Text
'()' Name.Builtin.Pseudo
'\n' Text
'and' Keyword
' ' Text
'pp_print_flush' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'pp_flush_queue' Name
' ' Text
'state' Name
' ' Text
'false' Name.Builtin.Pseudo
';' Operator
' ' Text
'state' Name
'.' Operator
'pp_flush_function' Name
' ' Text
'()' Name.Builtin.Pseudo
';;' Operator
'\n\n' Text
'(*' Comment
' To get a newline when one does not want to close the current block. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_force_newline' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
')' Operator
' ' Text
'Pp_newline' Name.Class
' ' Text
'0' Literal.Number.Integer
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' To format something if the line has just been broken. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_if_newline' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
')' Operator
' ' Text
'Pp_if_newline' Name.Class
' ' Text
'0' Literal.Number.Integer
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Breaks: indicate where a block may be broken.\n If line is broken then offset is added to the indentation of the current\n block else ' Comment
'(' Comment
'the value of' Comment
')' Comment
' width blanks are printed.\n To do ' Comment
'(' Comment
'?' Comment
')' Comment
' : add a maximum width and offset value. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_break' Name
' ' Text
'state' Name
' ' Text
'width' Name
' ' Text
'offset' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'elem' Name
' ' Text
'=' Operator
'\n ' Text
'make_queue_elem' Name
'\n ' Text
'(' Operator
'size_of_int' Name
' ' Text
'(' Operator
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_right_total' Name
')' Operator
')' Operator
'\n ' Text
'(' Operator
'Pp_break' Name.Class
' ' Text
'(' Operator
'width' Name
',' Operator
' ' Text
'offset' Name
')' Operator
')' Operator
'\n ' Text
'width' Name
' ' Text
'in' Keyword
'\n ' Text
'scan_push' Name
' ' Text
'state' Name
' ' Text
'true' Name.Builtin.Pseudo
' ' Text
'elem' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_print_space' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'pp_print_break' Name
' ' Text
'state' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
'0' Literal.Number.Integer
'\n' Text
'and' Keyword
' ' Text
'pp_print_cut' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'pp_print_break' Name
' ' Text
'state' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'0' Literal.Number.Integer
';;' Operator
'\n\n' Text
'(*' Comment
' Tabulation boxes. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_open_tbox' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'elem' Name
' ' Text
'=' Operator
'\n ' Text
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
')' Operator
' ' Text
'(' Operator
'Pp_tbegin' Name.Class
' ' Text
'(' Operator
'Pp_tbox' Name.Class
' ' Text
'(' Operator
'ref' Name
' ' Text
'[]' Name.Builtin.Pseudo
')' Operator
')' Operator
')' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'elem' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Close a tabulation block. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_close_tbox' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'>' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'then' Keyword
' ' Text
'begin' Keyword
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'elem' Name
' ' Text
'=' Operator
' ' Text
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
')' Operator
' ' Text
'Pp_tend' Name.Class
' ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'elem' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'-' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'end' Keyword
';;' Operator
'\n\n' Text
'(*' Comment
' Print a tabulation break. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_print_tbreak' Name
' ' Text
'state' Name
' ' Text
'width' Name
' ' Text
'offset' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'elem' Name
' ' Text
'=' Operator
'\n ' Text
'make_queue_elem' Name
'\n ' Text
'(' Operator
'size_of_int' Name
' ' Text
'(' Operator
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_right_total' Name
')' Operator
')' Operator
'\n ' Text
'(' Operator
'Pp_tbreak' Name.Class
' ' Text
'(' Operator
'width' Name
',' Operator
' ' Text
'offset' Name
')' Operator
')' Operator
'\n ' Text
'width' Name
' ' Text
'in' Keyword
'\n ' Text
'scan_push' Name
' ' Text
'state' Name
' ' Text
'true' Name.Builtin.Pseudo
' ' Text
'elem' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_print_tab' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'pp_print_tbreak' Name
' ' Text
'state' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'0' Literal.Number.Integer
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_tab' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'<' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'elem' Name
' ' Text
'=' Operator
'\n ' Text
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
')' Operator
' ' Text
'Pp_stab' Name.Class
' ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'enqueue_advance' Name
' ' Text
'state' Name
' ' Text
'elem' Name
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Procedures to control the pretty-printers\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' Fit max_boxes. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_set_max_boxes' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'>' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'then' Keyword
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
' ' Text
'<-' Operator
' ' Text
'n' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To know the current maximum number of boxes allowed. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_get_max_boxes' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_over_max_boxes' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_curr_depth' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_boxes' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Ellipsis. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_set_ellipsis_text' Name
' ' Text
'state' Name
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_ellipsis' Name
' ' Text
'<-' Operator
' ' Text
's' Name
'\n' Text
'and' Keyword
' ' Text
'pp_get_ellipsis_text' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_ellipsis' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To set the margin of pretty-printer. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_limit' Name
' ' Text
'n' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'<' Operator
' ' Text
'pp_infinity' Name
' ' Text
'then' Keyword
' ' Text
'n' Name
' ' Text
'else' Keyword
' ' Text
'pred' Name
' ' Text
'pp_infinity' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_min_space_left' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'n' Name
' ' Text
'=' Operator
' ' Text
'pp_limit' Name
' ' Text
'n' Name
' ' Text
'in' Keyword
'\n ' Text
'state' Name
'.' Operator
'pp_min_space_left' Name
' ' Text
'<-' Operator
' ' Text
'n' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_max_indent' Name
' ' Text
'<-' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_min_space_left' Name
';' Operator
'\n ' Text
'pp_rinit' Name
' ' Text
'state' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Initially, we have :\n pp_max_indent = pp_margin - pp_min_space_left, and\n pp_space_left = pp_margin. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'pp_set_max_indent' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_min_space_left' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'n' Name
')' Operator
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_get_max_indent' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_max_indent' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_margin' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'then' Keyword
'\n ' Text
'let' Keyword
' ' Text
'n' Name
' ' Text
'=' Operator
' ' Text
'pp_limit' Name
' ' Text
'n' Name
' ' Text
'in' Keyword
'\n ' Text
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'<-' Operator
' ' Text
'n' Name
';' Operator
'\n ' Text
'let' Keyword
' ' Text
'new_max_indent' Name
' ' Text
'=' Operator
'\n ' Text
'(*' Comment
' Try to maintain max_indent to its actual value. ' Comment
'*)' Comment
'\n ' Text
'if' Keyword
' ' Text
'state' Name
'.' Operator
'pp_max_indent' Name
' ' Text
'<' Operator
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
'\n ' Text
'then' Keyword
' ' Text
'state' Name
'.' Operator
'pp_max_indent' Name
' ' Text
'else' Keyword
'\n ' Text
'(*' Comment
' If possible maintain pp_min_space_left to its actual value,\n if this leads to a too small max_indent, take half of the\n new margin, if it is greater than 1. ' Comment
'*)' Comment
'\n ' Text
'max' Name
' ' Text
'(' Operator
'max' Name
' ' Text
'(' Operator
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'-' Operator
' ' Text
'state' Name
'.' Operator
'pp_min_space_left' Name
')' Operator
'\n ' Text
'(' Operator
'state' Name
'.' Operator
'pp_margin' Name
' ' Text
'/' Operator
' ' Text
'2' Literal.Number.Integer
')' Operator
')' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'(*' Comment
' Rebuild invariants. ' Comment
'*)' Comment
'\n ' Text
'pp_set_max_indent' Name
' ' Text
'state' Name
' ' Text
'new_max_indent' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_get_margin' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_margin' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_formatter_output_functions' Name
' ' Text
'state' Name
' ' Text
'f' Name
' ' Text
'g' Name
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_output_function' Name
' ' Text
'<-' Operator
' ' Text
'f' Name
';' Operator
' ' Text
'state' Name
'.' Operator
'pp_flush_function' Name
' ' Text
'<-' Operator
' ' Text
'g' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_get_formatter_output_functions' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'(' Operator
'state' Name
'.' Operator
'pp_output_function' Name
',' Operator
' ' Text
'state' Name
'.' Operator
'pp_flush_function' Name
')' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_all_formatter_output_functions' Name
' ' Text
'state' Name
'\n ' Text
'~' Operator
'out' Name
':' Operator
'f' Name
' ' Text
'~' Operator
'flush' Name
':' Operator
'g' Name
' ' Text
'~' Operator
'newline' Name
':' Operator
'h' Name
' ' Text
'~' Operator
'spaces' Name
':' Operator
'i' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_formatter_output_functions' Name
' ' Text
'state' Name
' ' Text
'f' Name
' ' Text
'g' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_output_newline' Name
' ' Text
'<-' Operator
' ' Text
'(' Operator
'function' Keyword
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
'h' Name
' ' Text
'()' Name.Builtin.Pseudo
')' Operator
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_output_spaces' Name
' ' Text
'<-' Operator
' ' Text
'(' Operator
'function' Keyword
' ' Text
'n' Name
' ' Text
'->' Operator
' ' Text
'i' Name
' ' Text
'n' Name
')' Operator
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'pp_get_all_formatter_output_functions' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'(' Operator
'state' Name
'.' Operator
'pp_output_function' Name
',' Operator
' ' Text
'state' Name
'.' Operator
'pp_flush_function' Name
',' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_output_newline' Name
',' Operator
' ' Text
'state' Name
'.' Operator
'pp_output_spaces' Name
')' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_set_formatter_out_channel' Name
' ' Text
'state' Name
' ' Text
'os' Name
' ' Text
'=' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_output_function' Name
' ' Text
'<-' Operator
' ' Text
'output' Name
' ' Text
'os' Name
';' Operator
'\n ' Text
'state' Name
'.' Operator
'pp_flush_function' Name
' ' Text
'<-' Operator
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
'flush' Name
' ' Text
'os' Name
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Creation of specific formatters\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'let' Keyword
' ' Text
'default_pp_mark_open_tag' Name
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'<' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
's' Name
' ' Text
'^' Operator
' ' Text
'"' Literal.String.Double
'>' Literal.String.Double
'"' Literal.String.Double
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'default_pp_mark_close_tag' Name
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'</' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
's' Name
' ' Text
'^' Operator
' ' Text
'"' Literal.String.Double
'>' Literal.String.Double
'"' Literal.String.Double
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'default_pp_print_open_tag' Name
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'()' Name.Builtin.Pseudo
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'default_pp_print_close_tag' Name
' ' Text
'=' Operator
' ' Text
'default_pp_print_open_tag' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'pp_make_formatter' Name
' ' Text
'f' Name
' ' Text
'g' Name
' ' Text
'h' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'(*' Comment
' The initial state of the formatter contains a dummy box. ' Comment
'*)' Comment
'\n ' Text
'let' Keyword
' ' Text
'pp_q' Name
' ' Text
'=' Operator
' ' Text
'make_queue' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'sys_tok' Name
' ' Text
'=' Operator
'\n ' Text
'make_queue_elem' Name
' ' Text
'(' Operator
'size_of_int' Name
' ' Text
'(' Operator
'-' Operator
'1' Literal.Number.Integer
')' Operator
')' Operator
' ' Text
'(' Operator
'Pp_begin' Name.Class
' ' Text
'(' Operator
'0' Literal.Number.Integer
',' Operator
' ' Text
'Pp_hovbox' Name.Class
')' Operator
')' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'add_queue' Name
' ' Text
'sys_tok' Name
' ' Text
'pp_q' Name
';' Operator
'\n ' Text
'let' Keyword
' ' Text
'sys_scan_stack' Name
' ' Text
'=' Operator
'\n ' Text
'(' Operator
'Scan_elem' Name.Class
' ' Text
'(' Operator
'1' Literal.Number.Integer
',' Operator
' ' Text
'sys_tok' Name
')' Operator
')' Operator
' ' Text
'::' Operator
' ' Text
'scan_stack_bottom' Name
' ' Text
'in' Keyword
'\n ' Text
'{' Operator
'pp_scan_stack' Name
' ' Text
'=' Operator
' ' Text
'sys_scan_stack' Name
';' Operator
'\n ' Text
'pp_format_stack' Name
' ' Text
'=' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_tbox_stack' Name
' ' Text
'=' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_tag_stack' Name
' ' Text
'=' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_mark_stack' Name
' ' Text
'=' Operator
' ' Text
'[]' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_margin' Name
' ' Text
'=' Operator
' ' Text
'78' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_min_space_left' Name
' ' Text
'=' Operator
' ' Text
'10' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_max_indent' Name
' ' Text
'=' Operator
' ' Text
'78' Literal.Number.Integer
' ' Text
'-' Operator
' ' Text
'10' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_space_left' Name
' ' Text
'=' Operator
' ' Text
'78' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_current_indent' Name
' ' Text
'=' Operator
' ' Text
'0' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_is_new_line' Name
' ' Text
'=' Operator
' ' Text
'true' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_left_total' Name
' ' Text
'=' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_right_total' Name
' ' Text
'=' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_curr_depth' Name
' ' Text
'=' Operator
' ' Text
'1' Literal.Number.Integer
';' Operator
'\n ' Text
'pp_max_boxes' Name
' ' Text
'=' Operator
' ' Text
'max_int' Name
';' Operator
'\n ' Text
'pp_ellipsis' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'.' Literal.String.Double
'"' Literal.String.Double
';' Operator
'\n ' Text
'pp_output_function' Name
' ' Text
'=' Operator
' ' Text
'f' Name
';' Operator
'\n ' Text
'pp_flush_function' Name
' ' Text
'=' Operator
' ' Text
'g' Name
';' Operator
'\n ' Text
'pp_output_newline' Name
' ' Text
'=' Operator
' ' Text
'h' Name
';' Operator
'\n ' Text
'pp_output_spaces' Name
' ' Text
'=' Operator
' ' Text
'i' Name
';' Operator
'\n ' Text
'pp_print_tags' Name
' ' Text
'=' Operator
' ' Text
'false' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_mark_tags' Name
' ' Text
'=' Operator
' ' Text
'false' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'pp_mark_open_tag' Name
' ' Text
'=' Operator
' ' Text
'default_pp_mark_open_tag' Name
';' Operator
'\n ' Text
'pp_mark_close_tag' Name
' ' Text
'=' Operator
' ' Text
'default_pp_mark_close_tag' Name
';' Operator
'\n ' Text
'pp_print_open_tag' Name
' ' Text
'=' Operator
' ' Text
'default_pp_print_open_tag' Name
';' Operator
'\n ' Text
'pp_print_close_tag' Name
' ' Text
'=' Operator
' ' Text
'default_pp_print_close_tag' Name
';' Operator
'\n ' Text
'pp_queue' Name
' ' Text
'=' Operator
' ' Text
'pp_q' Name
'\n ' Text
'}' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Default function to output spaces. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'blank_line' Name
' ' Text
'=' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'make' Name
' ' Text
'80' Literal.Number.Integer
' ' Text
"' '" Literal.String.Char
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'display_blanks' Name
' ' Text
'state' Name
' ' Text
'n' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'>' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'then' Keyword
'\n ' Text
'if' Keyword
' ' Text
'n' Name
' ' Text
'<' Operator
'=' Operator
' ' Text
'80' Literal.Number.Integer
' ' Text
'then' Keyword
' ' Text
'state' Name
'.' Operator
'pp_output_function' Name
' ' Text
'blank_line' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'n' Name
' ' Text
'else' Keyword
'\n ' Text
'begin' Keyword
'\n ' Text
'state' Name
'.' Operator
'pp_output_function' Name
' ' Text
'blank_line' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'80' Literal.Number.Integer
';' Operator
'\n ' Text
'display_blanks' Name
' ' Text
'state' Name
' ' Text
'(' Operator
'n' Name
' ' Text
'-' Operator
' ' Text
'80' Literal.Number.Integer
')' Operator
'\n ' Text
'end' Keyword
';;' Operator
'\n\n' Text
'(*' Comment
' Default function to output new lines. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'display_newline' Name
' ' Text
'state' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
' ' Text
'state' Name
'.' Operator
'pp_output_function' Name
' ' Text
'"' Literal.String.Double
'\\n' Literal.String.Escape
'"' Literal.String.Double
' ' Text
'0' Literal.Number.Integer
' ' Text
'1' Literal.Number.Integer
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'make_formatter' Name
' ' Text
'f' Name
' ' Text
'g' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'ff' Name
' ' Text
'=' Operator
' ' Text
'pp_make_formatter' Name
' ' Text
'f' Name
' ' Text
'g' Name
' ' Text
'ignore' Name
' ' Text
'ignore' Name
' ' Text
'in' Keyword
'\n ' Text
'ff' Name
'.' Operator
'pp_output_newline' Name
' ' Text
'<-' Operator
' ' Text
'display_newline' Name
' ' Text
'ff' Name
';' Operator
'\n ' Text
'ff' Name
'.' Operator
'pp_output_spaces' Name
' ' Text
'<-' Operator
' ' Text
'display_blanks' Name
' ' Text
'ff' Name
';' Operator
'\n ' Text
'ff' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'formatter_of_out_channel' Name
' ' Text
'oc' Name
' ' Text
'=' Operator
'\n ' Text
'make_formatter' Name
' ' Text
'(' Operator
'output' Name
' ' Text
'oc' Name
')' Operator
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
'flush' Name
' ' Text
'oc' Name
')' Operator
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'formatter_of_buffer' Name
' ' Text
'b' Name
' ' Text
'=' Operator
'\n ' Text
'make_formatter' Name
' ' Text
'(' Operator
'Buffer' Name.Namespace
'.' Punctuation
'add_substring' Name
' ' Text
'b' Name
')' Operator
' ' Text
'ignore' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'stdbuf' Name
' ' Text
'=' Operator
' ' Text
'Buffer' Name.Namespace
'.' Punctuation
'create' Name
' ' Text
'512' Literal.Number.Integer
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'str_formatter' Name
' ' Text
'=' Operator
' ' Text
'formatter_of_buffer' Name
' ' Text
'stdbuf' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'std_formatter' Name
' ' Text
'=' Operator
' ' Text
'formatter_of_out_channel' Name
' ' Text
'stdout' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'err_formatter' Name
' ' Text
'=' Operator
' ' Text
'formatter_of_out_channel' Name
' ' Text
'stderr' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'flush_str_formatter' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'=' Operator
'\n ' Text
'pp_flush_queue' Name
' ' Text
'str_formatter' Name
' ' Text
'false' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'let' Keyword
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'Buffer' Name.Namespace
'.' Punctuation
'contents' Name
' ' Text
'stdbuf' Name
' ' Text
'in' Keyword
'\n ' Text
'Buffer' Name.Namespace
'.' Punctuation
'reset' Name
' ' Text
'stdbuf' Name
';' Operator
'\n ' Text
's' Name
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Basic functions on the standard formatter\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'let' Keyword
' ' Text
'open_hbox' Name
' ' Text
'=' Operator
' ' Text
'pp_open_hbox' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'open_vbox' Name
' ' Text
'=' Operator
' ' Text
'pp_open_vbox' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'open_hvbox' Name
' ' Text
'=' Operator
' ' Text
'pp_open_hvbox' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'open_hovbox' Name
' ' Text
'=' Operator
' ' Text
'pp_open_hovbox' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'open_box' Name
' ' Text
'=' Operator
' ' Text
'pp_open_box' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'close_box' Name
' ' Text
'=' Operator
' ' Text
'pp_close_box' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'open_tag' Name
' ' Text
'=' Operator
' ' Text
'pp_open_tag' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'close_tag' Name
' ' Text
'=' Operator
' ' Text
'pp_close_tag' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_as' Name
' ' Text
'=' Operator
' ' Text
'pp_print_as' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_string' Name
' ' Text
'=' Operator
' ' Text
'pp_print_string' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_int' Name
' ' Text
'=' Operator
' ' Text
'pp_print_int' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_float' Name
' ' Text
'=' Operator
' ' Text
'pp_print_float' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_char' Name
' ' Text
'=' Operator
' ' Text
'pp_print_char' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_bool' Name
' ' Text
'=' Operator
' ' Text
'pp_print_bool' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_break' Name
' ' Text
'=' Operator
' ' Text
'pp_print_break' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_cut' Name
' ' Text
'=' Operator
' ' Text
'pp_print_cut' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_space' Name
' ' Text
'=' Operator
' ' Text
'pp_print_space' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'force_newline' Name
' ' Text
'=' Operator
' ' Text
'pp_force_newline' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_flush' Name
' ' Text
'=' Operator
' ' Text
'pp_print_flush' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_newline' Name
' ' Text
'=' Operator
' ' Text
'pp_print_newline' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_if_newline' Name
' ' Text
'=' Operator
' ' Text
'pp_print_if_newline' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'open_tbox' Name
' ' Text
'=' Operator
' ' Text
'pp_open_tbox' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'close_tbox' Name
' ' Text
'=' Operator
' ' Text
'pp_close_tbox' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_tbreak' Name
' ' Text
'=' Operator
' ' Text
'pp_print_tbreak' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_tab' Name
' ' Text
'=' Operator
' ' Text
'pp_set_tab' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'print_tab' Name
' ' Text
'=' Operator
' ' Text
'pp_print_tab' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_margin' Name
' ' Text
'=' Operator
' ' Text
'pp_set_margin' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_margin' Name
' ' Text
'=' Operator
' ' Text
'pp_get_margin' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_max_indent' Name
' ' Text
'=' Operator
' ' Text
'pp_set_max_indent' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_max_indent' Name
' ' Text
'=' Operator
' ' Text
'pp_get_max_indent' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_max_boxes' Name
' ' Text
'=' Operator
' ' Text
'pp_set_max_boxes' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_max_boxes' Name
' ' Text
'=' Operator
' ' Text
'pp_get_max_boxes' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'over_max_boxes' Name
' ' Text
'=' Operator
' ' Text
'pp_over_max_boxes' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_ellipsis_text' Name
' ' Text
'=' Operator
' ' Text
'pp_set_ellipsis_text' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_ellipsis_text' Name
' ' Text
'=' Operator
' ' Text
'pp_get_ellipsis_text' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_formatter_out_channel' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_formatter_out_channel' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_formatter_output_functions' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_formatter_output_functions' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_formatter_output_functions' Name
' ' Text
'=' Operator
'\n ' Text
'pp_get_formatter_output_functions' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_all_formatter_output_functions' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_all_formatter_output_functions' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_all_formatter_output_functions' Name
' ' Text
'=' Operator
'\n ' Text
'pp_get_all_formatter_output_functions' Name
' ' Text
'std_formatter' Name
'\n\n' Text
'and' Keyword
' ' Text
'set_formatter_tag_functions' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_formatter_tag_functions' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_formatter_tag_functions' Name
' ' Text
'=' Operator
'\n ' Text
'pp_get_formatter_tag_functions' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'set_print_tags' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_print_tags' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_print_tags' Name
' ' Text
'=' Operator
'\n ' Text
'pp_get_print_tags' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'set_mark_tags' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_mark_tags' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'get_mark_tags' Name
' ' Text
'=' Operator
'\n ' Text
'pp_get_mark_tags' Name
' ' Text
'std_formatter' Name
'\n' Text
'and' Keyword
' ' Text
'set_tags' Name
' ' Text
'=' Operator
'\n ' Text
'pp_set_tags' Name
' ' Text
'std_formatter' Name
'\n' Text
';;' Operator
'\n\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Printf implementation.\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' Error messages when processing formats. ' Comment
'*)' Comment
'\n\n' Text
'(*' Comment
' Trailer: giving up at character number ... ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'giving_up' Name
' ' Text
'mess' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'"' Literal.String.Double
'fprintf: ' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
'mess' Name
' ' Text
'^' Operator
' ' Text
'"' Literal.String.Double
' ``' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
'fmt' Name
' ' Text
'^' Operator
' ' Text
'"' Literal.String.Double
"'', " Literal.String.Double
'\\\n' Literal.String.Double
' giving up at character number ' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
'string_of_int' Name
' ' Text
'i' Name
' ' Text
'^' Operator
'\n ' Text
'(' Operator
'if' Keyword
' ' Text
'i' Name
' ' Text
'<' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'length' Name
' ' Text
'fmt' Name
'\n ' Text
'then' Keyword
' ' Text
'"' Literal.String.Double
' (' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'make' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'^' Operator
' ' Text
'"' Literal.String.Double
').' Literal.String.Double
'"' Literal.String.Double
'\n ' Text
'else' Keyword
' ' Text
'String' Name.Namespace
'.' Punctuation
'make' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
"'.'" Literal.String.Char
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' When an invalid format deserves a special error explanation. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'format_invalid_arg' Name
' ' Text
'mess' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'invalid_arg' Name
' ' Text
'(' Operator
'giving_up' Name
' ' Text
'mess' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Standard invalid format. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'invalid_format' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'format_invalid_arg' Name
' ' Text
'"' Literal.String.Double
'bad format' Literal.String.Double
'"' Literal.String.Double
' ' Text
'fmt' Name
' ' Text
'i' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Cannot find a valid integer into that format. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'invalid_arg' Name
' ' Text
'(' Operator
'giving_up' Name
' ' Text
'"' Literal.String.Double
'bad integer specification' Literal.String.Double
'"' Literal.String.Double
' ' Text
'fmt' Name
' ' Text
'i' Name
')' Operator
';;' Operator
'\n\n' Text
'(*' Comment
' Finding an integer out of a sub-string of the format. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'format_int_of_string' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'sz' Name
' ' Text
'=' Operator
'\n ' Text
'try' Keyword
' ' Text
'int_of_string' Name
' ' Text
's' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'Failure' Name.Class
' ' Text
's' Name
' ' Text
'->' Operator
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n ' Text
'size_of_int' Name
' ' Text
'sz' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Getting strings out of buffers. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'get_buffer_out' Name
' ' Text
'b' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
's' Name
' ' Text
'=' Operator
' ' Text
'Buffer' Name.Namespace
'.' Punctuation
'contents' Name
' ' Text
'b' Name
' ' Text
'in' Keyword
'\n ' Text
'Buffer' Name.Namespace
'.' Punctuation
'reset' Name
' ' Text
'b' Name
';' Operator
'\n ' Text
's' Name
';;' Operator
'\n\n' Text
'(*' Comment
' [ppf] is supposed to be a pretty-printer that outputs in buffer [b]:\n to extract contents of [ppf] as a string we flush [ppf] and get the string\n out of [b]. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'string_out' Name
' ' Text
'b' Name
' ' Text
'ppf' Name
' ' Text
'=' Operator
'\n ' Text
'pp_flush_queue' Name
' ' Text
'ppf' Name
' ' Text
'false' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'get_buffer_out' Name
' ' Text
'b' Name
';;' Operator
'\n\n' Text
'(*' Comment
' Applies [printer] to a formatter that outputs on a fresh buffer,\n then returns the resulting material. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'exstring' Name
' ' Text
'printer' Name
' ' Text
'arg' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'Buffer' Name.Namespace
'.' Punctuation
'create' Name
' ' Text
'512' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'ppf' Name
' ' Text
'=' Operator
' ' Text
'formatter_of_buffer' Name
' ' Text
'b' Name
' ' Text
'in' Keyword
'\n ' Text
'printer' Name
' ' Text
'ppf' Name
' ' Text
'arg' Name
';' Operator
'\n ' Text
'string_out' Name
' ' Text
'b' Name
' ' Text
'ppf' Name
';;' Operator
'\n\n' Text
'(*' Comment
' To turn out a character accumulator into the proper string result. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'implode_rev' Name
' ' Text
's0' Name
' ' Text
'=' Operator
' ' Text
'function' Keyword
'\n ' Text
'|' Operator
' ' Text
'[]' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
's0' Name
'\n ' Text
'|' Operator
' ' Text
'l' Name
' ' Text
'->' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'concat' Name
' ' Text
'"' Literal.String.Double
'"' Literal.String.Double
' ' Text
'(' Operator
'List' Name.Namespace
'.' Punctuation
'rev' Name
' ' Text
'(' Operator
's0' Name
' ' Text
'::' Operator
' ' Text
'l' Name
')' Operator
')' Operator
';;' Operator
'\n\n' Text
'external' Keyword
' ' Text
'format_to_string' Name
' ' Text
':' Operator
' ' Text
'(' Operator
"'" Keyword
'a' Name
',' Operator
' ' Text
"'" Keyword
'b' Name
',' Operator
' ' Text
"'" Keyword
'c' Name
',' Operator
' ' Text
"'" Keyword
'd' Name
')' Operator
' ' Text
'format4' Name
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'%identity' Literal.String.Double
'"' Literal.String.Double
';;' Operator
'\n\n' Text
'(*' Comment
' [fprintf_out] is the printf-like function generator: given the\n - [str] flag that tells if we are printing into a string,\n - the [out] function that has to be called at the end of formatting,\n it generates a [fprintf] function that takes as arguments a [ppf]\n formatter and a printing format to print the rest of arguments\n according to the format.\n Regular [fprintf]-like functions of this module are obtained via partial\n applications of [fprintf_out]. ' Comment
'*)' Comment
'\n' Text
'let' Keyword
' ' Text
'mkprintf' Name
' ' Text
'str' Name
' ' Text
'get_out' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'kprintf' Name
' ' Text
'k' Name
' ' Text
'fmt' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'fmt' Name
' ' Text
'=' Operator
' ' Text
'format_to_string' Name
' ' Text
'fmt' Name
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'len' Name
' ' Text
'=' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'length' Name
' ' Text
'fmt' Name
' ' Text
'in' Keyword
'\n\n ' Text
'let' Keyword
' ' Text
'kpr' Name
' ' Text
'fmt' Name
' ' Text
'v' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'ppf' Name
' ' Text
'=' Operator
' ' Text
'get_out' Name
' ' Text
'fmt' Name
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'print_as' Name
' ' Text
'=' Operator
' ' Text
'ref' Name
' ' Text
'None' Name.Class
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'pp_print_as_char' Name
' ' Text
'c' Name
' ' Text
'=' Operator
'\n ' Text
'match' Keyword
' ' Text
'!' Operator
'print_as' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'None' Name.Class
' ' Text
'->' Operator
' ' Text
'pp_print_char' Name
' ' Text
'ppf' Name
' ' Text
'c' Name
'\n ' Text
'|' Operator
' ' Text
'Some' Name.Class
' ' Text
'size' Name
' ' Text
'->' Operator
'\n ' Text
'pp_print_as_size' Name
' ' Text
'ppf' Name
' ' Text
'size' Name
' ' Text
'(' Operator
'String' Name.Namespace
'.' Punctuation
'make' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
'c' Name
')' Operator
';' Operator
'\n ' Text
'print_as' Name
' ' Text
':=' Operator
' ' Text
'None' Name.Class
'\n ' Text
'and' Keyword
' ' Text
'pp_print_as_string' Name
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'match' Keyword
' ' Text
'!' Operator
'print_as' Name
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
'None' Name.Class
' ' Text
'->' Operator
' ' Text
'pp_print_string' Name
' ' Text
'ppf' Name
' ' Text
's' Name
'\n ' Text
'|' Operator
' ' Text
'Some' Name.Class
' ' Text
'size' Name
' ' Text
'->' Operator
'\n ' Text
'pp_print_as_size' Name
' ' Text
'ppf' Name
' ' Text
'size' Name
' ' Text
's' Name
';' Operator
'\n ' Text
'print_as' Name
' ' Text
':=' Operator
' ' Text
'None' Name.Class
' ' Text
'in' Keyword
'\n\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'Obj' Name.Namespace
'.' Punctuation
'magic' Name
' ' Text
'(' Operator
'k' Name
' ' Text
'ppf' Name
')' Operator
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'%'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'Printf' Name.Namespace
'.' Punctuation
'scan_format' Name
' ' Text
'fmt' Name
' ' Text
'v' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'cont_s' Name
' ' Text
'cont_a' Name
' ' Text
'cont_t' Name
' ' Text
'cont_f' Name
' ' Text
'cont_m' Name
'\n ' Text
'|' Operator
' ' Text
"'@'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'invalid_format' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'else' Keyword
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'['" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'do_pp_open_box' Name
' ' Text
'ppf' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"']'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_close_box' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'{'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'do_pp_open_tag' Name
' ' Text
'ppf' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'}'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_close_tag' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"' '" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_print_space' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"','" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_print_cut' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'?'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_print_flush' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'.'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_print_newline' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'\\n'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'pp_force_newline' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"';'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'do_pp_break' Name
' ' Text
'ppf' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'<'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'got_size' Name
' ' Text
'size' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'print_as' Name
' ' Text
':=' Operator
' ' Text
'Some' Name.Class
' ' Text
'size' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'skip_gt' Name
' ' Text
'i' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'get_int' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
' ' Text
'got_size' Name
'\n ' Text
'|' Operator
' ' Text
"'@'" Literal.String.Char
' ' Text
'as' Keyword
' ' Text
'c' Name
' ' Text
'->' Operator
'\n ' Text
'pp_print_as_char' Name
' ' Text
'c' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
' ' Text
'invalid_format' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
'\n ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
'\n ' Text
'pp_print_as_char' Name
' ' Text
'c' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n\n ' Text
'and' Keyword
' ' Text
'cont_s' Name
' ' Text
'n' Name
' ' Text
's' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'pp_print_as_string' Name
' ' Text
's' Name
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_a' Name
' ' Text
'n' Name
' ' Text
'printer' Name
' ' Text
'arg' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'str' Name
' ' Text
'then' Keyword
'\n ' Text
'pp_print_as_string' Name
' ' Text
'(' Operator
'(' Operator
'Obj' Name.Namespace
'.' Punctuation
'magic' Name
' ' Text
'printer' Name
' ' Text
':' Operator
' ' Text
'unit' Keyword.Type
' ' Text
'->' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
')' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'arg' Name
')' Operator
'\n ' Text
'else' Keyword
'\n ' Text
'printer' Name
' ' Text
'ppf' Name
' ' Text
'arg' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_t' Name
' ' Text
'n' Name
' ' Text
'printer' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'str' Name
' ' Text
'then' Keyword
'\n ' Text
'pp_print_as_string' Name
' ' Text
'(' Operator
'(' Operator
'Obj' Name.Namespace
'.' Punctuation
'magic' Name
' ' Text
'printer' Name
' ' Text
':' Operator
' ' Text
'unit' Keyword.Type
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
')' Operator
' ' Text
'()' Name.Builtin.Pseudo
')' Operator
'\n ' Text
'else' Keyword
'\n ' Text
'printer' Name
' ' Text
'ppf' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_f' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'pp_print_flush' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'cont_m' Name
' ' Text
'n' Name
' ' Text
'sfmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'kprintf' Name
' ' Text
'(' Operator
'Obj' Name.Namespace
'.' Punctuation
'magic' Name
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
')' Operator
')' Operator
' ' Text
'sfmt' Name
'\n\n ' Text
'and' Keyword
' ' Text
'get_int' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'c' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"' '" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'get_int' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
' ' Text
'c' Name
'\n ' Text
'|' Operator
' ' Text
"'%'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'cont_s' Name
' ' Text
'n' Name
' ' Text
's' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'c' Name
' ' Text
'(' Operator
'format_int_of_string' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
's' Name
')' Operator
' ' Text
'n' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_a' Name
' ' Text
'n' Name
' ' Text
'printer' Name
' ' Text
'arg' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_t' Name
' ' Text
'n' Name
' ' Text
'printer' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_f' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_m' Name
' ' Text
'n' Name
' ' Text
'sfmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n ' Text
'Printf' Name.Namespace
'.' Punctuation
'scan_format' Name
' ' Text
'fmt' Name
' ' Text
'v' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'cont_s' Name
' ' Text
'cont_a' Name
' ' Text
'cont_t' Name
' ' Text
'cont_f' Name
' ' Text
'cont_m' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'get' Name
' ' Text
'j' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'j' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'invalid_integer' Name
' ' Text
'fmt' Name
' ' Text
'j' Name
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'j' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'0'" Literal.String.Char
' ' Text
'..' Operator
' ' Text
"'9'" Literal.String.Char
' ' Text
'|' Operator
' ' Text
"'-'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'get' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'j' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'size' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'j' Name
' ' Text
'=' Operator
' ' Text
'i' Name
' ' Text
'then' Keyword
' ' Text
'size_of_int' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'else' Keyword
'\n ' Text
'format_int_of_string' Name
' ' Text
'fmt' Name
' ' Text
'j' Name
' ' Text
'(' Operator
'String' Name.Namespace
'.' Punctuation
'sub' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'(' Operator
'j' Name
' ' Text
'-' Operator
' ' Text
'i' Name
')' Operator
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'c' Name
' ' Text
'size' Name
' ' Text
'n' Name
' ' Text
'j' Name
' ' Text
'in' Keyword
'\n ' Text
'get' Name
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'skip_gt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'invalid_format' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"' '" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'skip_gt' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
'\n ' Text
'|' Operator
' ' Text
"'>'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'invalid_format' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'get_box_kind' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'Pp_box' Name.Class
',' Operator
' ' Text
'i' Name
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'h'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'Pp_hbox' Name.Class
',' Operator
' ' Text
'i' Name
' ' Text
'else' Keyword
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'o'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'format_invalid_arg' Name
' ' Text
'"' Literal.String.Double
'bad box format' Literal.String.Double
'"' Literal.String.Double
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'else' Keyword
'\n ' Text
'begin' Keyword
' ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'v'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'Pp_hovbox' Name.Class
',' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
'\n ' Text
'format_invalid_arg' Name
'\n ' Text
'(' Operator
'"' Literal.String.Double
'bad box name ho' Literal.String.Double
'"' Literal.String.Double
' ' Text
'^' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'make' Name
' ' Text
'1' Literal.Number.Integer
' ' Text
'c' Name
')' Operator
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
"'v'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'Pp_hvbox' Name.Class
',' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
' ' Text
'Pp_hbox' Name.Class
',' Operator
' ' Text
'i' Name
'\n ' Text
'end' Keyword
'\n ' Text
'|' Operator
' ' Text
"'b'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'Pp_box' Name.Class
',' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
'\n ' Text
'|' Operator
' ' Text
"'v'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'Pp_vbox' Name.Class
',' Operator
' ' Text
'succ' Name
' ' Text
'i' Name
'\n ' Text
'|' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'Pp_box' Name.Class
',' Operator
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'get_tag_name' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'c' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'get' Name
' ' Text
'accu' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'j' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'j' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
'\n ' Text
'then' Keyword
' ' Text
'c' Name
' ' Text
'(' Operator
'implode_rev' Name
' ' Text
'(' Operator
'String' Name.Namespace
'.' Punctuation
'sub' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'(' Operator
'j' Name
' ' Text
'-' Operator
' ' Text
'i' Name
')' Operator
')' Operator
' ' Text
'accu' Name
')' Operator
' ' Text
'n' Name
' ' Text
'j' Name
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'j' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'>'" Literal.String.Char
' ' Text
'->' Operator
' ' Text
'c' Name
' ' Text
'(' Operator
'implode_rev' Name
' ' Text
'(' Operator
'String' Name.Namespace
'.' Punctuation
'sub' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'(' Operator
'j' Name
' ' Text
'-' Operator
' ' Text
'i' Name
')' Operator
')' Operator
' ' Text
'accu' Name
')' Operator
' ' Text
'n' Name
' ' Text
'j' Name
'\n ' Text
'|' Operator
' ' Text
"'%'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
's0' Name
' ' Text
'=' Operator
' ' Text
'String' Name.Namespace
'.' Punctuation
'sub' Name
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'(' Operator
'j' Name
' ' Text
'-' Operator
' ' Text
'i' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'cont_s' Name
' ' Text
'n' Name
' ' Text
's' Name
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'get' Name
' ' Text
'(' Operator
's' Name
' ' Text
'::' Operator
' ' Text
's0' Name
' ' Text
'::' Operator
' ' Text
'accu' Name
')' Operator
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_a' Name
' ' Text
'n' Name
' ' Text
'printer' Name
' ' Text
'arg' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'str' Name
'\n ' Text
'then' Keyword
' ' Text
'(' Operator
'Obj' Name.Namespace
'.' Punctuation
'magic' Name
' ' Text
'printer' Name
' ' Text
':' Operator
' ' Text
'unit' Keyword.Type
' ' Text
'->' Operator
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
')' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'arg' Name
'\n ' Text
'else' Keyword
' ' Text
'exstring' Name
' ' Text
'printer' Name
' ' Text
'arg' Name
' ' Text
'in' Keyword
'\n ' Text
'get' Name
' ' Text
'(' Operator
's' Name
' ' Text
'::' Operator
' ' Text
's0' Name
' ' Text
'::' Operator
' ' Text
'accu' Name
')' Operator
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_t' Name
' ' Text
'n' Name
' ' Text
'printer' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
's' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'str' Name
'\n ' Text
'then' Keyword
' ' Text
'(' Operator
'Obj' Name.Namespace
'.' Punctuation
'magic' Name
' ' Text
'printer' Name
' ' Text
':' Operator
' ' Text
'unit' Keyword.Type
' ' Text
'->' Operator
' ' Text
'string' Keyword.Type
')' Operator
' ' Text
'()' Name.Builtin.Pseudo
'\n ' Text
'else' Keyword
' ' Text
'exstring' Name
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'->' Operator
' ' Text
'printer' Name
' ' Text
'ppf' Name
')' Operator
' ' Text
'()' Name.Builtin.Pseudo
' ' Text
'in' Keyword
'\n ' Text
'get' Name
' ' Text
'(' Operator
's' Name
' ' Text
'::' Operator
' ' Text
's0' Name
' ' Text
'::' Operator
' ' Text
'accu' Name
')' Operator
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_f' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'format_invalid_arg' Name
' ' Text
'"' Literal.String.Double
'bad tag name specification' Literal.String.Double
'"' Literal.String.Double
' ' Text
'fmt' Name
' ' Text
'i' Name
'\n ' Text
'and' Keyword
' ' Text
'cont_m' Name
' ' Text
'n' Name
' ' Text
'sfmt' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'format_invalid_arg' Name
' ' Text
'"' Literal.String.Double
'bad tag name specification' Literal.String.Double
'"' Literal.String.Double
' ' Text
'fmt' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n ' Text
'Printf' Name.Namespace
'.' Punctuation
'scan_format' Name
' ' Text
'fmt' Name
' ' Text
'v' Name
' ' Text
'n' Name
' ' Text
'j' Name
' ' Text
'cont_s' Name
' ' Text
'cont_a' Name
' ' Text
'cont_t' Name
' ' Text
'cont_f' Name
' ' Text
'cont_m' Name
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
' ' Text
'get' Name
' ' Text
'accu' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'j' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'get' Name
' ' Text
'[]' Name.Builtin.Pseudo
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'do_pp_break' Name
' ' Text
'ppf' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'begin' Keyword
' ' Text
'pp_print_space' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'end' Keyword
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'<'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'rec' Keyword
' ' Text
'got_nspaces' Name
' ' Text
'nspaces' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'get_int' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'(' Operator
'got_offset' Name
' ' Text
'nspaces' Name
')' Operator
'\n ' Text
'and' Keyword
' ' Text
'got_offset' Name
' ' Text
'nspaces' Name
' ' Text
'offset' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'pp_print_break' Name
' ' Text
'ppf' Name
' ' Text
'(' Operator
'int_of_size' Name
' ' Text
'nspaces' Name
')' Operator
' ' Text
'(' Operator
'int_of_size' Name
' ' Text
'offset' Name
')' Operator
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'skip_gt' Name
' ' Text
'i' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'get_int' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
' ' Text
'got_nspaces' Name
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
' ' Text
'pp_print_space' Name
' ' Text
'ppf' Name
' ' Text
'()' Name.Builtin.Pseudo
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'do_pp_open_box' Name
' ' Text
'ppf' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'begin' Keyword
' ' Text
'pp_open_box_gen' Name
' ' Text
'ppf' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'Pp_box' Name.Class
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'end' Keyword
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'<'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'kind' Name
',' Operator
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'get_box_kind' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'got_size' Name
' ' Text
'size' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'pp_open_box_gen' Name
' ' Text
'ppf' Name
' ' Text
'(' Operator
'int_of_size' Name
' ' Text
'size' Name
')' Operator
' ' Text
'kind' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'skip_gt' Name
' ' Text
'i' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'get_int' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'got_size' Name
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
' ' Text
'pp_open_box_gen' Name
' ' Text
'ppf' Name
' ' Text
'0' Literal.Number.Integer
' ' Text
'Pp_box' Name.Class
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
'\n\n ' Text
'and' Keyword
' ' Text
'do_pp_open_tag' Name
' ' Text
'ppf' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'len' Name
' ' Text
'then' Keyword
' ' Text
'begin' Keyword
' ' Text
'pp_open_tag' Name
' ' Text
'ppf' Name
' ' Text
'"' Literal.String.Double
'"' Literal.String.Double
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'end' Keyword
' ' Text
'else' Keyword
'\n ' Text
'match' Keyword
' ' Text
'fmt' Name
'.' Operator
'[' Operator
'i' Name
']' Operator
' ' Text
'with' Keyword
'\n ' Text
'|' Operator
' ' Text
"'<'" Literal.String.Char
' ' Text
'->' Operator
'\n ' Text
'let' Keyword
' ' Text
'got_name' Name
' ' Text
'tag_name' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'=' Operator
'\n ' Text
'pp_open_tag' Name
' ' Text
'ppf' Name
' ' Text
'tag_name' Name
';' Operator
'\n ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'skip_gt' Name
' ' Text
'i' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'get_tag_name' Name
' ' Text
'n' Name
' ' Text
'(' Operator
'succ' Name
' ' Text
'i' Name
')' Operator
' ' Text
'got_name' Name
'\n ' Text
'|' Operator
' ' Text
'c' Name
' ' Text
'->' Operator
' ' Text
'pp_open_tag' Name
' ' Text
'ppf' Name
' ' Text
'"' Literal.String.Double
'"' Literal.String.Double
';' Operator
' ' Text
'doprn' Name
' ' Text
'n' Name
' ' Text
'i' Name
' ' Text
'in' Keyword
'\n\n ' Text
'doprn' Name
' ' Text
'(' Operator
'Printf' Name.Namespace
'.' Punctuation
'index_of_int' Name
' ' Text
'0' Literal.Number.Integer
')' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'in' Keyword
'\n\n ' Text
'Printf' Name.Namespace
'.' Punctuation
'kapr' Name
' ' Text
'kpr' Name
' ' Text
'fmt' Name
' ' Text
'in' Keyword
'\n\n ' Text
'kprintf' Name
';;' Operator
'\n\n' Text
'(*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'\n\n Defining [fprintf] and various flavors of [fprintf].\n\n ' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*' Comment
'*)' Comment
'\n\n' Text
'let' Keyword
' ' Text
'kfprintf' Name
' ' Text
'k' Name
' ' Text
'ppf' Name
' ' Text
'=' Operator
' ' Text
'mkprintf' Name
' ' Text
'false' Name.Builtin.Pseudo
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'ppf' Name
')' Operator
' ' Text
'k' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'fprintf' Name
' ' Text
'ppf' Name
' ' Text
'=' Operator
' ' Text
'kfprintf' Name
' ' Text
'ignore' Name
' ' Text
'ppf' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'printf' Name
' ' Text
'fmt' Name
' ' Text
'=' Operator
' ' Text
'fprintf' Name
' ' Text
'std_formatter' Name
' ' Text
'fmt' Name
';;' Operator
'\n' Text
'let' Keyword
' ' Text
'eprintf' Name
' ' Text
'fmt' Name
' ' Text
'=' Operator
' ' Text
'fprintf' Name
' ' Text
'err_formatter' Name
' ' Text
'fmt' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'kbprintf' Name
' ' Text
'k' Name
' ' Text
'b' Name
' ' Text
'=' Operator
'\n ' Text
'mkprintf' Name
' ' Text
'false' Name.Builtin.Pseudo
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'formatter_of_buffer' Name
' ' Text
'b' Name
')' Operator
' ' Text
'k' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'bprintf' Name
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'kbprintf' Name
' ' Text
'ignore' Name
' ' Text
'b' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'ksprintf' Name
' ' Text
'k' Name
' ' Text
'=' Operator
'\n ' Text
'let' Keyword
' ' Text
'b' Name
' ' Text
'=' Operator
' ' Text
'Buffer' Name.Namespace
'.' Punctuation
'create' Name
' ' Text
'512' Literal.Number.Integer
' ' Text
'in' Keyword
'\n ' Text
'let' Keyword
' ' Text
'k' Name
' ' Text
'ppf' Name
' ' Text
'=' Operator
' ' Text
'k' Name
' ' Text
'(' Operator
'string_out' Name
' ' Text
'b' Name
' ' Text
'ppf' Name
')' Operator
' ' Text
'in' Keyword
'\n ' Text
'mkprintf' Name
' ' Text
'true' Name.Builtin.Pseudo
' ' Text
'(' Operator
'fun' Keyword
' ' Text
'_' Operator
' ' Text
'->' Operator
' ' Text
'formatter_of_buffer' Name
' ' Text
'b' Name
')' Operator
' ' Text
'k' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'kprintf' Name
' ' Text
'=' Operator
' ' Text
'ksprintf' Name
';;' Operator
'\n\n' Text
'let' Keyword
' ' Text
'sprintf' Name
' ' Text
'fmt' Name
' ' Text
'=' Operator
' ' Text
'ksprintf' Name
' ' Text
'(' Operator
'fun' Keyword
' ' Text
's' Name
' ' Text
'->' Operator
' ' Text
's' Name
')' Operator
' ' Text
'fmt' Name
';;' Operator
'\n\n' Text
'at_exit' Name
' ' Text
'print_flush' Name
';;' Operator
'\n' Text