aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@axiomatics.org>2017-01-15 08:42:04 -0800
committerGabriel Dos Reis <gdr@axiomatics.org>2017-01-15 08:42:04 -0800
commit77be242e6af75148771620fcbbaad191d1c11b60 (patch)
tree476cc4692d235e6f908152e3f12aac61449bebac
parentb56562693a88f88e7c290de9e1dc18d96a0da792 (diff)
downloadopen-axiom-77be242e6af75148771620fcbbaad191d1c11b60.tar.gz
TokenValue::Indent, TokenValue::Unindent, TokenValue::Justify
Classify them as formatting tokens. Remove TokenValue::Artificial.
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--src/ChangeLog7
-rw-r--r--src/include/open-axiom/token4
-rw-r--r--src/include/open-axiom/token-value6
-rw-r--r--src/syntax/token.cxx11
6 files changed, 26 insertions, 24 deletions
diff --git a/configure b/configure
index a987934e..a18ddf71 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-02.
+# Generated by GNU Autoconf 2.69 for OpenAxiom 1.5.0-2017-01-15.
#
# 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-02'
-PACKAGE_STRING='OpenAxiom 1.5.0-2017-01-02'
+PACKAGE_VERSION='1.5.0-2017-01-15'
+PACKAGE_STRING='OpenAxiom 1.5.0-2017-01-15'
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-02 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.5.0-2017-01-15 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-02:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.5.0-2017-01-15:";;
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-02
+OpenAxiom configure 1.5.0-2017-01-15
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-02, which was
+It was created by OpenAxiom $as_me 1.5.0-2017-01-15, 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-02'
+ VERSION='1.5.0-2017-01-15'
cat >>confdefs.h <<_ACEOF
@@ -20087,7 +20087,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-02, which was
+This file was extended by OpenAxiom $as_me 1.5.0-2017-01-15, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20157,7 +20157,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-02
+OpenAxiom config.status 1.5.0-2017-01-15
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index f7731eda..509569b8 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-02],
+AC_INIT([OpenAxiom], [1.5.0-2017-01-15],
[open-axiom-bugs@lists.sf.net])
dnl Most of the macros used in this configure.ac are defined in files
diff --git a/src/ChangeLog b/src/ChangeLog
index b1302e3a..ac10c246 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2017-01-15 Gabriel Dos Reis <gdr@axiomatics.org>
+
+ * include/open-axiom/token (TokenValue::Indent,
+ TokenValue::Unindent, TokenValue::Justify): Move definition to..
+ * include/open-axiom/token-value: ...here.
+ * syntax/token.cxx (operator<<): Adjust.
+
2017-01-02 Gabriel Dos Reis <gdr@axiomatics.org>
* lib/Makefile.in (core_SOURCES): Include files for IO,
diff --git a/src/include/open-axiom/token b/src/include/open-axiom/token
index 1b4f78f0..da508a82 100644
--- a/src/include/open-axiom/token
+++ b/src/include/open-axiom/token
@@ -66,10 +66,6 @@ namespace OpenAxiom {
#define OPENAXIOM_DEFINE_TOKEN(T, ...) T,
#include <open-axiom/token-value>
#undef OPENAXIOM_DEFINE_TOKEN
- Artificial, // Tokens after this are artificial
- Indent, // new line indentation, greater than previous
- Unindent, // new line indentation, less than previous
- Justify, // align indentation with preceding line.
EndOfStream // end of token stream
};
diff --git a/src/include/open-axiom/token-value b/src/include/open-axiom/token-value
index aa8347d3..3becc318 100644
--- a/src/include/open-axiom/token-value
+++ b/src/include/open-axiom/token-value
@@ -1,5 +1,5 @@
// -*- C++ -*-
-// Copyright (C) 2014, Gabriel Dos Reis.
+// Copyright (C) 2014-2017, Gabriel Dos Reis.
// All rights reserved.
// Written by Gabriel Dos Reis.
//
@@ -144,3 +144,7 @@ OPENAXIOM_DEFINE_TOKEN(Until, "until", Keyword, Language::BootSpad)
OPENAXIOM_DEFINE_TOKEN(With, "with", Keyword, Language::Spad)
OPENAXIOM_DEFINE_TOKEN(Where, "where", Keyword, Language::BootSpad)
OPENAXIOM_DEFINE_TOKEN(While, "while", Keyword, Language::BootSpad)
+
+OPENAXIOM_DEFINE_TOKEN(Indent, "<indent>", Formatting, Language::All)
+OPENAXIOM_DEFINE_TOKEN(Unindent, "<unindent>", Formatting, Language::All)
+OPENAXIOM_DEFINE_TOKEN(Justify, "<justify>", Formatting, Language::All)
diff --git a/src/syntax/token.cxx b/src/syntax/token.cxx
index 74b58fa2..011520a8 100644
--- a/src/syntax/token.cxx
+++ b/src/syntax/token.cxx
@@ -101,15 +101,10 @@ namespace OpenAxiom {
std::ostream&
operator<<(std::ostream& os, TokenValue tv) {
- if (tv < TokenValue::Artificial)
+ if (tv < TokenValue::EndOfStream)
os << token_map[uint8_t(tv)].text;
- else switch (tv) {
- case TokenValue::Indent: os << "%INDENT"; break;
- case TokenValue::Unindent: os << "%UNIDENT"; break;
- case TokenValue::Justify: os << "%JUSTIFY"; break;
- default: os << "%ALIEN"; break;
- }
-
+ else
+ os << "%ALIEN";
return os;
}