Fix a compilation problem with MSVC.

scripts/mgnuc.in:
	C_COMPILER_TYPE still uses the cl_* style names, so we still need
	to match against that rather than msvc_*.
Fix errors in the operator table in the reference manual.

doc/reference_manual.texi:
    Remove character escapes from the operator table.
Fix github issue #14.

Compilation of the Boehm GC was failing on 64-bit openSUSE 13.1 because that
system defines site specific settings for configure scripts and one of those
site specific settings is that when using a 64-bit C compiler, the value of
--libdir should default to ${exec_prefix}/lib64.  For the Boehm GC, this means
that libatomic_ops was being installed libatomic_ops-install/lib64 rather than
libatomic_ops-install/lib.  The top-level Boehm GC Makefile expects to find it
in the latter.

boehm_gc/build_atomic_ops.sh:
	Explicitly set --libdir for libatomic_ops so that we override any
	site specific settings for configure and libatomic_ops is "installed"
 	in the correct directory.
Fix lex.lexeme unicode cutoff

In lex.lexeme, all char codepoints where downcast to 8bit, thus
rendering Unicode matching impossible.
Revert "Fix lex.lexeme unicode cutoff"

This reverts commit 39fd8aa1bd64911511cd1d639119e321edef4bc0.
extras/lex: fix whitespace and a spelling error

extras/lex/lex.m:
    As above.
extras/lex: add support for Java and C#

extras/lex/lex.m:
    As above.
extras/lex improvements

    + Add a charset type that can be used to represent sets of characters.
      These are useful when constructing lexers.

    + Start adding support for wider character sets.

    + Add support for matching on ranges of characters.

extras/lex/lex.m:
    As above.

    anybut/1 now uses unicode as a basis.

extras/lex/samples/lex_demo.m:
    Demonstrate the new features.
extras/lex: minor changes following Sebastian's changes

extras/lex/lex.m:
    Document some caveats with the charset functions.

    Add a range check to the two-argument charset function.

    Simplify the anybut function.
extras/lex: fix lex.lexeme char 8-bit cutoff

In lex.lexeme, all char codepoints where downcast to 8bit, thus rendering
Unicode matching impossible.  This change removes this limitation.

extras/lex/lex.lexeme.m:
    As above.
extras/lex: enable full Unicode support.

The NFA is now using the sparse_bitset to compile the state transitions.
This significantly reduces the compile time for the regular expression, thus
enabling the use of a much larger Unicode range for character recognition.

The helper function anybut/1 has been made aware of unicode, i.e.
anybut/1 now recognises [`0x1` .. `0xffff`] - [but chars].

In addition, the regexp(string) instance now accepts Unicode chars,
the previous code was only valid for ASCII chars (when using the UTF-8
encoded C-strings in the C-based grades)

extras/lex/lex.convert_NFA_to_DFA.m:
    Use the sparse_bitset ADT to build the tables used by the library.

extras/lex/lex.m:
    Add a new constructor to the regexp type allowing regexps to be build
    directly from character sets.

extras/lex/lex.regexp.m:
    Build regexps from character sets.

extras/lex/samples/lex_demo.m:
    Demonstrate the use of wide characters in the lexer demo.

extras/lex/lex.automata.m:
extras/lex/lex.lexeme.m:
    Conform to above changes.
extras/lex: Use a more concise datastructure for character ranges

Lists of Unicode characters can be very long as there are many characters.
This change represents ranges of characters by storing only the first and
last character in each range.

extras/lex/lex.m:
    As above.
extras/lex: don't use deprecated functions

extras/lex/regex.m:
    Don't use deprecated standard library functions.
Merge remote-tracking branch 'upstream/master'
Announce improvments to the lex and regex libraries in extras.

NEWS:
    As above.
Fixing bounce, exspline, aster + view in graphics
Announce improvments to the lex and regex libraries in extras.

NEWS:
    As above.
Merge remote-tracking branch 'upstream/master'
Add .gitignore files to the extras/ directory

extras/.gitignore:
    Mercury ignores the --use-{grade}-subdir dir
    Mercury/** for git 1.8+ this recursively ignores all build files
    ignoring *.mh and *.init files
    *.err output files
    lib*.{dll|so|a|dylib} ignores target compiler library output
    *.jar ignores the Java grade output
    *.exe for Windows executables

extras/dynamic_linking/.gitignore:
    ignoring the copy of dl.m, name_mangle.m
    ignoring hello lib and dl_test* executables

extras/moose/samples/.gitignore:
    ignoring cgram.m small.m alpha.m expr.m which are
    generated from the .moo grammar files

extras/graphics/mercury_cairo/samples/.gitignore:
    ignoring *.png output and all executables

extras/**/.gitignore:
    In each sample/test/example folder the linux executable/test
    output is ignored
fix extras/graphics/ examples

Replace all occurances of index0_det with det_index0 to make these examples
compatible with recent versions of Mercury.

extras/graphics/easyx/samples/bounce.m:
extras/graphics/mercury_allegro/examples/exspline.m:
extras/graphics/mercury_allegro/samples/demo/aster.m:
extras/graphics/mercury_allegro/samples/speed/view.m:
    As above.