aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@axiomatics.org>2017-12-27 04:38:07 -0800
committerGabriel Dos Reis <gdr@axiomatics.org>2017-12-27 04:38:07 -0800
commit83ff2c1707b3c1e304feb2127503d9878b05fa9d (patch)
tree06cadddd637ba9474bfacc2b14c18d1ebafe0def
parentd16f9a090321f1ec1e8b20f1fb30859bf93cea46 (diff)
downloadopen-axiom-83ff2c1707b3c1e304feb2127503d9878b05fa9d.tar.gz
Remove antiquated check for alignas
C++14 required, alignas and alignof are now well supported as C++11 features.
-rw-r--r--Makefile.in12
-rw-r--r--aclocal.m444
-rw-r--r--config/open-axiom.m442
-rw-r--r--config/openaxiom-c-macros.h.in6
-rwxr-xr-xconfigure86
-rw-r--r--configure.ac2
-rw-r--r--src/Makefile.in4
-rw-r--r--src/algebra/Makefile.in4
-rw-r--r--src/boot/Makefile.in4
-rw-r--r--src/hyper/hthits.c2
-rw-r--r--src/include/open-axiom/SyntaxTree80
-rw-r--r--src/include/open-axiom/token11
-rw-r--r--src/rt/Makefile.in4
-rw-r--r--src/utils/Makefile.in4
14 files changed, 141 insertions, 164 deletions
diff --git a/Makefile.in b/Makefile.in
index a844efc2..edf663e4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -774,7 +774,7 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
@@ -800,7 +800,7 @@ dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -818,7 +818,7 @@ dist dist-all:
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -828,7 +828,7 @@ distcheck: dist
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff --git a/aclocal.m4 b/aclocal.m4
index 8f870b00..73cc4f27 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.15'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -408,7 +408,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -605,7 +605,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -626,7 +626,7 @@ if test x"${install_sh+set}" != xset; then
fi
AC_SUBST([install_sh])])
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -647,7 +647,7 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -697,7 +697,7 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -736,7 +736,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -765,7 +765,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -812,7 +812,7 @@ AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -831,7 +831,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -912,7 +912,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file
])
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -972,7 +972,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1000,7 +1000,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -1019,7 +1019,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/config/open-axiom.m4 b/config/open-axiom.m4
index 0736da35..2397ab78 100644
--- a/config/open-axiom.m4
+++ b/config/open-axiom.m4
@@ -1161,46 +1161,6 @@ if test x"$ac_cv_header_sys_mman_h" = xyes; then
fi
])
-dnl ----------------------------------
-dnl -- OPENAXIOM_ALIGNMENT_OPERATOR --
-dnl ----------------------------------
-dnl Check that the C/C++ compiler understand
-dnl alignment operator, i.e. either `alignof',
-dnl or vendor lock-ins such as `__alignof'.
-AC_DEFUN([OPENAXIOM_ALIGNMENT_OPERATOR],[
-AC_MSG_CHECKING([name of alignment query operator])
-oa_alignment=
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int a = alignof(int);]])],
- [oa_alignment="alignof"],
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int a = __alignof(int);]])],
- [oa_alignment="__alignof"],
- [AC_MSG_ERROR([C++ compiler does not support alignment query operator])])])
-if test -n $oa_alignment -a $oa_alignment != "alignof"; then
- AC_DEFINE_UNQUOTED([alignof],[$oa_alignment],[Alignment query operator])
-fi
-AC_MSG_RESULT([$oa_alignment])
-])
-
-dnl ---------------------------------
-dnl -- OPENAXIOM_ALIGNAS_SPECIFIER --
-dnl ---------------------------------
-dnl check for alignment specifier support.
-dnl Vendor lock-ins are of the attribute form.
-AC_DEFUN([OPENAXIOM_ALIGNAS_SPECIFIER],[
-AC_MSG_CHECKING([alignment boundary specifier syntax])
-oa_alignas=
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[alignas(16) int a = 42;]])],
- [oa_alignas="alignas(N)"],
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[__attribute__((__aligned__(16))) int a = 42;]])],
- [oa_alignas="__attribute__((__aligned__(N)))"],
- [AC_MSG_ERROR([C++ compiler does not support alignment specifier])])])
-if test -n $oa_alignas -a $oa_alignas != "alignas"; then
- AC_DEFINE_UNQUOTED([alignas(N)],[$oa_alignas],[Alignment specifier operator])
-fi
-AC_MSG_RESULT([$oa_alignas])
-])
-
-
dnl -------------------------
dnl -- OPENAXIOM_CHECK_GMP --
dnl -------------------------
@@ -1213,8 +1173,6 @@ dnl --------------------------
dnl -- OPENAXIOM_CHECK_MISC --
dnl --------------------------
AC_DEFUN([OPENAXIOM_CHECK_MISC],[
-OPENAXIOM_ALIGNMENT_OPERATOR
-OPENAXIOM_ALIGNAS_SPECIFIER
case $oa_cxx_compiler_lineage in
gnu|clang)
CFLAGS="$CFLAGS -O2 -Wall"
diff --git a/config/openaxiom-c-macros.h.in b/config/openaxiom-c-macros.h.in
index 0ec30abc..c054cc0d 100644
--- a/config/openaxiom-c-macros.h.in
+++ b/config/openaxiom-c-macros.h.in
@@ -226,10 +226,4 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
-/* Alignment specifier operator */
-#undef alignas
-
-/* Alignment query operator */
-#undef alignof
-
#endif // OPENAXIOM_CONFIG_included
diff --git a/configure b/configure
index af168c5f..8e336a7d 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for OpenAxiom 1.5.0-2017-01-15.
+# Generated by GNU Autoconf 2.69 for OpenAxiom 1.5.0-2017-12-27.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.5.0-2017-01-15'
-PACKAGE_STRING='OpenAxiom 1.5.0-2017-01-15'
+PACKAGE_VERSION='1.5.0-2017-12-27'
+PACKAGE_STRING='OpenAxiom 1.5.0-2017-12-27'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
PACKAGE_URL=''
@@ -1421,7 +1421,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenAxiom 1.5.0-2017-01-15 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.5.0-2017-12-27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1496,7 +1496,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.5.0-2017-01-15:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.5.0-2017-12-27:";;
esac
cat <<\_ACEOF
@@ -1613,7 +1613,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.5.0-2017-01-15
+OpenAxiom configure 1.5.0-2017-12-27
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2430,7 +2430,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenAxiom $as_me 1.5.0-2017-01-15, which was
+It was created by OpenAxiom $as_me 1.5.0-2017-12-27, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3449,7 +3449,7 @@ fi
# Define the identity of the package.
PACKAGE='openaxiom'
- VERSION='1.5.0-2017-01-15'
+ VERSION='1.5.0-2017-12-27'
cat >>confdefs.h <<_ACEOF
@@ -19395,72 +19395,6 @@ _ACEOF
fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking name of alignment query operator" >&5
-$as_echo_n "checking name of alignment query operator... " >&6; }
-oa_alignment=
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int a = alignof(int);
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- oa_alignment="alignof"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int a = __alignof(int);
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- oa_alignment="__alignof"
-else
- as_fn_error $? "C++ compiler does not support alignment query operator" "$LINENO" 5
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test -n $oa_alignment -a $oa_alignment != "alignof"; then
-
-cat >>confdefs.h <<_ACEOF
-#define alignof $oa_alignment
-_ACEOF
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $oa_alignment" >&5
-$as_echo "$oa_alignment" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking alignment boundary specifier syntax" >&5
-$as_echo_n "checking alignment boundary specifier syntax... " >&6; }
-oa_alignas=
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-alignas(16) int a = 42;
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- oa_alignas="alignas(N)"
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-__attribute__((__aligned__(16))) int a = 42;
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
- oa_alignas="__attribute__((__aligned__(N)))"
-else
- as_fn_error $? "C++ compiler does not support alignment specifier" "$LINENO" 5
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test -n $oa_alignas -a $oa_alignas != "alignas"; then
-
-cat >>confdefs.h <<_ACEOF
-#define alignas(N) $oa_alignas
-_ACEOF
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $oa_alignas" >&5
-$as_echo "$oa_alignas" >&6; }
-
case $oa_cxx_compiler_lineage in
gnu|clang)
CFLAGS="$CFLAGS -O2 -Wall"
@@ -20087,7 +20021,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenAxiom $as_me 1.5.0-2017-01-15, which was
+This file was extended by OpenAxiom $as_me 1.5.0-2017-12-27, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20157,7 +20091,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-OpenAxiom config.status 1.5.0-2017-01-15
+OpenAxiom config.status 1.5.0-2017-12-27
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index c6d39cbb..8c747722 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ dnl Makefiles for building OpenAxiom interpreter, compiler, libraries, and
dnl auxiliary tools where appropriate.
dnl
-AC_INIT([OpenAxiom], [1.5.0-2017-01-15],
+AC_INIT([OpenAxiom], [1.5.0-2017-12-27],
[open-axiom-bugs@lists.sf.net])
dnl Most of the macros used in this configure.ac are defined in files
diff --git a/src/Makefile.in b/src/Makefile.in
index 1ac3530b..935d5ce8 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in
index 59191ac7..421601b2 100644
--- a/src/algebra/Makefile.in
+++ b/src/algebra/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/src/boot/Makefile.in b/src/boot/Makefile.in
index 885b9636..c1922df0 100644
--- a/src/boot/Makefile.in
+++ b/src/boot/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/src/hyper/hthits.c b/src/hyper/hthits.c
index 8b2c3c10..470bf297 100644
--- a/src/hyper/hthits.c
+++ b/src/hyper/hthits.c
@@ -96,7 +96,7 @@ badDB()
static void
-untexbuf(register char* s)
+untexbuf(char* s)
{
char *d = s;
diff --git a/src/include/open-axiom/SyntaxTree b/src/include/open-axiom/SyntaxTree
new file mode 100644
index 00000000..7eb48ac8
--- /dev/null
+++ b/src/include/open-axiom/SyntaxTree
@@ -0,0 +1,80 @@
+// -*- C++ -*-
+// Copyright (C) 2017, Gabriel Dos Reis.
+// All rights reserved.
+// Written by Gabriel Dos Reis.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// - Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//
+// - Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in
+// the documentation and/or other materials provided with the
+// distribution.
+//
+// - Neither the name of OpenAxiom, nor the names of its contributors may
+// be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef OPENAXIOM_SYNTAX_TREE_included
+#define OPENAXIOM_SYNTAX_TREE_included
+
+#include <stdint.h>
+#include <open-axiom/token>
+
+namespace OpenAxiom {
+ enum class SyntaxKind : uint8_t {
+ Module, Namespce, Import, Definition, Unparsed
+ };
+
+ enum SyntaxTree : uint32_t { };
+
+ constexpr SyntaxKind kind(SyntaxTree t) {
+ return SyntaxKind((uint32_t(t) & 0xFF000000) >> 24);
+ }
+
+ constexpr uint32_t index(SyntaxTree t) {
+ return uint32_t(t) & 0x00FFFFFF;
+ }
+
+ struct ModuleSyntax {
+ TokenIndex keyword;
+ TokenIndex name;
+ };
+
+ struct NamespaceSyntax {
+ TokenIndex keyword;
+ TokenIndex name;
+ };
+
+ struct ImportSyntax {
+ TokenIndex keyword;
+ };
+
+ struct DefinitionSyntax {
+ TokenIndex keyword;
+ };
+
+ struct UnparsedSyntax {
+ TokenIndex first;
+ TokenIndex last;
+ };
+}
+
+#endif // OPENAXIOM_SYNTAX_TREE_included
+
diff --git a/src/include/open-axiom/token b/src/include/open-axiom/token
index 943d01cc..1d17f5de 100644
--- a/src/include/open-axiom/token
+++ b/src/include/open-axiom/token
@@ -72,6 +72,17 @@ namespace OpenAxiom {
std::ostream& operator<<(std::ostream&, TokenValue);
+
+ enum class TokenIndex : uint32_t { };
+
+ constexpr TokenValue value(TokenIndex t) {
+ return TokenValue((uint32_t(t) & 0xFF000000) >> 24);
+ }
+
+ constexpr uint32_t index(TokenIndex t) {
+ return uint32_t(t) & 0x00FFFFFF;
+ }
+
// Program text region, with a fragment.
struct Region {
FragmentCursor start;
diff --git a/src/rt/Makefile.in b/src/rt/Makefile.in
index 3a4cce43..7b829ab8 100644
--- a/src/rt/Makefile.in
+++ b/src/rt/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
diff --git a/src/utils/Makefile.in b/src/utils/Makefile.in
index 5f977ae5..dcd4070f 100644
--- a/src/utils/Makefile.in
+++ b/src/utils/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,