changeset 15060:5156934606d7

Merge in Carnë's changes
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Tue, 31 Jul 2012 08:51:02 -0400
parents 3691a606283e (diff) 6130d87495b8 (current diff)
children 36cbcc37fdb8 f7215831fe78
files
diffstat 304 files changed, 338 insertions(+), 329 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/pkg/pkg.m
+++ b/scripts/pkg/pkg.m
@@ -428,7 +428,7 @@
           endif
           warning ("creating the directory %s\n", prefix);
         endif
-        local_packages = prefix = canonicalize_filename (prefix);
+        local_packages = prefix = canonicalize_file_name (prefix);
         user_prefix = true;
         if (length (files) >= 2 && ischar (files{2}))
           archprefix = files{2};
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -25,6 +25,8 @@
   -I../libgnu -I$(top_srcdir)/libgnu \
   -I$(top_srcdir)/libcruft/misc \
   -I../liboctave -I$(top_srcdir)/liboctave \
+  -Ioctave-value -I$(srcdir)/octave-value \
+  -Iparse-tree -I$(srcdir)/parse-tree \
   -Icorefcn -I$(srcdir)/corefcn \
   -I. -I$(srcdir) \
   @CPPFLAGS@
@@ -135,103 +137,6 @@
   ../liboctave/LSODE-opts.h \
   ../liboctave/Quad-opts.h
 
-OV_INTTYPE_INC = \
-  ov-base-int.h \
-  ov-base-int.cc \
-  ov-int-traits.h \
-  ov-int16.h \
-  ov-int32.h \
-  ov-int64.h \
-  ov-int8.h \
-  ov-intx.h \
-  ov-uint16.h \
-  ov-uint32.h \
-  ov-uint64.h \
-  ov-uint8.h
-
-OV_INCLUDES = \
-  ov-base-diag.h \
-  ov-base-diag.cc \
-  ov-base-mat.h \
-  ov-base-mat.cc \
-  ov-base-scalar.h \
-  ov-base-scalar.cc \
-  ov-base.h \
-  ov-bool-mat.h \
-  ov-bool-mat.cc \
-  ov-bool.h \
-  ov-builtin.h \
-  ov-cell.h \
-  ov-ch-mat.h \
-  ov-class.h \
-  ov-colon.h \
-  ov-complex.h \
-  ov-cs-list.h \
-  ov-cx-diag.h \
-  ov-cx-mat.h \
-  ov-dld-fcn.h \
-  ov-fcn-handle.h \
-  ov-fcn-inline.h \
-  ov-fcn.h \
-  ov-float.h \
-  ov-flt-complex.h \
-  ov-flt-cx-diag.h \
-  ov-flt-cx-mat.h \
-  ov-flt-re-diag.h \
-  ov-flt-re-mat.h \
-  ov-lazy-idx.h \
-  ov-mex-fcn.h \
-  ov-null-mat.h \
-  ov-oncleanup.h \
-  ov-perm.h \
-  ov-range.h \
-  ov-re-diag.h \
-  ov-re-mat.h \
-  ov-scalar.h \
-  ov-str-mat.h \
-  ov-struct.h \
-  ov-type-conv.h \
-  ov-typeinfo.h \
-  ov-usr-fcn.h \
-  ov.h \
-  $(OV_INTTYPE_INC)
-
-OV_SPARSE_INCLUDES = \
-  ov-base-sparse.h \
-  ov-bool-sparse.h \
-  ov-cx-sparse.h \
-  ov-re-sparse.h
-
-PT_INCLUDES = \
-  pt-all.h \
-  pt-arg-list.h \
-  pt-assign.h \
-  pt-binop.h \
-  pt-bp.h \
-  pt-cbinop.h \
-  pt-cell.h \
-  pt-check.h \
-  pt-cmd.h \
-  pt-colon.h \
-  pt-const.h \
-  pt-decl.h \
-  pt-eval.h \
-  pt-except.h \
-  pt-exp.h \
-  pt-fcn-handle.h \
-  pt-id.h \
-  pt-idx.h \
-  pt-jump.h \
-  pt-loop.h \
-  pt-mat.h \
-  pt-misc.h \
-  pt-pr-code.h \
-  pt-select.h \
-  pt-stmt.h \
-  pt-unop.h \
-  pt-walk.h \
-  pt.h
-
 JIT_INCLUDES = \
   jit-util.h \
   jit-typeinfo.h \
@@ -326,90 +231,6 @@
   mxarray.h \
   version.h
 
-OV_INTTYPE_SRC = \
-  ov-int16.cc \
-  ov-int32.cc \
-  ov-int64.cc \
-  ov-int8.cc \
-  ov-uint16.cc \
-  ov-uint32.cc \
-  ov-uint64.cc \
-  ov-uint8.cc
-
-OV_SPARSE_SRC = \
-  ov-base-sparse.cc \
-  ov-bool-sparse.cc \
-  ov-cx-sparse.cc \
-  ov-re-sparse.cc
-
-OV_SRC = \
-  ov-base.cc \
-  ov-bool-mat.cc \
-  ov-bool.cc \
-  ov-builtin.cc \
-  ov-cell.cc \
-  ov-ch-mat.cc \
-  ov-class.cc \
-  ov-colon.cc \
-  ov-complex.cc \
-  ov-cs-list.cc \
-  ov-cx-diag.cc \
-  ov-cx-mat.cc \
-  ov-dld-fcn.cc \
-  ov-fcn-handle.cc \
-  ov-fcn-inline.cc \
-  ov-fcn.cc \
-  ov-float.cc \
-  ov-flt-complex.cc \
-  ov-flt-cx-diag.cc \
-  ov-flt-cx-mat.cc \
-  ov-flt-re-diag.cc \
-  ov-flt-re-mat.cc \
-  ov-lazy-idx.cc \
-  ov-mex-fcn.cc \
-  ov-null-mat.cc \
-  ov-oncleanup.cc \
-  ov-perm.cc \
-  ov-range.cc \
-  ov-re-diag.cc \
-  ov-re-mat.cc \
-  ov-scalar.cc \
-  ov-str-mat.cc \
-  ov-struct.cc \
-  ov-typeinfo.cc \
-  ov-usr-fcn.cc \
-  ov.cc \
-  $(OV_INTTYPE_SRC) \
-  $(OV_SPARSE_SRC)
-
-PT_SRC = \
-  pt-arg-list.cc \
-  pt-assign.cc \
-  pt-binop.cc \
-  pt-bp.cc \
-  pt-cbinop.cc \
-  pt-cell.cc \
-  pt-check.cc \
-  pt-cmd.cc \
-  pt-colon.cc \
-  pt-const.cc \
-  pt-decl.cc \
-  pt-eval.cc \
-  pt-except.cc \
-  pt-exp.cc \
-  pt-fcn-handle.cc \
-  pt-id.cc \
-  pt-idx.cc \
-  pt-jump.cc \
-  pt-loop.cc \
-  pt-mat.cc \
-  pt-misc.cc \
-  pt-pr-code.cc \
-  pt-select.cc \
-  pt-stmt.cc \
-  pt-unop.cc \
-  pt.cc
-
 JIT_SRC = \
   jit-util.cc \
   jit-typeinfo.cc \
@@ -487,22 +308,23 @@
   xnorm.cc \
   xpow.cc \
   zfstream.cc \
-  $(corefcn_SRC) \
-  $(OV_SRC) \
-  $(PT_SRC) \
+  $(COREFCN_SRC) \
+  $(OCTAVE_VALUE_SRC) \
+  $(PARSE_TREE_SRC) \
   $(JIT_SRC)
 
 noinst_LTLIBRARIES =
 
