Mercurial > octave
annotate libinterp/parse-tree/token.h @ 30564:796f54d4ddbf stable
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2021.
In all .txi and .texi files except gpl.txi and gpl.texi in the
doc/liboctave and doc/interpreter directories, change the copyright
to "Octave Project Developers", the same as used for other source
files. Update copyright notices for 2022 (not done since 2019). For
gpl.txi and gpl.texi, change the copyright notice to be "Free Software
Foundation, Inc." and leave the date at 2007 only because this file
only contains the text of the GPL, not anything created by the Octave
Project Developers.
Add Paul Thomas to contributors.in.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Dec 2021 18:22:40 -0500 |
parents | 14b098a6ba46 |
children | e88a07dec498 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 //////////////////////////////////////////////////////////////////////// |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 // |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30155
diff
changeset
|
3 // Copyright (C) 1993-2022 The Octave Project Developers |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
4 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 // See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 // distribution or <https://octave.org/copyright/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
7 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
8 // This file is part of Octave. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
9 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
10 // Octave is free software: you can redistribute it and/or modify it |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
11 // under the terms of the GNU General Public License as published by |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
12 // the Free Software Foundation, either version 3 of the License, or |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
13 // (at your option) any later version. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
14 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
15 // Octave is distributed in the hope that it will be useful, but |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
16 // WITHOUT ANY WARRANTY; without even the implied warranty of |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
18 // GNU General Public License for more details. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
19 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
20 // You should have received a copy of the GNU General Public License |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
21 // along with Octave; see the file COPYING. If not, see |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
22 // <https://www.gnu.org/licenses/>. |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 // |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 //////////////////////////////////////////////////////////////////////// |
142 | 25 |
20791
f7084eae3318
maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents:
20075
diff
changeset
|
26 #if ! defined (octave_token_h) |
383 | 27 #define octave_token_h 1 |
142 | 28 |
21244
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21017
diff
changeset
|
29 #include "octave-config.h" |
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21017
diff
changeset
|
30 |
1755 | 31 #include <string> |
32 | |
27766
0ca7f17de041
use file position object to track line and column info in lexer and parser
John W. Eaton <jwe@octave.org>
parents:
27765
diff
changeset
|
33 #include "filepos.h" |
28582
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
34 #include "ov.h" |
16134
ec9c6222ef5a
move static parser helper functions to octave_parser class
John W. Eaton <jwe@octave.org>
parents:
15195
diff
changeset
|
35 |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
36 namespace octave |
142 | 37 { |
27765
dd93e1fdc7db
require position info when creating tokens for the parser
John W. Eaton <jwe@octave.org>
parents:
26718
diff
changeset
|
38 class token |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
39 { |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
40 public: |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
41 |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
42 enum token_type |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
43 { |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
44 generic_token, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
45 keyword_token, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
46 string_token, |
28582
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
47 numeric_token, |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
48 ettype_token, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
49 scls_name_token, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
50 }; |
142 | 51 |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
52 enum end_tok_type |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
53 { |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
54 simple_end, |
29724
c19f8cbe0fd5
initial implementation of parsing for arguments validaton block (bug #59405)
John W. Eaton <jwe@octave.org>
parents:
29723
diff
changeset
|
55 arguments_end, |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
56 classdef_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
57 enumeration_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
58 events_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
59 for_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
60 function_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
61 if_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
62 methods_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
63 parfor_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
64 properties_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
65 switch_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
66 try_catch_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
67 unwind_protect_end, |
28517
6e8a9845d118
Add 'spmd' as interpreter keyword for Matlab compatibility (bug #58676).
Rik <rik@octave.org>
parents:
28078
diff
changeset
|
68 spmd_end, |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
69 while_end, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
70 }; |
142 | 71 |
27769
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
72 token (int tv, const filepos& beg_pos, const filepos& end_pos); |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
73 |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
74 token (int tv, bool is_keyword, const filepos& beg_pos |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
75 , const filepos& end_pos); |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
76 |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
77 token (int tv, const char *s, const filepos& beg_pos, |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
78 const filepos& end_pos); |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
79 |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
80 token (int tv, const std::string& s, const filepos& beg_pos, |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
81 const filepos& end_pos); |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
82 |
28582
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
83 token (int tv, const octave_value& val, const std::string& s, |
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
84 const filepos& beg_pos, const filepos& end_pos); |
27769
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
85 |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
86 token (int tv, end_tok_type t, const filepos& beg_pos, |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
87 const filepos& end_pos); |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
88 |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
89 token (int tv, const std::string& mth, const std::string& cls, |
27769
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
90 const filepos& beg_pos, const filepos& end_pos); |
142 | 91 |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
92 // No copying! |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
93 |
23372 | 94 token (const token&) = delete; |
16257
db7f07b22b9b
1/10 commits reworking the lexer
John W. Eaton <jwe@octave.org>
parents:
16255
diff
changeset
|
95 |
23372 | 96 token& operator = (const token&) = delete; |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
97 |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
98 ~token (void); |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
99 |
23372 | 100 void mark_may_be_command (void) { m_maybe_cmd = true; } |
101 bool may_be_command (void) const { return m_maybe_cmd; } | |
16255
12bf6a3f8c45
store more info in token value class
John W. Eaton <jwe@octave.org>
parents:
16134
diff
changeset
|
102 |
23372 | 103 void mark_trailing_space (void) { m_tspc = true; } |
104 bool space_follows_token (void) const { return m_tspc; } | |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
105 |
23372 | 106 int token_value (void) const { return m_tok_val; } |
107 bool token_value_is (int tv) const { return tv == m_tok_val; } | |
142 | 108 |
27769
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
109 filepos beg_pos (void) const { return m_beg_pos; } |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
110 filepos end_pos (void) const { return m_end_pos; } |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
111 |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
112 void beg_pos (const filepos& pos) { m_beg_pos = pos; } |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
113 void end_pos (const filepos& pos) { m_end_pos = pos; } |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
114 |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
115 // These will probably be removed. |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
116 int line (void) const { return m_beg_pos.line (); } |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
117 int column (void) const { return m_beg_pos.column (); } |
16255
12bf6a3f8c45
store more info in token value class
John W. Eaton <jwe@octave.org>
parents:
16134
diff
changeset
|
118 |
26059
da2bbcf1fbcd
Deprecate C++ function is_keyword in favor of iskeyword for readability.
Rik <rik@octave.org>
parents:
25103
diff
changeset
|
119 bool iskeyword (void) const |
da2bbcf1fbcd
Deprecate C++ function is_keyword in favor of iskeyword for readability.
Rik <rik@octave.org>
parents:
25103
diff
changeset
|
120 { |
da2bbcf1fbcd
Deprecate C++ function is_keyword in favor of iskeyword for readability.
Rik <rik@octave.org>
parents:
25103
diff
changeset
|
121 return m_type_tag == keyword_token || m_type_tag == ettype_token; |
da2bbcf1fbcd
Deprecate C++ function is_keyword in favor of iskeyword for readability.
Rik <rik@octave.org>
parents:
25103
diff
changeset
|
122 } |
da2bbcf1fbcd
Deprecate C++ function is_keyword in favor of iskeyword for readability.
Rik <rik@octave.org>
parents:
25103
diff
changeset
|
123 |
29723
6858992dfadf
enter symbols into current scope in parser instead of lexer
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
124 bool isstring (void) const { return m_type_tag == string_token; } |
16360
11115c237231
recognize variables when parsing (bug #38576)
John W. Eaton <jwe@octave.org>
parents:
16267
diff
changeset
|
125 |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
126 std::string text (void) const; |
28582
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
127 octave_value number (void) const; |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
128 token_type ttype (void) const; |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
129 end_tok_type ettype (void) const; |
142 | 130 |
26718
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
131 std::string superclass_method_name (void) const; |
23372 | 132 std::string superclass_class_name (void) const; |
581 | 133 |
23372 | 134 std::string text_rep (void) const; |
3552 | 135 |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
136 private: |
1288 | 137 |
23372 | 138 bool m_maybe_cmd; |
139 | |
140 bool m_tspc; | |
141 | |
27769
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
142 filepos m_beg_pos; |
07ffed9878ad
store begin and end position in tokens
John W. Eaton <jwe@octave.org>
parents:
27766
diff
changeset
|
143 filepos m_end_pos; |
23372 | 144 |
145 int m_tok_val; | |
146 | |
147 token_type m_type_tag; | |
148 | |
149 union tok_info | |
142 | 150 { |
23372 | 151 tok_info (void) { } |
152 | |
153 tok_info (const char *s) : m_str (new std::string (s)) { } | |
154 | |
155 tok_info (const std::string& str) : m_str (new std::string (str)) { } | |
156 | |
28582
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
157 tok_info (const octave_value& num) : m_num (new octave_value (num)) { } |
23372 | 158 |
159 tok_info (end_tok_type et) : m_et (et) { } | |
160 | |
26718
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
161 tok_info (const std::string& meth, const std::string& cls) |
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
162 : m_superclass_info (new superclass_info (meth, cls)) |
23372 | 163 { } |
164 | |
165 tok_info (const tok_info&) = delete; | |
166 | |
167 tok_info& operator = (const tok_info&) = delete; | |
168 | |
169 ~tok_info (void) { } | |
170 | |
171 std::string *m_str; | |
172 | |
28582
dc8de424fc72
use octave_value object to store numeric tokens in the lexer
John W. Eaton <jwe@octave.org>
parents:
28517
diff
changeset
|
173 octave_value *m_num; |
23372 | 174 |
175 end_tok_type m_et; | |
176 | |
177 struct superclass_info | |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
178 { |
30155
14b098a6ba46
maint: Use public: qualifier in structs that are really classes.
Rik <rik@octave.org>
parents:
29724
diff
changeset
|
179 public: |
14b098a6ba46
maint: Use public: qualifier in structs that are really classes.
Rik <rik@octave.org>
parents:
29724
diff
changeset
|
180 superclass_info (const std::string& meth, const std::string& cls) |
26718
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
181 : m_method_name (meth), m_class_name (cls) |
23372 | 182 { } |
183 | |
30155
14b098a6ba46
maint: Use public: qualifier in structs that are really classes.
Rik <rik@octave.org>
parents:
29724
diff
changeset
|
184 superclass_info (void) = delete; |
14b098a6ba46
maint: Use public: qualifier in structs that are really classes.
Rik <rik@octave.org>
parents:
29724
diff
changeset
|
185 |
23372 | 186 superclass_info (const superclass_info&) = delete; |
187 | |
188 superclass_info& operator = (const superclass_info&) = delete; | |
189 | |
190 ~superclass_info (void) = default; | |
191 | |
30155
14b098a6ba46
maint: Use public: qualifier in structs that are really classes.
Rik <rik@octave.org>
parents:
29724
diff
changeset
|
192 //-------- |
14b098a6ba46
maint: Use public: qualifier in structs that are really classes.
Rik <rik@octave.org>
parents:
29724
diff
changeset
|
193 |
26718
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
194 // The name of the method to call. This is the text before the |
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
195 // "@" and may be of the form "object.method". |
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
196 std::string m_method_name; |
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
197 |
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
198 // The name of the superclass. This is the text after the "@" |
9b0335f4bc74
revise naming of the parts of a superclass reference
John W. Eaton <jwe@octave.org>
parents:
26686
diff
changeset
|
199 // and may be of the form "object.method". |
26686
581d01526b34
eliminate unnecessary tree_funcall class
John W. Eaton <jwe@octave.org>
parents:
26377
diff
changeset
|
200 std::string m_class_name; |
23372 | 201 }; |
202 | |
203 superclass_info *m_superclass_info; | |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
204 }; |
23372 | 205 |
206 tok_info m_tok_info; | |
207 | |
208 std::string m_orig_text; | |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
209 }; |
23075
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
210 } |
4e3d47dc7e25
move parse tree classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
22869
diff
changeset
|
211 |
142 | 212 #endif |