annotate src/lex.h @ 11367:b2191ebea12f

don't process input_event_hook when we are parsing a function
author John W. Eaton <jwe@octave.org>
date Wed, 15 Dec 2010 00:44:10 -0500
parents cd96d29c5efa
children 21b5284fa78d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
2
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
3 Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
8920
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8881
diff changeset
4 2003, 2004, 2005, 2006, 2007, 2008, 2009 John W. Eaton
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
5
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
6 This file is part of Octave.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
7
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5775
diff changeset
10 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5775
diff changeset
11 option) any later version.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
12
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
16 for more details.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
17
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5775
diff changeset
19 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5775
diff changeset
20 <http://www.gnu.org/licenses/>.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
21
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
22 */
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
23
383
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 247
diff changeset
24 #if !defined (octave_lex_h)
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 247
diff changeset
25 #define octave_lex_h 1
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
26
8745
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
27 #include <list>
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
28
5775
ace8d8d26933 [project @ 2006-04-24 19:13:06 by jwe]
jwe
parents: 5307
diff changeset
29 // FIXME -- these input buffer things should be members of a
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
30 // parser input stream class.
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
31
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
32 typedef struct yy_buffer_state *YY_BUFFER_STATE;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
33
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
34 // Associate a buffer with a new file to read.
9247
b2790fd23800 More export symbols to allow usage from an IDE.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 8920
diff changeset
35 extern OCTINTERP_API YY_BUFFER_STATE create_buffer (FILE *f);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
36
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
37 // Report the current buffer.
9247
b2790fd23800 More export symbols to allow usage from an IDE.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 8920
diff changeset
38 extern OCTINTERP_API YY_BUFFER_STATE current_buffer (void);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
39
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
40 // Connect to new buffer buffer.
9247
b2790fd23800 More export symbols to allow usage from an IDE.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 8920
diff changeset
41 extern OCTINTERP_API void switch_to_buffer (YY_BUFFER_STATE buf);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
42
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
43 // Delete a buffer.
9247
b2790fd23800 More export symbols to allow usage from an IDE.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 8920
diff changeset
44 extern OCTINTERP_API void delete_buffer (YY_BUFFER_STATE buf);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
45
4867
c7f9ea142fda [project @ 2004-04-20 19:41:11 by jwe]
jwe
parents: 4753
diff changeset
46 // Is the given string a keyword?
c7f9ea142fda [project @ 2004-04-20 19:41:11 by jwe]
jwe
parents: 4753
diff changeset
47 extern bool is_keyword (const std::string& s);
c7f9ea142fda [project @ 2004-04-20 19:41:11 by jwe]
jwe
parents: 4753
diff changeset
48
9474
25ed2d6aacf6 Parse nested functions more accurately.
David Grundberg <individ@acc.umu.se>
parents: 9396
diff changeset
49 extern void prep_lexer_for_script_file (void);
25ed2d6aacf6 Parse nested functions more accurately.
David Grundberg <individ@acc.umu.se>
parents: 9396
diff changeset
50 extern void prep_lexer_for_function_file (void);
7715
5b4d278ec828 parse scripts completely before executing
John W. Eaton <jwe@octave.org>
parents: 7634
diff changeset
51
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
52 // For communication between the lexer and parser.
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
53
3585
d9803711e047 [project @ 2000-02-08 04:35:39 by jwe]
jwe
parents: 3351
diff changeset
54 class
d9803711e047 [project @ 2000-02-08 04:35:39 by jwe]
jwe
parents: 3351
diff changeset
55 lexical_feedback
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
56 {
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
57 public:
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
58
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
59 lexical_feedback (void) { init (); }
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
60
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
61 ~lexical_feedback (void) { }
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
62
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
63 void init (void);
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
64
3351
8623649c967c [project @ 1999-11-15 16:17:01 by jwe]
jwe
parents: 3225
diff changeset
65 // Square bracket level count.
8623649c967c [project @ 1999-11-15 16:17:01 by jwe]
jwe
parents: 3225
diff changeset
66 int bracketflag;
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
67
4613
d1786f2d8a3c [project @ 2003-11-14 22:46:19 by jwe]
jwe
parents: 4240
diff changeset
68 // Curly brace level count.
d1786f2d8a3c [project @ 2003-11-14 22:46:19 by jwe]
jwe
parents: 4240
diff changeset
69 int braceflag;
d1786f2d8a3c [project @ 2003-11-14 22:46:19 by jwe]
jwe
parents: 4240
diff changeset
70
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
71 // TRUE means we're in the middle of defining a loop.
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
72 int looping;
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
73
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
74 // TRUE means that we should convert spaces to a comma inside a
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
75 // matrix definition.
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
76 bool convert_spaces_to_comma;
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
77
8746
5dd06f19e9be handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents: 8745
diff changeset
78 // TRUE means we are at the beginning of a statement, where a
5dd06f19e9be handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents: 8745
diff changeset
79 // command name is possible.
5dd06f19e9be handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents: 8745
diff changeset
80 bool at_beginning_of_statement;
5dd06f19e9be handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents: 8745
diff changeset
81
11367
b2191ebea12f don't process input_event_hook when we are parsing a function
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
82 // Nonzero means we're in the middle of defining a function.
b2191ebea12f don't process input_event_hook when we are parsing a function
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
83 int defining_func;
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
84
4930
bdb307dc8613 [project @ 2004-08-05 04:55:26 by jwe]
jwe
parents: 4867
diff changeset
85 // Nonzero means we are parsing a function handle.
bdb307dc8613 [project @ 2004-08-05 04:55:26 by jwe]
jwe
parents: 4867
diff changeset
86 int looking_at_function_handle;
bdb307dc8613 [project @ 2004-08-05 04:55:26 by jwe]
jwe
parents: 4867
diff changeset
87
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
88 // TRUE means we're parsing the return list for a function.
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
89 bool looking_at_return_list;
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
90
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
91 // TRUE means we're parsing the parameter list for a function.
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
92 bool looking_at_parameter_list;
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
93
8701
1652e39b934e handle command names in declaration lists
John W. Eaton <jwe@octave.org>
parents: 8001
diff changeset
94 // TRUE means we're parsing a declaration list (global or
1652e39b934e handle command names in declaration lists
John W. Eaton <jwe@octave.org>
parents: 8001
diff changeset
95 // persistent).
1652e39b934e handle command names in declaration lists
John W. Eaton <jwe@octave.org>
parents: 8001
diff changeset
96 bool looking_at_decl_list;
1652e39b934e handle command names in declaration lists
John W. Eaton <jwe@octave.org>
parents: 8001
diff changeset
97
7634
ae90e05ad299 fix parameter list initializer bug
John W. Eaton <jwe@octave.org>
parents: 7336
diff changeset
98 // TRUE means we are looking at the initializer expression for a
ae90e05ad299 fix parameter list initializer bug
John W. Eaton <jwe@octave.org>
parents: 7336
diff changeset
99 // parameter list element.
ae90e05ad299 fix parameter list initializer bug
John W. Eaton <jwe@octave.org>
parents: 7336
diff changeset
100 bool looking_at_initializer_expression;
ae90e05ad299 fix parameter list initializer bug
John W. Eaton <jwe@octave.org>
parents: 7336
diff changeset
101
3189
bef7b73c0724 [project @ 1998-10-16 18:05:26 by jwe]
jwe
parents: 3165
diff changeset
102 // TRUE means we're parsing a matrix or the left hand side of
bef7b73c0724 [project @ 1998-10-16 18:05:26 by jwe]
jwe
parents: 3165
diff changeset
103 // multi-value assignment statement.
bef7b73c0724 [project @ 1998-10-16 18:05:26 by jwe]
jwe
parents: 3165
diff changeset
104 bool looking_at_matrix_or_assign_lhs;
bef7b73c0724 [project @ 1998-10-16 18:05:26 by jwe]
jwe
parents: 3165
diff changeset
105
8745
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
106 // If the front of the list is TRUE, the closest paren, brace, or
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
107 // bracket nesting is an index for an object.
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
108 std::list<bool> looking_at_object_index;
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
109
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
110 // Object index not possible until we've seen something.
6dc61981d18b better handling of object indexing in lexer
John W. Eaton <jwe@octave.org>
parents: 8701
diff changeset
111 bool looking_for_object_index;
4234
90e44267e8cf [project @ 2002-12-21 17:15:25 by jwe]
jwe
parents: 4182
diff changeset
112
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
113 // GAG. Stupid kludge so that [[1,2][3,4]] will work.
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
114 bool do_comma_insert;
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
115
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
116 // TRUE means we're looking at an indirect reference to a
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
117 // structure element.
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
118 bool looking_at_indirect_ref;
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
119
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
120 // TRUE means that we've already seen the name of this function.
9474
25ed2d6aacf6 Parse nested functions more accurately.
David Grundberg <individ@acc.umu.se>
parents: 9396
diff changeset
121 // Should only matter if current_function_level > 0
2877
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
122 bool parsed_function_name;
5c1b9e545dd1 [project @ 1997-04-24 09:07:39 by jwe]
jwe
parents: 2857
diff changeset
123
9476
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
124 // TRUE means we are parsing a class method in function or classdef file.
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7017
diff changeset
125 bool parsing_class_method;
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7017
diff changeset
126
9476
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
127 // TRUE means we are parsing a class method declaration line in a
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
128 // classdef file and can accept a property get or set method name.
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
129 // For example, "get.PropertyName" is recognized as a function name.
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
130 bool maybe_classdef_get_set_method;
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
131
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
132 // TRUE means we are parsing a classdef file
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
133 bool parsing_classdef;
d9b25c5b8ee5 handle classdef syntax in lexer and parser
Ryan Rusaw
parents: 9474
diff changeset
134
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
135 // Return transpose or start a string?
2857
5448c8cba402 [project @ 1997-03-31 07:06:10 by jwe]
jwe
parents: 2847
diff changeset
136 bool quote_is_transpose;
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
137
8001
ff9e7873f8ea improve handling of command-style names in matrix_or_assign_lhs context
John W. Eaton <jwe@octave.org>
parents: 7723
diff changeset
138 // Set of identifiers that might be local variable names.
ff9e7873f8ea improve handling of command-style names in matrix_or_assign_lhs context
John W. Eaton <jwe@octave.org>
parents: 7723
diff changeset
139 std::set<std::string> pending_local_variables;
ff9e7873f8ea improve handling of command-style names in matrix_or_assign_lhs context
John W. Eaton <jwe@octave.org>
parents: 7723
diff changeset
140
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
141 private:
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
142
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
143 lexical_feedback (const lexical_feedback&);
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
144
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
145 lexical_feedback& operator = (const lexical_feedback&);
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
146 };
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
147
7720
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
148 class
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
149 stream_reader
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
150 {
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
151 public:
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
152 virtual int getc (void) = 0;
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
153 virtual int ungetc (int c) = 0;
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
154
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
155 protected:
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
156 stream_reader (void) { }
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
157 ~stream_reader (void) { }
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
158
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
159 private:
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
160
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
161 // No copying!
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
162 stream_reader (const stream_reader&);
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
163 stream_reader& operator = (const stream_reader&);
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
164 };
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
165
7723
74f5e0c7de9e first pass at handling block comments
John W. Eaton <jwe@octave.org>
parents: 7720
diff changeset
166 extern std::string
74f5e0c7de9e first pass at handling block comments
John W. Eaton <jwe@octave.org>
parents: 7720
diff changeset
167 grab_comment_block (stream_reader& reader, bool at_bol, bool& eof);
7720
4e2eafef689c unify comment and help text processing in lex.l and parse.y
John W. Eaton <jwe@octave.org>
parents: 7715
diff changeset
168
3883
69b6bd271277 [project @ 2002-04-02 21:05:10 by jwe]
jwe
parents: 3585
diff changeset
169 // TRUE means that we have encountered EOF on the input stream.
69b6bd271277 [project @ 2002-04-02 21:05:10 by jwe]
jwe
parents: 3585
diff changeset
170 extern bool parser_end_of_input;
69b6bd271277 [project @ 2002-04-02 21:05:10 by jwe]
jwe
parents: 3585
diff changeset
171
1826
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
172 // Flags that need to be shared between the lexer and parser.
b14829582cc4 [project @ 1996-02-02 03:05:07 by jwe]
jwe
parents: 1315
diff changeset
173 extern lexical_feedback lexer_flags;
440
e27d10f2e573 [project @ 1994-05-30 03:33:37 by jwe]
jwe
parents: 383
diff changeset
174
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
175 #endif