+include parse-tree/module.mk
+include octave-value/module.mk
+include operators/module.mk
+include template-inst/module.mk
 include corefcn/module.mk
 include DLD-FUNCTIONS/module.mk
 
 $(srcdir)/DLD-FUNCTIONS/module.mk: $(srcdir)/DLD-FUNCTIONS/config-module.sh $(srcdir)/DLD-FUNCTIONS/config-module.awk $(srcdir)/DLD-FUNCTIONS/module-files
 	$(srcdir)/DLD-FUNCTIONS/config-module.sh $(top_srcdir)
 
-include OPERATORS/module.mk
-include TEMPLATE-INST/module.mk
-
 if AMCOND_ENABLE_DYNAMIC_LINKING
   OCT_FILES = $(DLD_FUNCTIONS_LIBS:.la=.oct)
   OCT_STAMP_FILES = $(subst DLD-FUNCTIONS/,DLD-FUNCTIONS/$(am__leading_dot),$(DLD_FUNCTIONS_LIBS:.la=.oct-stamp))
--- a/src/corefcn/module.mk
+++ b/src/corefcn/module.mk
@@ -1,7 +1,7 @@
 EXTRA_DIST += \
   corefcn/module.mk
 
-corefcn_SRC = \
+COREFCN_SRC = \
   corefcn/__contourc__.cc \
   corefcn/__dispatch__.cc \
   corefcn/__lin_interpn__.cc \
@@ -66,5 +66,5 @@
 
 noinst_LTLIBRARIES += corefcn/libcorefcn.la
 
-corefcn_libcorefcn_la_SOURCES = $(corefcn_SRC)
+corefcn_libcorefcn_la_SOURCES = $(COREFCN_SRC)
 
--- a/src/mkops
+++ b/src/mkops
@@ -21,7 +21,7 @@
 SED=${SED:-'sed'}
 
 cat << \EOF
-// DO NOT EDIT!  Generated automatically by mkbuiltins.
+// DO NOT EDIT!  Generated automatically by mkops.
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -32,7 +32,7 @@
 EOF
 
 for file in "$@"; do
-  f=`echo $file | $SED 's,^\./,,; s%^OPERATORS/op-%%; s%\.cc%%; s%-%_%g'`
+  f=`echo $file | $SED 's,^\./,,; s%^operators/op-%%; s%\.cc%%; s%-%_%g'`
   echo "extern void install_${f}_ops (void);"
 done
 
@@ -46,7 +46,7 @@
 EOF
 
 for file in "$@"; do
-  f=`echo $file | $SED 's,^\./,,; s%^OPERATORS/op-%%; s%\.cc%%; s%-%_%g'`
+  f=`echo $file | $SED 's,^\./,,; s%^operators/op-%%; s%\.cc%%; s%-%_%g'`
   echo "  install_${f}_ops ();"
 done
 
