Commit 2f2abbd3 authored by Pietro Abate's avatar Pietro Abate

[r2004-09-08 09:23:06 by afrisch] CDuce 0.2.1

Original author: afrisch
Date: 2004-09-08 09:23:06+00:00
parent f362cba3
since 0.2.0
0.2.1
- string:// scheme for load_xml and others
- code updated to OCaml 3.08.1, PXP 1.1.95
- NOTE: support for namespaces in XML Schema may be broken
0.2.0
......
......@@ -26,17 +26,17 @@ Mandatory packages:
Before compiling CDuce, you need to install recent releases of the
following packages:
ocaml => 3.07 patchlevel 2
ocaml => 3.08.1
http://caml.inria.fr/ocaml/distrib.html
findlib => 1.0.3
http://www.ocaml-programming.de/packages
ulex => 0.3
ulex => 0.4
http://www.cduce.org/download
pcre-ocaml => 5.03
http://www.ai.univie.ac.at/~markus/home/ocaml_sources.html
ocamlnet => 0.94
ocamlnet => 0.98
http://www.ocaml-programming.de/packages
pxp => 1.1.94.2
pxp => 1.1.95
http://www.ocaml-programming.de/packages/documentation/pxp/index_dev.html
......@@ -94,11 +94,6 @@ Important notes:
Efficiency issues:
- OCamlnet: if you plan to load XML file with encodings other than
UTF-8, it is advised to use a recent version of OCamlnet (>= 0.96).
Indeed, the netconversion module in the previous release (0.95) was
very slow, and it has been rewritten since then.
- PXP: ocamllex lexers are more efficient than wlex lexers.
......@@ -175,7 +170,7 @@ distribution (the .cmi files, and either the corresponding .cmo or the
to build the current version of ocamlc/ocamlopt, in, say
$HOME/ocaml-3.07, you can activate the OCaml/CDuce interface with:
./configure --mliface=$HOME/ocaml-3.07
./configure --mliface=$HOME/ocaml-3.08
Another option is to copy all the needed files (.cmi,.cmo/.cmx+.o)
to a single directory, say $HOME/ocaml-modules. Then you can do:
......
include Makefile.conf
VERSION = 0.2.0
VERSION = 0.2.1
all: cduce dtd2cduce validate cdo2ml cduce_lib.cma
ifeq ($(NATIVE),true)
......
......@@ -70,10 +70,10 @@ types/builtin_defs.cmo: types/atoms.cmi types/chars.cmi misc/encodings.cmi \
types/builtin_defs.cmx: types/atoms.cmx types/chars.cmx misc/encodings.cmx \
types/ident.cmx types/intervals.cmx misc/ns.cmx types/sequence.cmx \
types/types.cmx types/builtin_defs.cmi
compile/lambda.cmo: types/ident.cmo types/patterns.cmi misc/serialize.cmi \
types/types.cmi compile/lambda.cmi
compile/lambda.cmx: types/ident.cmx types/patterns.cmx misc/serialize.cmx \
types/types.cmx compile/lambda.cmi
compile/lambda.cmo: types/ident.cmo misc/ns.cmi types/patterns.cmi \
misc/serialize.cmi types/types.cmi compile/lambda.cmi
compile/lambda.cmx: types/ident.cmx misc/ns.cmx types/patterns.cmx \
misc/serialize.cmx types/types.cmx compile/lambda.cmi
runtime/value.cmo: types/atoms.cmi types/builtin_defs.cmi types/chars.cmi \
misc/encodings.cmi types/ident.cmo types/intervals.cmi compile/lambda.cmi \
misc/ns.cmi types/sequence.cmi types/types.cmi runtime/value.cmi
......@@ -140,10 +140,10 @@ parser/parser.cmx: parser/ast.cmx types/atoms.cmx types/chars.cmx \
parser/ulexer.cmx parser/parser.cmi
types/externals.cmo: parser/location.cmi types/externals.cmi
types/externals.cmx: parser/location.cmx types/externals.cmi
typing/typed.cmo: types/ident.cmo parser/location.cmi types/patterns.cmi \
schema/schema_types.cmi types/types.cmi
typing/typed.cmx: types/ident.cmx parser/location.cmx types/patterns.cmx \
schema/schema_types.cmx types/types.cmx
typing/typed.cmo: types/ident.cmo parser/location.cmi misc/ns.cmi \
types/patterns.cmi schema/schema_types.cmi types/types.cmi
typing/typed.cmx: types/ident.cmx parser/location.cmx misc/ns.cmx \
types/patterns.cmx schema/schema_types.cmx types/types.cmx
typing/typer.cmo: parser/ast.cmo types/atoms.cmi types/builtin_defs.cmi \
types/chars.cmi types/externals.cmi types/ident.cmo types/intervals.cmi \
parser/location.cmi misc/ns.cmi types/patterns.cmi \
......@@ -184,14 +184,14 @@ runtime/print_xml.cmx: types/atoms.cmx misc/encodings.cmx types/ident.cmx \
types/intervals.cmx parser/location.cmx misc/ns.cmx \
schema/schema_builtin.cmx types/sequence.cmx runtime/value.cmx \
runtime/print_xml.cmi
runtime/eval.cmo: types/ident.cmo compile/lambda.cmi types/patterns.cmi \
runtime/run_dispatch.cmi schema/schema_common.cmi schema/schema_types.cmi \
schema/schema_validator.cmi typing/typer.cmi types/types.cmi \
runtime/value.cmi runtime/eval.cmi
runtime/eval.cmx: types/ident.cmx compile/lambda.cmx types/patterns.cmx \
runtime/run_dispatch.cmx schema/schema_common.cmx schema/schema_types.cmx \
schema/schema_validator.cmx typing/typer.cmx types/types.cmx \
runtime/value.cmx runtime/eval.cmi
runtime/eval.cmo: types/ident.cmo compile/lambda.cmi misc/ns.cmi \
types/patterns.cmi runtime/run_dispatch.cmi schema/schema_common.cmi \
schema/schema_types.cmi schema/schema_validator.cmi typing/typer.cmi \
types/types.cmi runtime/value.cmi runtime/eval.cmi
runtime/eval.cmx: types/ident.cmx compile/lambda.cmx misc/ns.cmx \
types/patterns.cmx runtime/run_dispatch.cmx schema/schema_common.cmx \
schema/schema_types.cmx schema/schema_validator.cmx typing/typer.cmx \
types/types.cmx runtime/value.cmx runtime/eval.cmi
compile/compile.cmo: parser/ast.cmo runtime/eval.cmi types/ident.cmo \
compile/lambda.cmi parser/location.cmi types/patterns.cmi \
misc/serialize.cmi typing/typed.cmo typing/typer.cmi types/types.cmi \
......@@ -200,19 +200,17 @@ compile/compile.cmx: parser/ast.cmx runtime/eval.cmx types/ident.cmx \
compile/lambda.cmx parser/location.cmx types/patterns.cmx \
misc/serialize.cmx typing/typed.cmx typing/typer.cmx types/types.cmx \
compile/compile.cmi
compile/operators.cmo: misc/custom.cmo runtime/eval.cmi compile/lambda.cmi \
parser/location.cmi misc/pool.cmi typing/typer.cmi types/types.cmi \
runtime/value.cmi compile/operators.cmi
compile/operators.cmx: misc/custom.cmx runtime/eval.cmx compile/lambda.cmx \
parser/location.cmx misc/pool.cmx typing/typer.cmx types/types.cmx \
runtime/value.cmx compile/operators.cmi
compile/operators.cmo: runtime/eval.cmi parser/location.cmi typing/typer.cmi \
types/types.cmi runtime/value.cmi compile/operators.cmi
compile/operators.cmx: runtime/eval.cmx parser/location.cmx typing/typer.cmx \
types/types.cmx runtime/value.cmx compile/operators.cmi
types/builtin.cmo: types/atoms.cmi types/builtin_defs.cmi types/chars.cmi \
types/ident.cmo types/intervals.cmi runtime/load_xml.cmi \
runtime/eval.cmi types/ident.cmo types/intervals.cmi runtime/load_xml.cmi \
parser/location.cmi misc/ns.cmi compile/operators.cmi \
runtime/print_xml.cmi types/sequence.cmi typing/typer.cmi types/types.cmi \
parser/url.cmi runtime/value.cmi types/builtin.cmi
types/builtin.cmx: types/atoms.cmx types/builtin_defs.cmx types/chars.cmx \
types/ident.cmx types/intervals.cmx runtime/load_xml.cmx \
runtime/eval.cmx types/ident.cmx types/intervals.cmx runtime/load_xml.cmx \
parser/location.cmx misc/ns.cmx compile/operators.cmx \
runtime/print_xml.cmx types/sequence.cmx typing/typer.cmx types/types.cmx \
parser/url.cmx runtime/value.cmx types/builtin.cmi
......@@ -256,16 +254,14 @@ ocamliface/mlstub.cmx: types/atoms.cmx types/builtin_defs.cmx \
driver/librarian.cmx parser/location.cmx ocamliface/mltypes.cmx \
misc/ns.cmx types/sequence.cmx typing/typer.cmx types/types.cmx \
ocamliface/mlstub.cmi
parser/cduce_curl.cmo: driver/config.cmi parser/url.cmi
parser/cduce_curl.cmx: driver/config.cmx parser/url.cmx
runtime/cduce_pxp.cmo: driver/config.cmi runtime/load_xml.cmi \
parser/location.cmi parser/url.cmi
runtime/cduce_pxp.cmx: driver/config.cmx runtime/load_xml.cmx \
parser/location.cmx parser/url.cmx
runtime/cduce_expat.cmo: driver/config.cmi runtime/load_xml.cmi \
parser/location.cmi parser/url.cmi
runtime/cduce_expat.cmx: driver/config.cmx runtime/load_xml.cmx \
parser/location.cmx parser/url.cmx
query/query_aggregates.cmo: types/builtin_defs.cmi types/intervals.cmi \
compile/operators.cmi types/sequence.cmi runtime/value.cmi
query/query_aggregates.cmx: types/builtin_defs.cmx types/intervals.cmx \
compile/operators.cmx types/sequence.cmx runtime/value.cmx
query/query.cmo: parser/ast.cmo types/atoms.cmi types/builtin_defs.cmi \
types/chars.cmi types/ident.cmo types/intervals.cmi parser/location.cmi \
parser/parser.cmi types/types.cmi query/query.cmi
......@@ -336,8 +332,8 @@ types/patterns.cmi: types/atoms.cmi types/chars.cmi misc/custom.cmo \
types/sequence.cmi: types/atoms.cmi types/types.cmi
types/sample.cmi: types/types.cmi
types/builtin_defs.cmi: types/atoms.cmi types/ident.cmo types/types.cmi
compile/lambda.cmi: types/ident.cmo types/patterns.cmi misc/serialize.cmi \
types/types.cmi
compile/lambda.cmi: types/ident.cmo misc/ns.cmi types/patterns.cmi \
misc/serialize.cmi types/types.cmi
runtime/value.cmi: types/atoms.cmi types/chars.cmi misc/encodings.cmi \
types/ident.cmo types/intervals.cmi compile/lambda.cmi misc/ns.cmi \
types/types.cmi
......@@ -359,13 +355,12 @@ runtime/load_xml.cmi: runtime/value.cmi
runtime/run_dispatch.cmi: types/patterns.cmi runtime/value.cmi
runtime/explain.cmi: types/types.cmi runtime/value.cmi
runtime/print_xml.cmi: misc/ns.cmi runtime/value.cmi
runtime/eval.cmi: types/ident.cmo compile/lambda.cmi types/types.cmi \
runtime/value.cmi
runtime/eval.cmi: types/ident.cmo compile/lambda.cmi misc/ns.cmi \
types/types.cmi runtime/value.cmi
compile/compile.cmi: parser/ast.cmo types/ident.cmo compile/lambda.cmi \
misc/serialize.cmi typing/typed.cmo typing/typer.cmi types/types.cmi \
runtime/value.cmi
compile/operators.cmi: misc/custom.cmo parser/location.cmi misc/serialize.cmi \
typing/typer.cmi types/types.cmi runtime/value.cmi
compile/operators.cmi: parser/location.cmi types/types.cmi runtime/value.cmi
types/builtin.cmi: typing/typer.cmi runtime/value.cmi
driver/librarian.cmi: compile/compile.cmi types/ident.cmo typing/typer.cmi \
types/types.cmi runtime/value.cmi
......
......@@ -52,7 +52,7 @@ let pxp_stream_of_file ?(config = new_xsd_config ()) fname =
(`Entry_document [ `Extend_dtd_fully; `Parse_xml_decl ])
entity_manager
in
Stream.from pull_parser
Stream.from (fun _ -> pull_parser ())
(*
class foo_entity_id = object end
......@@ -116,7 +116,7 @@ let string_of_pxp_event = function
| E_end_tag (name, entity_id) -> sprintf "E_end_tag (%s)" name
| E_char_data data ->
sprintf "E_char_data (%s)" (Pcre.replace ~pat:"\n" ~templ:"\\n" data)
| E_pinstr (target, value) -> "E_pinstr"
| E_pinstr _ -> "E_pinstr"
| E_comment data -> "E_comment"
| E_position (entity, line, col) -> "E_position"
| E_error exn -> sprintf "E_error (%s)" (Pxp_types.string_of_exn exn)
......
......@@ -813,7 +813,10 @@ let clearly_disjoint t1 t2 =
let memo = DescrHash.create 33000
let marks = ref []
let count_subtype = Stats.Counter.create "Subtyping internal loop"
let rec slot d =
Stats.Counter.incr count_subtype;
if not ((Intervals.is_empty d.ints) &&
(Atoms.is_empty d.atoms) &&
(Chars.is_empty d.chars) &&
......@@ -917,19 +920,19 @@ and check_record (labels,(oleft,left),rights) s =
start (Array.length left - 1) s
(*
let timer_subtype = Stats.Timer.create "Types.is_empty"
*)
let is_empty d =
(* Stats.Timer.start timer_subtype;*)
Stats.Timer.start timer_subtype;
let s = slot d in
List.iter
(fun s' ->
if s'.status == Maybe then s'.status <- Empty; s'.notify <- Nothing)
!marks;
marks := [];
(* Stats.Timer.stop timer_subtype *)
Stats.Timer.stop timer_subtype
(s.status == Empty)
(*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment