Mercurial > octave
view libinterp/parse-tree/pt-spmd.cc @ 28518:b8ab8b58547d
accept spmd command blocks as language elements (bug #58676)
* pt-spmd.h, pt-spmd.cc: New files.
* libinterp/parse-tree/module.mk: Update.
* parse.h, oct-parse.yy (base_parser::make_spmd_command): New function.
(spmd_command): New non-terminal.
(command): Include spmd_command in list of possible commands.
* pt-all.h: Also include pt-spmd.h.
* pt-walk.h, pt-walk.cc (tree_walker::visit_spmd_command):
New virtual function.
* pt-eval.h, pt-eval.cc (tree_evaluator::visit_spmd_command):
New function.
* pt-pr-code.h, pt-pr-code.cc (tree_print_code::visit_spmd_command):
New function.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 30 Jun 2020 15:52:25 -0400 |
parents | |
children | 7854d5752dd2 |
line wrap: on
line source
//////////////////////////////////////////////////////////////////////// // // Copyright (C) 2020 The Octave Project Developers // // See the file COPYRIGHT.md in the top-level directory of this // distribution or <https://octave.org/copyright/>. // // 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 // <https://www.gnu.org/licenses/>. // //////////////////////////////////////////////////////////////////////// #if defined (HAVE_CONFIG_H) # include "config.h" #endif #include "comment-list.h" #include "pt-spmd.h" #include "pt-stmt.h" namespace octave { tree_spmd_command::~tree_spmd_command (void) { delete m_body; delete m_lead_comm; delete m_trail_comm; } }