Project

General

Profile

« Previous | Next » 

Revision 52323a31

Added by Arnaud Dieumegard over 6 years ago

PP for Exit, Null and Return statements

View differences:

src/backends/VHDL/vhdl_ast_deriving.ml
2789 2789
            { label = alabel; loop_label = aloop_label;
2790 2790
              condition = acondition }
2791 2791
            ->
2792
            (Format.fprintf fmt "@[<2>Exit {@,";
2793
             (((Format.fprintf fmt "@[%s =@ " "label";
2794
                ((__12 ()) fmt) alabel;
2795
                Format.fprintf fmt "@]");
2796
               Format.fprintf fmt ";@ ";
2797
               Format.fprintf fmt "@[%s =@ " "loop_label";
2798
               ((function
2799
                 | None  -> Format.pp_print_string fmt "None"
2800
                 | Some x ->
2801
                     (Format.pp_print_string fmt "(Some ";
2802
                      (Format.fprintf fmt "%S") x;
2803
                      Format.pp_print_string fmt ")"))) aloop_label;
2804
               Format.fprintf fmt "@]");
2805
              Format.fprintf fmt ";@ ";
2806
              Format.fprintf fmt "@[%s =@ " "condition";
2807
              ((function
2808
                | None  -> Format.pp_print_string fmt "None"
2809
                | Some x ->
2810
                    (Format.pp_print_string fmt "(Some ";
2811
                     ((__13 ()) fmt) x;
2812
                     Format.pp_print_string fmt ")"))) acondition;
2813
              Format.fprintf fmt "@]");
2814
             Format.fprintf fmt "@]}")
2792
            (match alabel with
2793
              | NoName -> Format.fprintf fmt "";
2794
              | _ -> (((__12 ()) fmt) alabel;
2795
                     Format.fprintf fmt ":@ ")
2796
            );
2797
            Format.fprintf fmt "exit";
2798
            (match aloop_label with
2799
               | None  -> Format.pp_print_string fmt ""
2800
               | Some x -> (Format.fprintf fmt "@ %s@ ") x);
2801
            ((function
2802
               | None  -> Format.pp_print_string fmt ""
2803
               | Some x ->
2804
                   (Format.pp_print_string fmt "when@ ";
2805
                    ((__13 ()) fmt) x;))) acondition;
2815 2806
        | Assert
2816 2807
            { label = alabel; cond = acond; report = areport;
2817 2808
              severity = aseverity }
......
2833 2824
              ((__17 ()) fmt) aseverity;
2834 2825
              Format.fprintf fmt "@]");
2835 2826
             Format.fprintf fmt "@]}")
2836
        | Wait  -> Format.pp_print_string fmt "Wait"
2827
        | Wait  -> Format.pp_print_string fmt "wait"
2837 2828
        | Null { label = alabel } ->
2838
            (Format.fprintf fmt "@[<2>Null {@,";
2839
             (Format.fprintf fmt "@[%s =@ " "label";
2840
              ((__18 ()) fmt) alabel;
2841
              Format.fprintf fmt "@]");
2842
             Format.fprintf fmt "@]}")
2829
            (match alabel with
2830
              | NoName -> Format.fprintf fmt "";
2831
              | _ -> (((__18 ()) fmt) alabel;
2832
                     Format.fprintf fmt ":@ ")
2833
            );
2834
            Format.fprintf fmt "null";
2843 2835
        | Return { label = alabel } ->
2844
            (Format.fprintf fmt "@[<2>Return {@,";
2845
             (Format.fprintf fmt "@[%s =@ " "label";
2846
              ((__19 ()) fmt) alabel;
2847
              Format.fprintf fmt "@]");
2848
             Format.fprintf fmt "@]}"))
2836
            (match alabel with
2837
              | NoName -> Format.fprintf fmt "";
2838
              | _ -> (((__19 ()) fmt) alabel;
2839
                     Format.fprintf fmt ":@ ")
2840
            );
2841
            Format.fprintf fmt "return";)
2849 2842
    [@ocaml.warning "-A"])
2850 2843

  
2851 2844
and show_vhdl_sequential_stmt_t :

Also available in: Unified diff