new file mode 100644
--- /dev/null
+++ b/src/octave-value/module.mk
@@ -0,0 +1,126 @@
+EXTRA_DIST += \
+  octave-value/module.mk
+
+OV_INTTYPE_INCLUDES = \
+  octave-value/ov-base-int.h \
+  octave-value/ov-base-int.cc \
+  octave-value/ov-int-traits.h \
+  octave-value/ov-int16.h \
+  octave-value/ov-int32.h \
+  octave-value/ov-int64.h \
+  octave-value/ov-int8.h \
+  octave-value/ov-intx.h \
+  octave-value/ov-uint16.h \
+  octave-value/ov-uint32.h \
+  octave-value/ov-uint64.h \
+  octave-value/ov-uint8.h
+
+OV_SPARSE_INCLUDES = \
+  octave-value/ov-base-sparse.h \
+  octave-value/ov-bool-sparse.h \
+  octave-value/ov-cx-sparse.h \
+  octave-value/ov-re-sparse.h
+
+OV_INCLUDES = \
+  octave-value/ov-base-diag.h \
+  octave-value/ov-base-diag.cc \
+  octave-value/ov-base-mat.h \
+  octave-value/ov-base-mat.cc \
+  octave-value/ov-base-scalar.h \
+  octave-value/ov-base-scalar.cc \
+  octave-value/ov-base.h \
+  octave-value/ov-bool-mat.h \
+  octave-value/ov-bool-mat.cc \
+  octave-value/ov-bool.h \
+  octave-value/ov-builtin.h \
+  octave-value/ov-cell.h \
+  octave-value/ov-ch-mat.h \
+  octave-value/ov-class.h \
+  octave-value/ov-colon.h \
+  octave-value/ov-complex.h \
+  octave-value/ov-cs-list.h \
+  octave-value/ov-cx-diag.h \
+  octave-value/ov-cx-mat.h \
+  octave-value/ov-dld-fcn.h \
+  octave-value/ov-fcn-handle.h \
+  octave-value/ov-fcn-inline.h \
+  octave-value/ov-fcn.h \
+  octave-value/ov-float.h \
+  octave-value/ov-flt-complex.h \
+  octave-value/ov-flt-cx-diag.h \
+  octave-value/ov-flt-cx-mat.h \
+  octave-value/ov-flt-re-diag.h \
+  octave-value/ov-flt-re-mat.h \
+  octave-value/ov-lazy-idx.h \
+  octave-value/ov-mex-fcn.h \
+  octave-value/ov-null-mat.h \
+  octave-value/ov-oncleanup.h \
+  octave-value/ov-perm.h \
+  octave-value/ov-range.h \
+  octave-value/ov-re-diag.h \
+  octave-value/ov-re-mat.h \
+  octave-value/ov-scalar.h \
+  octave-value/ov-str-mat.h \
+  octave-value/ov-struct.h \
+  octave-value/ov-type-conv.h \
+  octave-value/ov-typeinfo.h \
+  octave-value/ov-usr-fcn.h \
+  octave-value/ov.h \
+  $(OV_INTTYPE_INCLUDES)
+
+OV_INTTYPE_SRC = \
+  octave-value/ov-int16.cc \
+  octave-value/ov-int32.cc \
+  octave-value/ov-int64.cc \
+  octave-value/ov-int8.cc \
+  octave-value/ov-uint16.cc \
+  octave-value/ov-uint32.cc \
+  octave-value/ov-uint64.cc \
+  octave-value/ov-uint8.cc
+
+OV_SPARSE_SRC = \
+  octave-value/ov-base-sparse.cc \
+  octave-value/ov-bool-sparse.cc \
+  octave-value/ov-cx-sparse.cc \
+  octave-value/ov-re-sparse.cc
+
+OCTAVE_VALUE_SRC = \
+  octave-value/ov-base.cc \
+  octave-value/ov-bool-mat.cc \
+  octave-value/ov-bool.cc \
+  octave-value/ov-builtin.cc \
+  octave-value/ov-cell.cc \
+  octave-value/ov-ch-mat.cc \
+  octave-value/ov-class.cc \
+  octave-value/ov-colon.cc \
+  octave-value/ov-complex.cc \
+  octave-value/ov-cs-list.cc \
+  octave-value/ov-cx-diag.cc \
+  octave-value/ov-cx-mat.cc \
+  octave-value/ov-dld-fcn.cc \
+  octave-value/ov-fcn-handle.cc \
+  octave-value/ov-fcn-inline.cc \
+  octave-value/ov-fcn.cc \
+  octave-value/ov-float.cc \
+  octave-value/ov-flt-complex.cc \
+  octave-value/ov-flt-cx-diag.cc \
+  octave-value/ov-flt-cx-mat.cc \
+  octave-value/ov-flt-re-diag.cc \
+  octave-value/ov-flt-re-mat.cc \
+  octave-value/ov-lazy-idx.cc \
+  octave-value/ov-mex-fcn.cc \
+  octave-value/ov-null-mat.cc \
+  octave-value/ov-oncleanup.cc \
+  octave-value/ov-perm.cc \
+  octave-value/ov-range.cc \
+  octave-value/ov-re-diag.cc \
+  octave-value/ov-re-mat.cc \
+  octave-value/ov-scalar.cc \
+  octave-value/ov-str-mat.cc \
+  octave-value/ov-struct.cc \
+  octave-value/ov-typeinfo.cc \
+  octave-value/ov-usr-fcn.cc \
+  octave-value/ov.cc \
+  $(OV_INTTYPE_SRC) \
+  $(OV_SPARSE_SRC)
+
rename from src/ov-base-diag.cc
rename to src/octave-value/ov-base-diag.cc
rename from src/ov-base-diag.h
rename to src/octave-value/ov-base-diag.h
rename from src/ov-base-int.cc
rename to src/octave-value/ov-base-int.cc
rename from src/ov-base-int.h
rename to src/octave-value/ov-base-int.h
rename from src/ov-base-mat.cc
rename to src/octave-value/ov-base-mat.cc
rename from src/ov-base-mat.h
rename to src/octave-value/ov-base-mat.h
rename from src/ov-base-scalar.cc
rename to src/octave-value/ov-base-scalar.cc
rename from src/ov-base-scalar.h
rename to src/octave-value/ov-base-scalar.h
rename from src/ov-base-sparse.cc
rename to src/octave-value/ov-base-sparse.cc
rename from src/ov-base-sparse.h
rename to src/octave-value/ov-base-sparse.h
rename from src/ov-base.cc
rename to src/octave-value/ov-base.cc
rename from src/ov-base.h
rename to src/octave-value/ov-base.h
rename from src/ov-bool-mat.cc
rename to src/octave-value/ov-bool-mat.cc
rename from src/ov-bool-mat.h
rename to src/octave-value/ov-bool-mat.h
rename from src/ov-bool-sparse.cc
rename to src/octave-value/ov-bool-sparse.cc
rename from src/ov-bool-sparse.h
rename to src/octave-value/ov-bool-sparse.h
rename from src/ov-bool.cc
rename to src/octave-value/ov-bool.cc
rename from src/ov-bool.h
rename to src/octave-value/ov-bool.h
rename from src/ov-builtin.cc
rename to src/octave-value/ov-builtin.cc
rename from src/ov-builtin.h
rename to src/octave-value/ov-builtin.h
rename from src/ov-cell.cc
rename to src/octave-value/ov-cell.cc
rename from src/ov-cell.h
rename to src/octave-value/ov-cell.h
rename from src/ov-ch-mat.cc
rename to src/octave-value/ov-ch-mat.cc
rename from src/ov-ch-mat.h
rename to src/octave-value/ov-ch-mat.h
rename from src/ov-class.cc
rename to src/octave-value/ov-class.cc
rename from src/ov-class.h
rename to src/octave-value/ov-class.h
rename from src/ov-colon.cc
rename to src/octave-value/ov-colon.cc
rename from src/ov-colon.h
rename to src/octave-value/ov-colon.h
rename from src/ov-complex.cc
rename to src/octave-value/ov-complex.cc
rename from src/ov-complex.h
rename to src/octave-value/ov-complex.h
rename from src/ov-cs-list.cc
rename to src/octave-value/ov-cs-list.cc
rename from src/ov-cs-list.h
rename to src/octave-value/ov-cs-list.h
rename from src/ov-cx-diag.cc
rename to src/octave-value/ov-cx-diag.cc
rename from src/ov-cx-diag.h
rename to src/octave-value/ov-cx-diag.h
rename from src/ov-cx-mat.cc
rename to src/octave-value/ov-cx-mat.cc
rename from src/ov-cx-mat.h
rename to src/octave-value/ov-cx-mat.h
rename from src/ov-cx-sparse.cc
rename to src/octave-value/ov-cx-sparse.cc
rename from src/ov-cx-sparse.h
rename to src/octave-value/ov-cx-sparse.h
rename from src/ov-dld-fcn.cc
rename to src/octave-value/ov-dld-fcn.cc
rename from src/ov-dld-fcn.h
rename to src/octave-value/ov-dld-fcn.h
rename from src/ov-fcn-handle.cc
rename to src/octave-value/ov-fcn-handle.cc
rename from src/ov-fcn-handle.h
rename to src/octave-value/ov-fcn-handle.h
rename from src/ov-fcn-inline.cc
rename to src/octave-value/ov-fcn-inline.cc
rename from src/ov-fcn-inline.h
rename to src/octave-value/ov-fcn-inline.h
rename from src/ov-fcn.cc
rename to src/octave-value/ov-fcn.cc
rename from src/ov-fcn.h
rename to src/octave-value/ov-fcn.h
rename from src/ov-float.cc
rename to src/octave-value/ov-float.cc
rename from src/ov-float.h
rename to src/octave-value/ov-float.h
rename from src/ov-flt-complex.cc
rename to src/octave-value/ov-flt-complex.cc
rename from src/ov-flt-complex.h
rename to src/octave-value/ov-flt-complex.h
rename from src/ov-flt-cx-diag.cc
rename to src/octave-value/ov-flt-cx-diag.cc
rename from src/ov-flt-cx-diag.h
rename to src/octave-value/ov-flt-cx-diag.h
rename from src/ov-flt-cx-mat.cc
rename to src/octave-value/ov-flt-cx-mat.cc
rename from src/ov-flt-cx-mat.h
rename to src/octave-value/ov-flt-cx-mat.h
rename from src/ov-flt-re-diag.cc
rename to src/octave-value/ov-flt-re-diag.cc
rename from src/ov-flt-re-diag.h
rename to src/octave-value/ov-flt-re-diag.h
rename from src/ov-flt-re-mat.cc
rename to src/octave-value/ov-flt-re-mat.cc
rename from src/ov-flt-re-mat.h
rename to src/octave-value/ov-flt-re-mat.h
rename from src/ov-int-traits.h
rename to src/octave-value/ov-int-traits.h
rename from src/ov-int16.cc
rename to src/octave-value/ov-int16.cc
rename from src/ov-int16.h
rename to src/octave-value/ov-int16.h
rename from src/ov-int32.cc
rename to src/octave-value/ov-int32.cc
rename from src/ov-int32.h
rename to src/octave-value/ov-int32.h
rename from src/ov-int64.cc
rename to src/octave-value/ov-int64.cc
rename from src/ov-int64.h
rename to src/octave-value/ov-int64.h
rename from src/ov-int8.cc
rename to src/octave-value/ov-int8.cc
rename from src/ov-int8.h
rename to src/octave-value/ov-int8.h
rename from src/ov-intx.h
rename to src/octave-value/ov-intx.h
rename from src/ov-lazy-idx.cc
rename to src/octave-value/ov-lazy-idx.cc
rename from src/ov-lazy-idx.h
rename to src/octave-value/ov-lazy-idx.h
rename from src/ov-mex-fcn.cc
rename to src/octave-value/ov-mex-fcn.cc
rename from src/ov-mex-fcn.h
rename to src/octave-value/ov-mex-fcn.h
rename from src/ov-null-mat.cc
rename to src/octave-value/ov-null-mat.cc
rename from src/ov-null-mat.h
rename to src/octave-value/ov-null-mat.h
rename from src/ov-oncleanup.cc
rename to src/octave-value/ov-oncleanup.cc
rename from src/ov-oncleanup.h
rename to src/octave-value/ov-oncleanup.h
rename from src/ov-perm.cc
rename to src/octave-value/ov-perm.cc
rename from src/ov-perm.h
rename to src/octave-value/ov-perm.h
rename from src/ov-range.cc
rename to src/octave-value/ov-range.cc
rename from src/ov-range.h
rename to src/octave-value/ov-range.h
rename from src/ov-re-diag.cc
rename to src/octave-value/ov-re-diag.cc
rename from src/ov-re-diag.h
rename to src/octave-value/ov-re-diag.h
rename from src/ov-re-mat.cc
rename to src/octave-value/ov-re-mat.cc
rename from src/ov-re-mat.h
rename to src/octave-value/ov-re-mat.h
rename from src/ov-re-sparse.cc
rename to src/octave-value/ov-re-sparse.cc
rename from src/ov-re-sparse.h
rename to src/octave-value/ov-re-sparse.h
rename from src/ov-scalar.cc
rename to src/octave-value/ov-scalar.cc
rename from src/ov-scalar.h
rename to src/octave-value/ov-scalar.h
rename from src/ov-str-mat.cc
rename to src/octave-value/ov-str-mat.cc
rename from src/ov-str-mat.h
rename to src/octave-value/ov-str-mat.h
rename from src/ov-struct.cc
rename to src/octave-value/ov-struct.cc
rename from src/ov-struct.h
rename to src/octave-value/ov-struct.h
rename from src/ov-type-conv.h
rename to src/octave-value/ov-type-conv.h
rename from src/ov-typeinfo.cc
rename to src/octave-value/ov-typeinfo.cc
rename from src/ov-typeinfo.h
rename to src/octave-value/ov-typeinfo.h
rename from src/ov-uint16.cc
rename to src/octave-value/ov-uint16.cc
rename from src/ov-uint16.h
rename to src/octave-value/ov-uint16.h
rename from src/ov-uint32.cc
rename to src/octave-value/ov-uint32.cc
rename from src/ov-uint32.h
rename to src/octave-value/ov-uint32.h
rename from src/ov-uint64.cc
rename to src/octave-value/ov-uint64.cc
rename from src/ov-uint64.h
rename to src/octave-value/ov-uint64.h
rename from src/ov-uint8.cc
rename to src/octave-value/ov-uint8.cc
rename from src/ov-uint8.h
rename to src/octave-value/ov-uint8.h
rename from src/ov-usr-fcn.cc
rename to src/octave-value/ov-usr-fcn.cc
rename from src/ov-usr-fcn.h
rename to src/octave-value/ov-usr-fcn.h
rename from src/ov.cc
rename to src/octave-value/ov.cc
rename from src/ov.h
rename to src/octave-value/ov.h
rename from src/OPERATORS/module.mk
rename to src/operators/module.mk
--- a/src/OPERATORS/module.mk
+++ b/src/operators/module.mk
@@ -1,136 +1,136 @@
-EXTRA_DIST += OPERATORS/module.mk
+EXTRA_DIST += operators/module.mk
 
 OPERATORS_SRC = \
