mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-25 06:14:18 +00:00
Estimated hours taken: 3
Branches: main
Change the list constructor from `./2' to `[|]/2'. `./2' will
eventually become the module qualification operator.
library/parser.m:
library/io.m:
library/sparse_bitset.m:
library/std_util.m:
library/term_io.m:
compiler/mercury_to_mercury.m:
compiler/prog_io_dcg.m:
compiler/prog_io_goal.m:
compiler/prog_io_pragma.m:
compiler/prog_io_typeclass.m:
compiler/prog_io_util.m:
browser/interactive_query.m:
extras/moose/grammar.m:
extras/moose/moose.m:
extras/morphine/source/generate_call_site_cov.m:
extras/xml/xml.encoding.m:
samples/muz/higher_order.m:
tests/debugger/declarative/app.m:
tests/dppd/transpose_impl.m:
tests/hard_coded/ground_dd.m:
tests/hard_coded/split_c_files.m:
Change all references to `./2' to use `[|]/2' instead.
compiler/typecheck.m:
Handle `./2' as a special case in `report_error_undef_cons'.
Warn about module list not being imported if `[|]/2' is undefined.
compiler/llds_out.m:
util/mdemangle.c:
profiler/demangle.m:
Add name conversions for `[|]' (f_cons) and `[]' (f_nil).
NEWS:
doc/reference_manual.texi:
w3/tutorial/lists-n-things.m4:
Document the changes.
tests/debugger/{,declarative}/*.exp*:
Update test case results. For some tests the output changed
because they output lists in the non-pretty format. For others,
the output changed because the alphabetical ordering of the
constructors of type `list/1' changed, so the numbering of
the switch branches in the goal paths changed.
This directory contains an XML parsing library. The parser is implemented using higher order parsing combinators. It follows the grammar in the XML 1.0 recommendation (see http://www.w3c.org for more on the recommendation). Unfortunately this means that it isn't quite conformant because the english text of the recommendation contradicts the given grammar in a number of places, some of which I have fixed, and some I will fix when I know how to. The parser includes external parsed entities, but doesn't deal very well with non-parsed external entities very well yet (due to some of the afore-mentioned contradictions in the recommendation). It is non-validating at this stage, but it does parse the DTD and expand entity and parameter-entity references. The files in this directory are: README this file. xml.m a wrapper module xml.cat.m implements catalog file parsing xml.doc.m defines the types for representing documents xml.dtd.m defines the types for representing DTDs xml.encoding.m implements algorithms used for manipulating different encoding mechanisms (eg ASCII, UTF-8) xml.parse.m the main parser xml.parse.chars.m a piece of the parser which is split off for compile time performance unicode.m defines a bunch of functions that return the unicode number for various ascii characters parsing.m defines the parsing combinators used by the parser tryit.m a sample driver program which parses documents and prints any error messages Mmakefile a control file for mmake to build the sample program samples a directory including instructions on how to run the XML parser and some sample files