2020-12-30 01:43:00 +03:00
|
|
|
(* This file is part of the Catala compiler, a specification language for tax
|
|
|
|
and social benefits computation rules. Copyright (C) 2020 Inria, contributor:
|
|
|
|
Denis Merigoux <denis.merigoux@inria.fr>
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
|
|
use this file except in compliance with the License. You may obtain a copy of
|
|
|
|
the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
License for the specific language governing permissions and limitations under
|
|
|
|
the License. *)
|
|
|
|
|
2023-01-04 18:12:36 +03:00
|
|
|
open Catala_utils
|
2020-12-30 01:43:00 +03:00
|
|
|
open Ast
|
|
|
|
|
|
|
|
let format_primitive_typ (fmt : Format.formatter) (t : primitive_typ) : unit =
|
|
|
|
match t with
|
2023-01-04 18:12:36 +03:00
|
|
|
| Integer -> Format.pp_print_string fmt "integer"
|
|
|
|
| Decimal -> Format.pp_print_string fmt "decimal"
|
|
|
|
| Boolean -> Format.pp_print_string fmt "boolean"
|
|
|
|
| Money -> Format.pp_print_string fmt "money"
|
|
|
|
| Duration -> Format.pp_print_string fmt "duration"
|
|
|
|
| Text -> Format.pp_print_string fmt "text"
|
|
|
|
| Date -> Format.pp_print_string fmt "date"
|
|
|
|
| Named (path, constructor) ->
|
|
|
|
Format.fprintf fmt "%a.%s"
|
|
|
|
(Format.pp_print_list
|
|
|
|
~pp_sep:(fun fmt () -> Format.pp_print_char fmt '.')
|
|
|
|
(fun fmt (uid, _pos) -> Format.pp_print_string fmt uid))
|
2023-05-17 16:44:57 +03:00
|
|
|
path (Mark.remove constructor)
|