


The standard library Simple_Prettyprinter api defines a fast, simple prettyprinter. Its major advantage is that the complete implementation is only 300 lines of code — you can read and understand it completely in an hour.
The Simple_Prettyprinter api is implemented by the simple_prettyprinter package.
The Simple_Prettyprinter api source code is in src/lib/prettyprint/simple/simple-prettyprinter.api.
See also: Prettyprint.
The above information is manually maintained and may contain errors.
api { Prettyprint_Expression
= ALPHABETIC String
| BOOL Bool
| BRACKETED_BLOCK {body:Prettyprint_Expression, leftbracket:String,
rightbracket:String}
| CAT List(Prettyprint_Expression )
| CHAR Char
| CONS (Prettyprint_Expression , Prettyprint_Expression)
| ENTER_DEEPLY_INDENTED_BLOCK
| ENTER_INDENTED_BLOCK
| FLOAT Float
| INDENT
| INDENTED_BLOCK Prettyprint_Expression
| INDENTED_LINE Prettyprint_Expression
| INDENT_OFFSET Int
| INT Int
| INT1 one_word_int::Int
| INTEGER multiword_int::Int
| IN_PARENTHESES Prettyprint_Expression
| LEAVE_INDENTED_BLOCK
| LIST {elements:List(Prettyprint_Expression ),
leftbracket:Prettyprint_Expression,
rightbracket:Prettyprint_Expression,
separator:Prettyprint_Expression}
| MAYBE_BLANK
| MAYBE_LINEWRAP {indent_offset:Int, right_margin:Int}
| NEWLINE
| NOP
| PER_MODE String -> Prettyprint_Expression
| POP_MODE
| PUNCTUATION String
| PUSH_MODE String
| SET_WRAP_COLUMN Int
| STRING String
| UNT Unt
| UNT1 one_word_unt::Unt;
prettyprint_expression_to_string : Prettyprint_Expression -> String;
longest_line_in_prettyprint_expression : Prettyprint_Expression -> Int;
};