-  OPERATORS/op-b-b.cc \
-  OPERATORS/op-b-bm.cc \
-  OPERATORS/op-b-sbm.cc \
-  OPERATORS/op-bm-b.cc \
-  OPERATORS/op-bm-bm.cc \
-  OPERATORS/op-bm-sbm.cc \
-  OPERATORS/op-cdm-cdm.cc \
-  OPERATORS/op-cdm-cm.cc \
-  OPERATORS/op-cdm-cs.cc \
-  OPERATORS/op-cdm-dm.cc \
-  OPERATORS/op-cdm-m.cc \
-  OPERATORS/op-cdm-s.cc \
-  OPERATORS/op-cell.cc \
-  OPERATORS/op-chm.cc \
-  OPERATORS/op-class.cc \
-  OPERATORS/op-cm-cdm.cc \
-  OPERATORS/op-cm-cm.cc \
-  OPERATORS/op-cm-cs.cc \
-  OPERATORS/op-cm-dm.cc \
-  OPERATORS/op-cm-m.cc \
-  OPERATORS/op-cm-pm.cc \
-  OPERATORS/op-cm-s.cc \
-  OPERATORS/op-cm-scm.cc \
-  OPERATORS/op-cm-sm.cc \
-  OPERATORS/op-cs-cm.cc \
-  OPERATORS/op-cs-cs.cc \
-  OPERATORS/op-cs-m.cc \
-  OPERATORS/op-cs-s.cc \
-  OPERATORS/op-cs-scm.cc \
-  OPERATORS/op-cs-sm.cc \
-  OPERATORS/op-dm-cdm.cc \
-  OPERATORS/op-dm-cm.cc \
-  OPERATORS/op-dm-cs.cc \
-  OPERATORS/op-dm-dm.cc \
-  OPERATORS/op-dm-m.cc \
-  OPERATORS/op-dm-s.cc \
-  OPERATORS/op-dm-scm.cc \
-  OPERATORS/op-dm-sm.cc \
-  OPERATORS/op-double-conv.cc \
-  OPERATORS/op-fcdm-fcdm.cc \
-  OPERATORS/op-fcdm-fcm.cc \
-  OPERATORS/op-fcdm-fcs.cc \
-  OPERATORS/op-fcdm-fdm.cc \
-  OPERATORS/op-fcdm-fm.cc \
-  OPERATORS/op-fcdm-fs.cc \
-  OPERATORS/op-fcm-fcdm.cc \
-  OPERATORS/op-fcm-fcm.cc \
-  OPERATORS/op-fcm-fcs.cc \
-  OPERATORS/op-fcm-fdm.cc \
-  OPERATORS/op-fcm-fm.cc \
-  OPERATORS/op-fcm-fs.cc \
-  OPERATORS/op-fcm-pm.cc \
-  OPERATORS/op-fcn.cc \
-  OPERATORS/op-fcs-fcm.cc \
-  OPERATORS/op-fcs-fcs.cc \
-  OPERATORS/op-fcs-fm.cc \
-  OPERATORS/op-fcs-fs.cc \
-  OPERATORS/op-fdm-fcdm.cc \
-  OPERATORS/op-fdm-fcm.cc \
-  OPERATORS/op-fdm-fcs.cc \
-  OPERATORS/op-fdm-fdm.cc \
-  OPERATORS/op-fdm-fm.cc \
-  OPERATORS/op-fdm-fs.cc \
-  OPERATORS/op-float-conv.cc \
-  OPERATORS/op-fm-fcdm.cc \
-  OPERATORS/op-fm-fcm.cc \
-  OPERATORS/op-fm-fcs.cc \
-  OPERATORS/op-fm-fdm.cc \
-  OPERATORS/op-fm-fm.cc \
-  OPERATORS/op-fm-fs.cc \
-  OPERATORS/op-fm-pm.cc \
-  OPERATORS/op-fs-fcm.cc \
-  OPERATORS/op-fs-fcs.cc \
-  OPERATORS/op-fs-fm.cc \
-  OPERATORS/op-fs-fs.cc \
-  OPERATORS/op-i16-i16.cc \
-  OPERATORS/op-i32-i32.cc \
-  OPERATORS/op-i64-i64.cc \
-  OPERATORS/op-i8-i8.cc \
-  OPERATORS/op-int-concat.cc \
-  OPERATORS/op-int-conv.cc \
-  OPERATORS/op-m-cdm.cc \
-  OPERATORS/op-m-cm.cc \
-  OPERATORS/op-m-cs.cc \
-  OPERATORS/op-m-dm.cc \
-  OPERATORS/op-m-m.cc \
-  OPERATORS/op-m-pm.cc \
-  OPERATORS/op-m-s.cc \
-  OPERATORS/op-m-scm.cc \
-  OPERATORS/op-m-sm.cc \
-  OPERATORS/op-pm-cm.cc \
-  OPERATORS/op-pm-fcm.cc \
-  OPERATORS/op-pm-fm.cc \
-  OPERATORS/op-pm-m.cc \
-  OPERATORS/op-pm-pm.cc \
-  OPERATORS/op-pm-scm.cc \
-  OPERATORS/op-pm-sm.cc \
-  OPERATORS/op-range.cc \
-  OPERATORS/op-s-cm.cc \
-  OPERATORS/op-s-cs.cc \
-  OPERATORS/op-s-m.cc \
-  OPERATORS/op-s-s.cc \
-  OPERATORS/op-s-scm.cc \
-  OPERATORS/op-s-sm.cc \
-  OPERATORS/op-sbm-b.cc \
-  OPERATORS/op-sbm-bm.cc \
-  OPERATORS/op-sbm-sbm.cc \
-  OPERATORS/op-scm-cm.cc \
-  OPERATORS/op-scm-cs.cc \
-  OPERATORS/op-scm-m.cc \
-  OPERATORS/op-scm-s.cc \
-  OPERATORS/op-scm-scm.cc \
-  OPERATORS/op-scm-sm.cc \
-  OPERATORS/op-sm-cm.cc \
-  OPERATORS/op-sm-cs.cc \
-  OPERATORS/op-sm-m.cc \
-  OPERATORS/op-sm-s.cc \
-  OPERATORS/op-sm-scm.cc \
-  OPERATORS/op-sm-sm.cc \
-  OPERATORS/op-str-m.cc \
-  OPERATORS/op-str-s.cc \
-  OPERATORS/op-str-str.cc \
-  OPERATORS/op-struct.cc \
-  OPERATORS/op-ui16-ui16.cc \
-  OPERATORS/op-ui32-ui32.cc \
-  OPERATORS/op-ui64-ui64.cc \
-  OPERATORS/op-ui8-ui8.cc
+  operators/op-b-b.cc \
+  operators/op-b-bm.cc \
+  operators/op-b-sbm.cc \
+  operators/op-bm-b.cc \
+  operators/op-bm-bm.cc \
+  operators/op-bm-sbm.cc \
+  operators/op-cdm-cdm.cc \
+  operators/op-cdm-cm.cc \
+  operators/op-cdm-cs.cc \
+  operators/op-cdm-dm.cc \
+  operators/op-cdm-m.cc \
+  operators/op-cdm-s.cc \
+  operators/op-cell.cc \
+  operators/op-chm.cc \
+  operators/op-class.cc \
+  operators/op-cm-cdm.cc \
+  operators/op-cm-cm.cc \
+  operators/op-cm-cs.cc \
+  operators/op-cm-dm.cc \
+  operators/op-cm-m.cc \
+  operators/op-cm-pm.cc \
+  operators/op-cm-s.cc \
+  operators/op-cm-scm.cc \
+  operators/op-cm-sm.cc \
+  operators/op-cs-cm.cc \
+  operators/op-cs-cs.cc \
+  operators/op-cs-m.cc \
+  operators/op-cs-s.cc \
+  operators/op-cs-scm.cc \
+  operators/op-cs-sm.cc \
+  operators/op-dm-cdm.cc \
+  operators/op-dm-cm.cc \
+  operators/op-dm-cs.cc \
+  operators/op-dm-dm.cc \
+  operators/op-dm-m.cc \
+  operators/op-dm-s.cc \
+  operators/op-dm-scm.cc \
+  operators/op-dm-sm.cc \
+  operators/op-double-conv.cc \
+  operators/op-fcdm-fcdm.cc \
+  operators/op-fcdm-fcm.cc \
+  operators/op-fcdm-fcs.cc \
+  operators/op-fcdm-fdm.cc \
+  operators/op-fcdm-fm.cc \
+  operators/op-fcdm-fs.cc \
+  operators/op-fcm-fcdm.cc \
+  operators/op-fcm-fcm.cc \
+  operators/op-fcm-fcs.cc \
+  operators/op-fcm-fdm.cc \
+  operators/op-fcm-fm.cc \
+  operators/op-fcm-fs.cc \
+  operators/op-fcm-pm.cc \
+  operators/op-fcn.cc \
+  operators/op-fcs-fcm.cc \
+  operators/op-fcs-fcs.cc \
+  operators/op-fcs-fm.cc \
+  operators/op-fcs-fs.cc \
+  operators/op-fdm-fcdm.cc \
+  operators/op-fdm-fcm.cc \
+  operators/op-fdm-fcs.cc \
+  operators/op-fdm-fdm.cc \
+  operators/op-fdm-fm.cc \
+  operators/op-fdm-fs.cc \
+  operators/op-float-conv.cc \
+  operators/op-fm-fcdm.cc \
+  operators/op-fm-fcm.cc \
+  operators/op-fm-fcs.cc \
+  operators/op-fm-fdm.cc \
+  operators/op-fm-fm.cc \
+  operators/op-fm-fs.cc \
+  operators/op-fm-pm.cc \
+  operators/op-fs-fcm.cc \
+  operators/op-fs-fcs.cc \
+  operators/op-fs-fm.cc \
+  operators/op-fs-fs.cc \
+  operators/op-i16-i16.cc \
+  operators/op-i32-i32.cc \
+  operators/op-i64-i64.cc \
+  operators/op-i8-i8.cc \
+  operators/op-int-concat.cc \
+  operators/op-int-conv.cc \
+  operators/op-m-cdm.cc \
+  operators/op-m-cm.cc \
+  operators/op-m-cs.cc \
+  operators/op-m-dm.cc \
+  operators/op-m-m.cc \
+  operators/op-m-pm.cc \
+  operators/op-m-s.cc \
+  operators/op-m-scm.cc \
+  operators/op-m-sm.cc \
+  operators/op-pm-cm.cc \
+  operators/op-pm-fcm.cc \
+  operators/op-pm-fm.cc \
+  operators/op-pm-m.cc \
+  operators/op-pm-pm.cc \
+  operators/op-pm-scm.cc \
+  operators/op-pm-sm.cc \
+  operators/op-range.cc \
+  operators/op-s-cm.cc \
+  operators/op-s-cs.cc \
+  operators/op-s-m.cc \
+  operators/op-s-s.cc \
+  operators/op-s-scm.cc \
+  operators/op-s-sm.cc \
+  operators/op-sbm-b.cc \
+  operators/op-sbm-bm.cc \
+  operators/op-sbm-sbm.cc \
+  operators/op-scm-cm.cc \
+  operators/op-scm-cs.cc \
+  operators/op-scm-m.cc \
+  operators/op-scm-s.cc \
+  operators/op-scm-scm.cc \
+  operators/op-scm-sm.cc \
+  operators/op-sm-cm.cc \
+  operators/op-sm-cs.cc \
+  operators/op-sm-m.cc \
+  operators/op-sm-s.cc \
+  operators/op-sm-scm.cc \
+  operators/op-sm-sm.cc \
+  operators/op-str-m.cc \
+  operators/op-str-s.cc \
+  operators/op-str-str.cc \
+  operators/op-struct.cc \
+  operators/op-ui16-ui16.cc \
+  operators/op-ui32-ui32.cc \
+  operators/op-ui64-ui64.cc \
+  operators/op-ui8-ui8.cc
 
 octinclude_HEADERS += \
