let space_to_brace = function
| [] -> []
| linelist -> let rec despace_enbrace stack rtokens = function
| [] -> List.rev ((List.map (function _ -> RBRACE) stack) @ rtokens)
| (n, line, colon)::rest ->
let (stack, rtokens) = arrange n stack rtokens in
let (lbrace, stack) = if colon then ([LBRACE], n::stack) else ([], stack) in
despace_enbrace stack (lbrace@(List.rev line)@rtokens) rest
in despace_enbrace [] [] linelist