# HG changeset patch # User John W. Eaton # Date 1499465852 14400 # Node ID 6921d8458203ba5d6a2dc2addf9c5e7d9dea5b60 # Parent 6e86d3b5a0632db625ee9e3dc5ce56764068b265 move comment-list.h and comment-list.cc to libinterp/parse-tree directory * libinterp/parse-tree/comment-list.cc, libinterp/parse-tree/comment-list.h: Move here from libinterp/corefcn directory. * libinterp/corefcn/module.mk, libinterp/parse-tree/module.mk: Update. diff -r 6e86d3b5a063 -r 6921d8458203 libinterp/corefcn/comment-list.cc --- a/libinterp/corefcn/comment-list.cc Fri Jul 07 18:06:34 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* - -Copyright (C) 2000-2017 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -Octave is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, see -. - -*/ - -#if defined (HAVE_CONFIG_H) -# include "config.h" -#endif - -#include "lo-utils.h" - -#include "comment-list.h" -#include "error.h" - -octave_comment_list * -octave_comment_list::dup (void) const -{ - octave_comment_list *new_cl = new octave_comment_list (); - - for (const auto& elt : *this) - new_cl->append (elt); - - return new_cl; -} diff -r 6e86d3b5a063 -r 6921d8458203 libinterp/corefcn/comment-list.h --- a/libinterp/corefcn/comment-list.h Fri Jul 07 18:06:34 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -/* - -Copyright (C) 2000-2017 John W. Eaton - -This file is part of Octave. - -Octave is free software; you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3 of the License, or -(at your option) any later version. - -Octave is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Octave; see the file COPYING. If not, see -. - -*/ - -#if ! defined (octave_comment_list_h) -#define octave_comment_list_h 1 - -#include "octave-config.h" - -#include - -#include "base-list.h" - -extern std::string get_comment_text (void); - -extern char * get_comment_text_c_str (void); - -extern void save_comment_text (const std::string& text); - -class -octave_comment_elt -{ -public: - - enum comment_type - { - unknown, - block, - full_line, - end_of_line, - doc_string, - copyright - }; - - octave_comment_elt (const std::string& s = "", - comment_type t = unknown) - : txt (s), typ (t) { } - - octave_comment_elt (const octave_comment_elt& oc) - : txt (oc.txt), typ (oc.typ) { } - - octave_comment_elt& operator = (const octave_comment_elt& oc) - { - if (this != &oc) - { - txt = oc.txt; - typ = oc.typ; - } - - return *this; - } - - std::string text (void) const { return txt; } - - comment_type type (void) const { return typ; } - - ~octave_comment_elt (void) = default; - -private: - - // The text of the comment. - std::string txt; - - // The type of comment. - comment_type typ; -}; - -class -octave_comment_list : public octave::base_list -{ -public: - - octave_comment_list (void) { } - - void append (const octave_comment_elt& elt) - { octave::base_list::append (elt); } - - void append (const std::string& s, - octave_comment_elt::comment_type t = octave_comment_elt::unknown) - { append (octave_comment_elt (s, t)); } - - octave_comment_list * dup (void) const; -}; - -#endif diff -r 6e86d3b5a063 -r 6921d8458203 libinterp/corefcn/module.mk --- a/libinterp/corefcn/module.mk Fri Jul 07 18:06:34 2017 -0400 +++ b/libinterp/corefcn/module.mk Fri Jul 07 18:17:32 2017 -0400 @@ -22,7 +22,6 @@ %reldir%/c-file-ptr-stream.h \ %reldir%/call-stack.h \ %reldir%/cdisplay.h \ - %reldir%/comment-list.h \ %reldir%/data.h \ %reldir%/defaults.h \ %reldir%/defun-dld.h \ @@ -124,7 +123,6 @@ %reldir%/cellfun.cc \ %reldir%/colloc.cc \ %reldir%/coct-hdf5-types.c \ - %reldir%/comment-list.cc \ %reldir%/conv2.cc \ %reldir%/daspk.cc \ %reldir%/dasrt.cc \ diff -r 6e86d3b5a063 -r 6921d8458203 libinterp/parse-tree/comment-list.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libinterp/parse-tree/comment-list.cc Fri Jul 07 18:17:32 2017 -0400 @@ -0,0 +1,41 @@ +/* + +Copyright (C) 2000-2017 John W. Eaton + +This file is part of Octave. + +Octave is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +Octave is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Octave; see the file COPYING. If not, see +. + +*/ + +#if defined (HAVE_CONFIG_H) +# include "config.h" +#endif + +#include "lo-utils.h" + +#include "comment-list.h" +#include "error.h" + +octave_comment_list * +octave_comment_list::dup (void) const +{ + octave_comment_list *new_cl = new octave_comment_list (); + + for (const auto& elt : *this) + new_cl->append (elt); + + return new_cl; +} diff -r 6e86d3b5a063 -r 6921d8458203 libinterp/parse-tree/comment-list.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libinterp/parse-tree/comment-list.h Fri Jul 07 18:17:32 2017 -0400 @@ -0,0 +1,103 @@ +/* + +Copyright (C) 2000-2017 John W. Eaton + +This file is part of Octave. + +Octave is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +Octave is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Octave; see the file COPYING. If not, see +. + +*/ + +#if ! defined (octave_comment_list_h) +#define octave_comment_list_h 1 + +#include "octave-config.h" + +#include + +#include "base-list.h" + +extern std::string get_comment_text (void); + +extern char * get_comment_text_c_str (void); + +extern void save_comment_text (const std::string& text); + +class +octave_comment_elt +{ +public: + + enum comment_type + { + unknown, + block, + full_line, + end_of_line, + doc_string, + copyright + }; + + octave_comment_elt (const std::string& s = "", + comment_type t = unknown) + : txt (s), typ (t) { } + + octave_comment_elt (const octave_comment_elt& oc) + : txt (oc.txt), typ (oc.typ) { } + + octave_comment_elt& operator = (const octave_comment_elt& oc) + { + if (this != &oc) + { + txt = oc.txt; + typ = oc.typ; + } + + return *this; + } + + std::string text (void) const { return txt; } + + comment_type type (void) const { return typ; } + + ~octave_comment_elt (void) = default; + +private: + + // The text of the comment. + std::string txt; + + // The type of comment. + comment_type typ; +}; + +class +octave_comment_list : public octave::base_list +{ +public: + + octave_comment_list (void) { } + + void append (const octave_comment_elt& elt) + { octave::base_list::append (elt); } + + void append (const std::string& s, + octave_comment_elt::comment_type t = octave_comment_elt::unknown) + { append (octave_comment_elt (s, t)); } + + octave_comment_list * dup (void) const; +}; + +#endif diff -r 6e86d3b5a063 -r 6921d8458203 libinterp/parse-tree/module.mk --- a/libinterp/parse-tree/module.mk Fri Jul 07 18:06:34 2017 -0400 +++ b/libinterp/parse-tree/module.mk Fri Jul 07 18:17:32 2017 -0400 @@ -1,5 +1,6 @@ PARSE_TREE_INC = \ %reldir%/bp-table.h \ + %reldir%/comment-list.h \ %reldir%/jit-ir.h \ %reldir%/jit-typeinfo.h \ %reldir%/jit-util.h \ @@ -46,6 +47,7 @@ PARSE_TREE_SRC = \ %reldir%/bp-table.cc \ + %reldir%/comment-list.cc \ %reldir%/jit-ir.cc \ %reldir%/jit-typeinfo.cc \ %reldir%/jit-util.cc \