-  OPERATORS/op-dm-template.cc \
-  OPERATORS/op-dms-template.cc \
-  OPERATORS/op-int.h \
-  OPERATORS/op-pm-template.cc
+  operators/op-dm-template.cc \
+  operators/op-dms-template.cc \
+  operators/op-int.h \
+  operators/op-pm-template.cc
rename from src/OPERATORS/op-b-b.cc
rename to src/operators/op-b-b.cc
rename from src/OPERATORS/op-b-bm.cc
rename to src/operators/op-b-bm.cc
rename from src/OPERATORS/op-b-sbm.cc
rename to src/operators/op-b-sbm.cc
rename from src/OPERATORS/op-bm-b.cc
rename to src/operators/op-bm-b.cc
rename from src/OPERATORS/op-bm-bm.cc
rename to src/operators/op-bm-bm.cc
rename from src/OPERATORS/op-bm-sbm.cc
rename to src/operators/op-bm-sbm.cc
rename from src/OPERATORS/op-cdm-cdm.cc
rename to src/operators/op-cdm-cdm.cc
rename from src/OPERATORS/op-cdm-cm.cc
rename to src/operators/op-cdm-cm.cc
rename from src/OPERATORS/op-cdm-cs.cc
rename to src/operators/op-cdm-cs.cc
rename from src/OPERATORS/op-cdm-dm.cc
rename to src/operators/op-cdm-dm.cc
rename from src/OPERATORS/op-cdm-m.cc
rename to src/operators/op-cdm-m.cc
rename from src/OPERATORS/op-cdm-s.cc
rename to src/operators/op-cdm-s.cc
rename from src/OPERATORS/op-cell.cc
rename to src/operators/op-cell.cc
rename from src/OPERATORS/op-chm.cc
rename to src/operators/op-chm.cc
rename from src/OPERATORS/op-class.cc
rename to src/operators/op-class.cc
rename from src/OPERATORS/op-cm-cdm.cc
rename to src/operators/op-cm-cdm.cc
rename from src/OPERATORS/op-cm-cm.cc
rename to src/operators/op-cm-cm.cc
rename from src/OPERATORS/op-cm-cs.cc
rename to src/operators/op-cm-cs.cc
rename from src/OPERATORS/op-cm-dm.cc
rename to src/operators/op-cm-dm.cc
rename from src/OPERATORS/op-cm-m.cc
rename to src/operators/op-cm-m.cc
rename from src/OPERATORS/op-cm-pm.cc
rename to src/operators/op-cm-pm.cc
rename from src/OPERATORS/op-cm-s.cc
rename to src/operators/op-cm-s.cc
rename from src/OPERATORS/op-cm-scm.cc
rename to src/operators/op-cm-scm.cc
rename from src/OPERATORS/op-cm-sm.cc
rename to src/operators/op-cm-sm.cc
rename from src/OPERATORS/op-cs-cm.cc
rename to src/operators/op-cs-cm.cc
rename from src/OPERATORS/op-cs-cs.cc
rename to src/operators/op-cs-cs.cc
rename from src/OPERATORS/op-cs-m.cc
rename to src/operators/op-cs-m.cc
rename from src/OPERATORS/op-cs-s.cc
rename to src/operators/op-cs-s.cc
rename from src/OPERATORS/op-cs-scm.cc
rename to src/operators/op-cs-scm.cc
rename from src/OPERATORS/op-cs-sm.cc
rename to src/operators/op-cs-sm.cc
rename from src/OPERATORS/op-dm-cdm.cc
rename to src/operators/op-dm-cdm.cc
rename from src/OPERATORS/op-dm-cm.cc
rename to src/operators/op-dm-cm.cc
rename from src/OPERATORS/op-dm-cs.cc
rename to src/operators/op-dm-cs.cc
rename from src/OPERATORS/op-dm-dm.cc
rename to src/operators/op-dm-dm.cc
rename from src/OPERATORS/op-dm-m.cc
rename to src/operators/op-dm-m.cc
rename from src/OPERATORS/op-dm-s.cc
rename to src/operators/op-dm-s.cc
rename from src/OPERATORS/op-dm-scm.cc
rename to src/operators/op-dm-scm.cc
rename from src/OPERATORS/op-dm-sm.cc
rename to src/operators/op-dm-sm.cc
rename from src/OPERATORS/op-dm-template.cc
rename to src/operators/op-dm-template.cc
rename from src/OPERATORS/op-dms-template.cc
rename to src/operators/op-dms-template.cc
rename from src/OPERATORS/op-double-conv.cc
rename to src/operators/op-double-conv.cc
rename from src/OPERATORS/op-fcdm-fcdm.cc
rename to src/operators/op-fcdm-fcdm.cc
rename from src/OPERATORS/op-fcdm-fcm.cc
rename to src/operators/op-fcdm-fcm.cc
rename from src/OPERATORS/op-fcdm-fcs.cc
rename to src/operators/op-fcdm-fcs.cc
rename from src/OPERATORS/op-fcdm-fdm.cc
rename to src/operators/op-fcdm-fdm.cc
rename from src/OPERATORS/op-fcdm-fm.cc
rename to src/operators/op-fcdm-fm.cc
rename from src/OPERATORS/op-fcdm-fs.cc
rename to src/operators/op-fcdm-fs.cc
rename from src/OPERATORS/op-fcm-fcdm.cc
rename to src/operators/op-fcm-fcdm.cc
rename from src/OPERATORS/op-fcm-fcm.cc
rename to src/operators/op-fcm-fcm.cc
rename from src/OPERATORS/op-fcm-fcs.cc
rename to src/operators/op-fcm-fcs.cc
rename from src/OPERATORS/op-fcm-fdm.cc
rename to src/operators/op-fcm-fdm.cc
rename from src/OPERATORS/op-fcm-fm.cc
rename to src/operators/op-fcm-fm.cc
rename from src/OPERATORS/op-fcm-fs.cc
rename to src/operators/op-fcm-fs.cc
rename from src/OPERATORS/op-fcm-pm.cc
rename to src/operators/op-fcm-pm.cc
rename from src/OPERATORS/op-fcn.cc
rename to src/operators/op-fcn.cc
rename from src/OPERATORS/op-fcs-fcm.cc
rename to src/operators/op-fcs-fcm.cc
rename from src/OPERATORS/op-fcs-fcs.cc
rename to src/operators/op-fcs-fcs.cc
rename from src/OPERATORS/op-fcs-fm.cc
rename to src/operators/op-fcs-fm.cc
rename from src/OPERATORS/op-fcs-fs.cc
rename to src/operators/op-fcs-fs.cc
rename from src/OPERATORS/op-fdm-fcdm.cc
rename to src/operators/op-fdm-fcdm.cc
rename from src/OPERATORS/op-fdm-fcm.cc
rename to src/operators/op-fdm-fcm.cc
rename from src/OPERATORS/op-fdm-fcs.cc
rename to src/operators/op-fdm-fcs.cc
rename from src/OPERATORS/op-fdm-fdm.cc
rename to src/operators/op-fdm-fdm.cc
rename from src/OPERATORS/op-fdm-fm.cc
rename to src/operators/op-fdm-fm.cc
rename from src/OPERATORS/op-fdm-fs.cc
rename to src/operators/op-fdm-fs.cc
rename from src/OPERATORS/op-float-conv.cc
rename to src/operators/op-float-conv.cc
rename from src/OPERATORS/op-fm-fcdm.cc
rename to src/operators/op-fm-fcdm.cc
rename from src/OPERATORS/op-fm-fcm.cc
rename to src/operators/op-fm-fcm.cc
rename from src/OPERATORS/op-fm-fcs.cc
rename to src/operators/op-fm-fcs.cc
rename from src/OPERATORS/op-fm-fdm.cc
rename to src/operators/op-fm-fdm.cc
rename from src/OPERATORS/op-fm-fm.cc
rename to src/operators/op-fm-fm.cc
rename from src/OPERATORS/op-fm-fs.cc
rename to src/operators/op-fm-fs.cc
rename from src/OPERATORS/op-fm-pm.cc
rename to src/operators/op-fm-pm.cc
rename from src/OPERATORS/op-fs-fcm.cc
rename to src/operators/op-fs-fcm.cc
rename from src/OPERATORS/op-fs-fcs.cc
rename to src/operators/op-fs-fcs.cc
rename from src/OPERATORS/op-fs-fm.cc
rename to src/operators/op-fs-fm.cc
rename from src/OPERATORS/op-fs-fs.cc
rename to src/operators/op-fs-fs.cc
rename from src/OPERATORS/op-i16-i16.cc
rename to src/operators/op-i16-i16.cc
rename from src/OPERATORS/op-i32-i32.cc
rename to src/operators/op-i32-i32.cc
rename from src/OPERATORS/op-i64-i64.cc
rename to src/operators/op-i64-i64.cc
rename from src/OPERATORS/op-i8-i8.cc
rename to src/operators/op-i8-i8.cc
rename from src/OPERATORS/op-int-concat.cc
rename to src/operators/op-int-concat.cc
rename from src/OPERATORS/op-int-conv.cc
rename to src/operators/op-int-conv.cc
rename from src/OPERATORS/op-int.h
rename to src/operators/op-int.h
rename from src/OPERATORS/op-m-cdm.cc
rename to src/operators/op-m-cdm.cc
rename from src/OPERATORS/op-m-cm.cc
rename to src/operators/op-m-cm.cc
rename from src/OPERATORS/op-m-cs.cc
rename to src/operators/op-m-cs.cc
rename from src/OPERATORS/op-m-dm.cc
rename to src/operators/op-m-dm.cc
rename from src/OPERATORS/op-m-m.cc
rename to src/operators/op-m-m.cc
rename from src/OPERATORS/op-m-pm.cc
rename to src/operators/op-m-pm.cc
rename from src/OPERATORS/op-m-s.cc
rename to src/operators/op-m-s.cc
rename from src/OPERATORS/op-m-scm.cc
rename to src/operators/op-m-scm.cc
rename from src/OPERATORS/op-m-sm.cc
rename to src/operators/op-m-sm.cc
rename from src/OPERATORS/op-pm-cm.cc
rename to src/operators/op-pm-cm.cc
rename from src/OPERATORS/op-pm-fcm.cc
rename to src/operators/op-pm-fcm.cc
rename from src/OPERATORS/op-pm-fm.cc
rename to src/operators/op-pm-fm.cc
rename from src/OPERATORS/op-pm-m.cc
rename to src/operators/op-pm-m.cc
rename from src/OPERATORS/op-pm-pm.cc
rename to src/operators/op-pm-pm.cc
rename from src/OPERATORS/op-pm-scm.cc
rename to src/operators/op-pm-scm.cc
rename from src/OPERATORS/op-pm-sm.cc
rename to src/operators/op-pm-sm.cc
rename from src/OPERATORS/op-pm-template.cc
rename to src/operators/op-pm-template.cc
rename from src/OPERATORS/op-range.cc
rename to src/operators/op-range.cc
rename from src/OPERATORS/op-s-cm.cc
rename to src/operators/op-s-cm.cc
rename from src/OPERATORS/op-s-cs.cc
rename to src/operators/op-s-cs.cc
rename from src/OPERATORS/op-s-m.cc
rename to src/operators/op-s-m.cc
rename from src/OPERATORS/op-s-s.cc
rename to src/operators/op-s-s.cc
rename from src/OPERATORS/op-s-scm.cc
rename to src/operators/op-s-scm.cc
rename from src/OPERATORS/op-s-sm.cc
rename to src/operators/op-s-sm.cc
rename from src/OPERATORS/op-sbm-b.cc
rename to src/operators/op-sbm-b.cc
rename from src/OPERATORS/op-sbm-bm.cc
rename to src/operators/op-sbm-bm.cc
rename from src/OPERATORS/op-sbm-sbm.cc
rename to src/operators/op-sbm-sbm.cc
rename from src/OPERATORS/op-scm-cm.cc
rename to src/operators/op-scm-cm.cc
rename from src/OPERATORS/op-scm-cs.cc
rename to src/operators/op-scm-cs.cc
rename from src/OPERATORS/op-scm-m.cc
rename to src/operators/op-scm-m.cc
rename from src/OPERATORS/op-scm-s.cc
rename to src/operators/op-scm-s.cc
rename from src/OPERATORS/op-scm-scm.cc
rename to src/operators/op-scm-scm.cc
rename from src/OPERATORS/op-scm-sm.cc
rename to src/operators/op-scm-sm.cc
rename from src/OPERATORS/op-sm-cm.cc
rename to src/operators/op-sm-cm.cc
rename from src/OPERATORS/op-sm-cs.cc
rename to src/operators/op-sm-cs.cc
rename from src/OPERATORS/op-sm-m.cc
rename to src/operators/op-sm-m.cc
rename from src/OPERATORS/op-sm-s.cc
rename to src/operators/op-sm-s.cc
rename from src/OPERATORS/op-sm-scm.cc
rename to src/operators/op-sm-scm.cc
rename from src/OPERATORS/op-sm-sm.cc
rename to src/operators/op-sm-sm.cc
rename from src/OPERATORS/op-str-m.cc
rename to src/operators/op-str-m.cc
rename from src/OPERATORS/op-str-s.cc
rename to src/operators/op-str-s.cc
rename from src/OPERATORS/op-str-str.cc
rename to src/operators/op-str-str.cc
rename from src/OPERATORS/op-struct.cc
rename to src/operators/op-struct.cc
rename from src/OPERATORS/op-ui16-ui16.cc
rename to src/operators/op-ui16-ui16.cc
rename from src/OPERATORS/op-ui32-ui32.cc
rename to src/operators/op-ui32-ui32.cc
rename from src/OPERATORS/op-ui64-ui64.cc
rename to src/operators/op-ui64-ui64.cc
rename from src/OPERATORS/op-ui8-ui8.cc
rename to src/operators/op-ui8-ui8.cc
new file mode 100644
--- /dev/null
+++ b/src/parse-tree/module.mk
@@ -0,0 +1,61 @@
+EXTRA_DIST += \
+  parse-tree/module.mk
+
+PT_INCLUDES = \
+  parse-tree/pt-all.h \
+  parse-tree/pt-arg-list.h \
+  parse-tree/pt-assign.h \
+  parse-tree/pt-binop.h \
+  parse-tree/pt-bp.h \
+  parse-tree/pt-cbinop.h \
+  parse-tree/pt-cell.h \
+  parse-tree/pt-check.h \
+  parse-tree/pt-cmd.h \
+  parse-tree/pt-colon.h \
+  parse-tree/pt-const.h \
+  parse-tree/pt-decl.h \
+  parse-tree/pt-eval.h \
+  parse-tree/pt-except.h \
+  parse-tree/pt-exp.h \
+  parse-tree/pt-fcn-handle.h \
+  parse-tree/pt-id.h \
+  parse-tree/pt-idx.h \
+  parse-tree/pt-jump.h \
+  parse-tree/pt-loop.h \
+  parse-tree/pt-mat.h \
+  parse-tree/pt-misc.h \
+  parse-tree/pt-pr-code.h \
+  parse-tree/pt-select.h \
+  parse-tree/pt-stmt.h \
+  parse-tree/pt-unop.h \
+  parse-tree/pt-walk.h \
+  parse-tree/pt.h
+
+PARSE_TREE_SRC = \
+  parse-tree/pt-arg-list.cc \
+  parse-tree/pt-assign.cc \
+  parse-tree/pt-binop.cc \
+  parse-tree/pt-bp.cc \
+  parse-tree/pt-cbinop.cc \
+  parse-tree/pt-cell.cc \
+  parse-tree/pt-check.cc \
+  parse-tree/pt-cmd.cc \
+  parse-tree/pt-colon.cc \
+  parse-tree/pt-const.cc \
+  parse-tree/pt-decl.cc \
+  parse-tree/pt-eval.cc \
+  parse-tree/pt-except.cc \
+  parse-tree/pt-exp.cc \
+  parse-tree/pt-fcn-handle.cc \
+  parse-tree/pt-id.cc \
+  parse-tree/pt-idx.cc \
+  parse-tree/pt-jump.cc \
+  parse-tree/pt-loop.cc \
+  parse-tree/pt-mat.cc \
+  parse-tree/pt-misc.cc \
+  parse-tree/pt-pr-code.cc \
+  parse-tree/pt-select.cc \
+  parse-tree/pt-stmt.cc \
+  parse-tree/pt-unop.cc \
+  parse-tree/pt.cc
+
rename from src/pt-all.h
rename to src/parse-tree/pt-all.h
rename from src/pt-arg-list.cc
rename to src/parse-tree/pt-arg-list.cc
rename from src/pt-arg-list.h
rename to src/parse-tree/pt-arg-list.h
rename from src/pt-assign.cc
rename to src/parse-tree/pt-assign.cc
rename from src/pt-assign.h
rename to src/parse-tree/pt-assign.h
rename from src/pt-binop.cc
rename to src/parse-tree/pt-binop.cc
rename from src/pt-binop.h
rename to src/parse-tree/pt-binop.h
rename from src/pt-bp.cc
rename to src/parse-tree/pt-bp.cc
rename from src/pt-bp.h
rename to src/parse-tree/pt-bp.h
rename from src/pt-cbinop.cc
rename to src/parse-tree/pt-cbinop.cc
rename from src/pt-cbinop.h
rename to src/parse-tree/pt-cbinop.h
rename from src/pt-cell.cc
rename to src/parse-tree/pt-cell.cc
rename from src/pt-cell.h
rename to src/parse-tree/pt-cell.h
rename from src/pt-check.cc
rename to src/parse-tree/pt-check.cc
rename from src/pt-check.h
rename to src/parse-tree/pt-check.h
rename from src/pt-cmd.cc
rename to src/parse-tree/pt-cmd.cc
rename from src/pt-cmd.h
rename to src/parse-tree/pt-cmd.h
rename from src/pt-colon.cc
rename to src/parse-tree/pt-colon.cc
rename from src/pt-colon.h
rename to src/parse-tree/pt-colon.h
rename from src/pt-const.cc
rename to src/parse-tree/pt-const.cc
rename from src/pt-const.h
rename to src/parse-tree/pt-const.h
rename from src/pt-decl.cc
rename to src/parse-tree/pt-decl.cc
rename from src/pt-decl.h
rename to src/parse-tree/pt-decl.h
rename from src/pt-eval.cc
rename to src/parse-tree/pt-eval.cc
rename from src/pt-eval.h
rename to src/parse-tree/pt-eval.h
rename from src/pt-except.cc
rename to src/parse-tree/pt-except.cc
rename from src/pt-except.h
rename to src/parse-tree/pt-except.h
rename from src/pt-exp.cc
rename to src/parse-tree/pt-exp.cc
rename from src/pt-exp.h
rename to src/parse-tree/pt-exp.h
rename from src/pt-fcn-handle.cc
rename to src/parse-tree/pt-fcn-handle.cc
rename from src/pt-fcn-handle.h
rename to src/parse-tree/pt-fcn-handle.h
rename from src/pt-id.cc
rename to src/parse-tree/pt-id.cc
rename from src/pt-id.h
rename to src/parse-tree/pt-id.h
rename from src/pt-idx.cc
rename to src/parse-tree/pt-idx.cc
rename from src/pt-idx.h
rename to src/parse-tree/pt-idx.h
rename from src/pt-jump.cc
rename to src/parse-tree/pt-jump.cc
rename from src/pt-jump.h
rename to src/parse-tree/pt-jump.h
rename from src/pt-loop.cc
rename to src/parse-tree/pt-loop.cc
rename from src/pt-loop.h
rename to src/parse-tree/pt-loop.h
rename from src/pt-mat.cc
rename to src/parse-tree/pt-mat.cc
rename from src/pt-mat.h
rename to src/parse-tree/pt-mat.h
rename from src/pt-misc.cc
rename to src/parse-tree/pt-misc.cc
rename from src/pt-misc.h
rename to src/parse-tree/pt-misc.h
rename from src/pt-pr-code.cc
rename to src/parse-tree/pt-pr-code.cc
rename from src/pt-pr-code.h
rename to src/parse-tree/pt-pr-code.h
rename from src/pt-select.cc
rename to src/parse-tree/pt-select.cc
rename from src/pt-select.h
rename to src/parse-tree/pt-select.h
rename from src/pt-stmt.cc
rename to src/parse-tree/pt-stmt.cc
rename from src/pt-stmt.h
rename to src/parse-tree/pt-stmt.h
rename from src/pt-unop.cc
rename to src/parse-tree/pt-unop.cc
rename from src/pt-unop.h
rename to src/parse-tree/pt-unop.h
rename from src/pt-walk.h
rename to src/parse-tree/pt-walk.h
rename from src/pt.cc
rename to src/parse-tree/pt.cc
rename from src/pt.h
rename to src/parse-tree/pt.h
rename from src/TEMPLATE-INST/Array-jit.cc
rename to src/template-inst/Array-jit.cc
rename from src/TEMPLATE-INST/Array-os.cc
rename to src/template-inst/Array-os.cc
rename from src/TEMPLATE-INST/Array-sym.cc
rename to src/template-inst/Array-sym.cc
rename from src/TEMPLATE-INST/Array-tc.cc
rename to src/template-inst/Array-tc.cc
rename from src/TEMPLATE-INST/module.mk
rename to src/template-inst/module.mk
--- a/src/TEMPLATE-INST/module.mk
+++ b/src/template-inst/module.mk
@@ -1,6 +1,6 @@
-EXTRA_DIST += TEMPLATE-INST/module.mk
+EXTRA_DIST += template-inst/module.mk
 
 TEMPLATE_INST_SRC = \
-  TEMPLATE-INST/Array-os.cc \
-  TEMPLATE-INST/Array-tc.cc \
-  TEMPLATE-INST/Array-jit.cc
+  template-inst/Array-os.cc \
+  template-inst/Array-tc.cc \
+  template-inst/Array-jit.cc