annotate src/octave.gperf @ 7587:1f662945c2be

handle varargin and varargout without keywords
author John W. Eaton <jwe@octave.org>
date Thu, 13 Mar 2008 13:05:43 -0400
parents 4270ded9ddc6
children a2a9dc5e8565
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
1 %{
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
2
7019
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
3 /*
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
4
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
5 Copyright (C) 1995, 1997, 1998, 2000, 2002, 2004, 2005, 2006,
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
6 2007 John W. Eaton
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
7
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
8 This file is part of Octave.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
9
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
10 Octave is free software; you can redistribute it and/or modify it
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
11 under the terms of the GNU General Public License as published by the
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
12 Free Software Foundation; either version 3 of the License, or (at
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
13 your option) any later version.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
14
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
15 Octave is distributed in the hope that it will be useful, but WITHOUT
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
17 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
18 for more details.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
19
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
20 You should have received a copy of the GNU General Public License
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
21 along with Octave; see the file COPYING. If not, see
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
22 <http://www.gnu.org/licenses/>.
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
23
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
24 */
4270ded9ddc6 [project @ 2007-10-13 01:42:20 by jwe]
jwe
parents: 6547
diff changeset
25
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
26 enum octave_kw_id
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
27 {
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
28 break_kw,
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
29 case_kw,
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
30 catch_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
31 continue_kw,
3484
8b1f46ac2b64 [project @ 2000-01-27 23:30:45 by jwe]
jwe
parents: 3174
diff changeset
32 do_kw,
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
33 else_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
34 elseif_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
35 end_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
36 end_try_catch_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
37 end_unwind_protect_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
38 endfor_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
39 endfunction_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
40 endif_kw,
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
41 endswitch_kw,
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
42 endwhile_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
43 for_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
44 function_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
45 global_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
46 if_kw,
3174
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 2846
diff changeset
47 magic_file_kw,
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 2846
diff changeset
48 magic_line_kw,
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
49 otherwise_kw,
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
50 return_kw,
2846
52e7c4509983 [project @ 1997-03-26 23:27:35 by jwe]
jwe
parents: 2804
diff changeset
51 static_kw,
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
52 switch_kw,
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
53 try_kw,
3484
8b1f46ac2b64 [project @ 2000-01-27 23:30:45 by jwe]
jwe
parents: 3174
diff changeset
54 until_kw,
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
55 unwind_protect_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
56 unwind_protect_cleanup_kw,
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
57 while_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
58 };
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
59
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
60 %}
5088
7830f271a53f [project @ 2004-12-01 19:54:45 by jwe]
jwe
parents: 4166
diff changeset
61
2804
eedc2f3f61f7 [project @ 1997-03-11 04:34:50 by jwe]
jwe
parents: 2764
diff changeset
62 struct octave_kw { const char *name; int tok; octave_kw_id kw_id; };
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
63 %%
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
64 break, BREAK, break_kw
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
65 case, CASE, case_kw
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
66 catch, CATCH, catch_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
67 continue, CONTINUE, continue_kw
3484
8b1f46ac2b64 [project @ 2000-01-27 23:30:45 by jwe]
jwe
parents: 3174
diff changeset
68 do, DO, do_kw
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
69 else, ELSE, else_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
70 elseif, ELSEIF, elseif_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
71 end, END, end_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
72 end_try_catch, END, end_try_catch_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
73 end_unwind_protect, END, end_unwind_protect_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
74 endfor, END, endfor_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
75 endfunction, END, endfunction_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
76 endif, END, endif_kw
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
77 endswitch, END, endswitch_kw
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
78 endwhile, END, endwhile_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
79 for, FOR, for_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
80 function, FCN, function_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
81 global, GLOBAL, global_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
82 if, IF, if_kw
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
83 otherwise, OTHERWISE, otherwise_kw
4166
1297e388830f [project @ 2002-11-12 00:27:09 by jwe]
jwe
parents: 4065
diff changeset
84 persistent, STATIC, static_kw
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
85 return, FUNC_RET, return_kw
2846
52e7c4509983 [project @ 1997-03-26 23:27:35 by jwe]
jwe
parents: 2804
diff changeset
86 static, STATIC, static_kw
2764
2c0f259cf83d [project @ 1997-03-01 02:30:26 by jwe]
jwe
parents: 1496
diff changeset
87 switch, SWITCH, switch_kw
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
88 try, TRY, try_kw
3484
8b1f46ac2b64 [project @ 2000-01-27 23:30:45 by jwe]
jwe
parents: 3174
diff changeset
89 until, UNTIL, until_kw
1496
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
90 unwind_protect, UNWIND, unwind_protect_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
91 unwind_protect_cleanup, CLEANUP, unwind_protect_cleanup_kw
8bd5499ae4ef [project @ 1995-09-30 21:57:45 by jwe]
jwe
parents:
diff changeset
92 while, WHILE, while_kw
5279
bd32f770c09a [project @ 2005-04-12 21:55:31 by jwe]
jwe
parents: 5102
diff changeset
93 __FILE__, DQ_STRING, magic_file_kw
3174
390d5e396682 [project @ 1998-05-04 16:36:17 by jwe]
jwe
parents: 2846
diff changeset
94 __LINE__, NUM, magic_line_kw