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