Project

General

Profile

« Previous | Next » 

Revision a7062da6

Added by LĂ©lio Brun over 3 years ago

another step towards refactoring

View differences:

src/backends/C/c_backend.ml
32 32
    | None ->
33 33
      let open Error in
34 34
      Global.main_node := node;
35
      Format.eprintf "Code generation error: %a@." pp_error_msg Main_not_found;
36
      raise (Error (Location.dummy_loc, Main_not_found))
35
      Format.eprintf "Code generation error: %a@." pp Main_not_found;
36
      raise (Error (Location.dummy, Main_not_found))
37 37
    | Some m ->
38 38
      f m
39 39

  
......
100 100
(* close_out makefile_out *)
101 101

  
102 102
let print_c_header basename =
103
  let open Options in
103 104
  let header_m =
104
    match !Options.spec with
105
    | "no" ->
106
      C_backend_header.((module EmptyMod : MODIFIERS_HDR))
107
    | "acsl" ->
108
      C_backend_header.((module C_backend_spec.HdrMod : MODIFIERS_HDR))
109
    | "c" ->
105
    match !spec with
106
    | SpecNo ->
107
      C_backend_header.(module EmptyMod : MODIFIERS_HDR)
108
    | SpecACSL ->
109
      C_backend_header.(module C_backend_spec.HdrMod : MODIFIERS_HDR)
110
    | SpecC ->
110 111
      assert false (* not implemented yet *)
111
    | _ ->
112
      assert false
113 112
  in
114
  let module Header = C_backend_header.Main ((val header_m)) in
115
  let destname = !Options.dest_dir ^ "/" ^ basename in
113
  let module Header = C_backend_header.Main (val header_m) in
114
  let destname = !dest_dir ^ "/" ^ basename in
116 115
  (* Generating H file *)
117 116
  let lusic = Lusic.read_lusic destname ".lusic" in
118 117
  let header_file = destname ^ ".h" in
......
122 121

  
123 122
let translate_to_c generate_c_header basename prog machines dependencies =
124 123
  let header_m, source_m, source_main_m, makefile_m =
125
    match !Options.spec with
126
    | "no" ->
124
    let open Options in
125
    match !spec with
126
    | SpecNo ->
127 127
      ( C_backend_header.((module EmptyMod : MODIFIERS_HDR)),
128 128
        C_backend_src.((module EmptyMod : MODIFIERS_SRC)),
129 129
        C_backend_main.((module EmptyMod : MODIFIERS_MAINSRC)),
130 130
        C_backend_makefile.((module EmptyMod : MODIFIERS_MKF)) )
131
    | "acsl" ->
131
    | SpecACSL ->
132 132
      let open C_backend_spec in
133 133
      ( C_backend_header.((module HdrMod : MODIFIERS_HDR)),
134 134
        C_backend_src.((module SrcMod : MODIFIERS_SRC)),
135 135
        C_backend_main.((module EmptyMod : MODIFIERS_MAINSRC)),
136 136
        C_backend_makefile.((module MakefileMod : MODIFIERS_MKF)) )
137
    | "c" ->
137
    | SpecC ->
138 138
      assert false (* not implemented yet *)
139
    | _ ->
140
      assert false
141 139
  in
142 140
  let module Header = C_backend_header.Main ((val header_m)) in
143 141
  let module Source = C_backend_src.Main ((val source_m)) in

Also available in: Unified diff