Skip to content

Commit c5744dd

Browse files
committed
Split cinaps-generated code up by AST version.
1 parent e3ee589 commit c5744dd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+40154
-40212
lines changed

ast/builder.ml

Lines changed: 4 additions & 603 deletions
Large diffs are not rendered by default.

ast/builder.mli

Lines changed: 2 additions & 1389 deletions
Large diffs are not rendered by default.

ast/builder_unstable_for_testing.ml

Lines changed: 299 additions & 0 deletions
Large diffs are not rendered by default.

ast/builder_unstable_for_testing.mli

Lines changed: 693 additions & 0 deletions
Large diffs are not rendered by default.

ast/builder_v4_07.ml

Lines changed: 299 additions & 0 deletions
Large diffs are not rendered by default.

ast/builder_v4_07.mli

Lines changed: 693 additions & 0 deletions
Large diffs are not rendered by default.

ast/cinaps/gen_builder.ml

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -274,30 +274,28 @@ let builders name (grammar : Astlib.Grammar.kind) shortcut =
274274
end
275275
| Variant v -> Builder.of_variant name v shortcut
276276

277-
let print_builder_ml () =
277+
let print_builder_ml version =
278278
Print.newline ();
279-
let grammars = Astlib.History.versioned_grammars Astlib.history in
280-
Ml.define_modules' (module Astlib.Version) grammars ~f:(fun version grammar ->
281-
let version = Ml.module_name (Astlib.Version.to_string version) in
282-
Print.println "open Versions.%s" version;
283-
let shortcut =
284-
let m = lazy (Shortcut.Map.from_grammar grammar) in
285-
fun name -> Shortcut.Map.find (Lazy.force m) name
286-
in
287-
List.iter grammar ~f:(fun (node_name, (kind : Astlib.Grammar.kind)) ->
288-
let builders = builders node_name kind shortcut in
289-
List.iter ~f:Builder.print_impl builders))
279+
let grammar = Astlib.History.find_grammar Astlib.history ~version in
280+
let version = Ml.module_name (Astlib.Version.to_string version) in
281+
Print.println "open Versions.%s" version;
282+
let shortcut =
283+
let m = lazy (Shortcut.Map.from_grammar grammar) in
284+
fun name -> Shortcut.Map.find (Lazy.force m) name
285+
in
286+
List.iter grammar ~f:(fun (node_name, (kind : Astlib.Grammar.kind)) ->
287+
let builders = builders node_name kind shortcut in
288+
List.iter ~f:Builder.print_impl builders)
290289

291-
let print_builder_mli () =
290+
let print_builder_mli version =
292291
Print.newline ();
293-
let grammars = Astlib.History.versioned_grammars Astlib.history in
294-
Ml.declare_modules' (module Astlib.Version) grammars ~f:(fun version grammar ->
295-
let version = Ml.module_name (Astlib.Version.to_string version) in
296-
let shortcut =
297-
let m = lazy (Shortcut.Map.from_grammar grammar) in
298-
fun name -> Shortcut.Map.find (Lazy.force m) name
299-
in
300-
Print.println "open Versions.%s" version;
301-
List.iter grammar ~f:(fun (node_name, (kind : Astlib.Grammar.kind)) ->
302-
let builders = builders node_name kind shortcut in
303-
List.iter ~f:Builder.print_sig builders))
292+
let grammar = Astlib.History.find_grammar Astlib.history ~version in
293+
let version = Ml.module_name (Astlib.Version.to_string version) in
294+
let shortcut =
295+
let m = lazy (Shortcut.Map.from_grammar grammar) in
296+
fun name -> Shortcut.Map.find (Lazy.force m) name
297+
in
298+
Print.println "open Versions.%s" version;
299+
List.iter grammar ~f:(fun (node_name, (kind : Astlib.Grammar.kind)) ->
300+
let builders = builders node_name kind shortcut in
301+
List.iter ~f:Builder.print_sig builders)

ast/cinaps/gen_builder.mli

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
val print_builder_ml : unit -> unit
2-
3-
val print_builder_mli : unit -> unit
1+
val print_builder_ml : Astlib.Version.t -> unit
2+
val print_builder_mli : Astlib.Version.t -> unit

ast/cinaps/gen_traverse.ml

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -559,21 +559,19 @@ let define_virtual_traversal_classes grammar =
559559
Print.newline ();
560560
define_virtual_traversal_class ~traversal grammar)
561561

562-
let print_virtual_traverse_ml () =
562+
let print_virtual_traverse_ml version =
563563
Print.newline ();
564-
let grammars = Astlib.History.versioned_grammars Astlib.history in
565-
Ml.define_modules' (module Astlib.Version) grammars ~f:(fun version grammar ->
566-
let version = Ml.module_name (Astlib.Version.to_string version) in
567-
Print.println "open Versions.%s" version;
568-
To_concrete.define_conversion_failed ~version;
569-
define_virtual_traversal_classes grammar)
570-
571-
let print_virtual_traverse_mli () =
564+
let grammar = Astlib.History.find_grammar Astlib.history ~version in
565+
let version = Ml.module_name (Astlib.Version.to_string version) in
566+
Print.println "open Versions.%s" version;
567+
To_concrete.define_conversion_failed ~version;
568+
define_virtual_traversal_classes grammar
569+
570+
let print_virtual_traverse_mli version =
572571
Print.newline ();
573-
let grammars = Astlib.History.versioned_grammars Astlib.history in
574-
Ml.declare_modules' (module Astlib.Version) grammars ~f:(fun version grammar ->
575-
Print.println "open Versions.%s" (Ml.module_name (Astlib.Version.to_string version));
576-
declare_virtual_traversal_classes grammar)
572+
let grammar = Astlib.History.find_grammar Astlib.history ~version in
573+
Print.println "open Versions.%s" (Ml.module_name (Astlib.Version.to_string version));
574+
declare_virtual_traversal_classes grammar
577575

578576
let inherits ~params ~class_name ~version =
579577
let params = Ml.class_params params in
@@ -591,20 +589,16 @@ let traversal_class ~impl ~traversal:{params; class_name; complete; _} ~version
591589
else
592590
Ml.declare_class ~virtual_ ~params class_name object_
593591

594-
let print_traverse_ml () =
592+
let print_traverse_ml version =
595593
Print.newline ();
596-
let grammars = Astlib.History.versioned_grammars Astlib.history in
597-
Ml.define_modules' (module Astlib.Version) grammars ~f:(fun version _ ->
598-
let version = Ml.module_name (Astlib.Version.to_string version) in
599-
List.iteri traversal_classes ~f:(fun i traversal ->
600-
if i <> 0 then Print.newline ();
601-
traversal_class ~impl:true ~traversal ~version))
602-
603-
let print_traverse_mli () =
594+
let version = Ml.module_name (Astlib.Version.to_string version) in
595+
List.iteri traversal_classes ~f:(fun i traversal ->
596+
if i <> 0 then Print.newline ();
597+
traversal_class ~impl:true ~traversal ~version)
598+
599+
let print_traverse_mli version =
604600
Print.newline ();
605-
let grammars = Astlib.History.versioned_grammars Astlib.history in
606-
Ml.declare_modules' (module Astlib.Version) grammars ~f:(fun version _ ->
607-
let version = Ml.module_name (Astlib.Version.to_string version) in
608-
List.iteri traversal_classes ~f:(fun i traversal ->
609-
if i <> 0 then Print.newline ();
610-
traversal_class ~impl:false ~traversal ~version))
601+
let version = Ml.module_name (Astlib.Version.to_string version) in
602+
List.iteri traversal_classes ~f:(fun i traversal ->
603+
if i <> 0 then Print.newline ();
604+
traversal_class ~impl:false ~traversal ~version)

ast/cinaps/gen_traverse.mli

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
val print_virtual_traverse_ml : unit -> unit
2-
val print_virtual_traverse_mli : unit -> unit
1+
val print_virtual_traverse_ml : Astlib.Version.t -> unit
2+
val print_virtual_traverse_mli : Astlib.Version.t -> unit
33

4-
val print_traverse_ml : unit -> unit
5-
val print_traverse_mli : unit -> unit
4+
val print_traverse_ml : Astlib.Version.t -> unit
5+
val print_traverse_mli : Astlib.Version.t -> unit

0 commit comments

Comments
 (0)