URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 341 to Rev 342
- ↔ Reverse comparison
Rev 341 → Rev 342
/openrisc/trunk/gnu-src/gdb-7.2/bfd/doc/bfd.info
1,4 → 1,4
This is bfd.info, produced by makeinfo version 4.8 from bfd.texinfo. |
This is bfd.info, produced by makeinfo version 4.13 from bfd.texinfo. |
|
START-INFO-DIR-ENTRY |
* Bfd: (bfd). The Binary File Descriptor library. |
7537,9 → 7537,9
each object file or archive which is to be linked (typically these are |
the files named on the command line, but some may also come from the |
linker script). The entry point is responsible for examining the file. |
For an object file, BFD must add any relevant symbol information to |
the hash table. For an archive, BFD must determine which elements of |
the archive should be used and adding them to the link. |
For an object file, BFD must add any relevant symbol information to the |
hash table. For an archive, BFD must determine which elements of the |
archive should be used and adding them to the link. |
|
The a.out version of this entry point is |
`NAME(aout,link_add_symbols)'. |
11415,67 → 11415,67
|
|
Tag Table: |
Node: Top1051 |
Node: Overview1390 |
Node: History2441 |
Node: How It Works3387 |
Node: What BFD Version 2 Can Do4930 |
Node: BFD information loss6245 |
Node: Canonical format8777 |
Node: BFD front end13149 |
Node: Memory Usage44685 |
Node: Initialization45913 |
Node: Sections46372 |
Node: Section Input46855 |
Node: Section Output48220 |
Node: typedef asection50706 |
Node: section prototypes75715 |
Node: Symbols85395 |
Node: Reading Symbols86990 |
Node: Writing Symbols88097 |
Node: Mini Symbols89806 |
Node: typedef asymbol90780 |
Node: symbol handling functions96839 |
Node: Archives102181 |
Node: Formats105907 |
Node: Relocations108855 |
Node: typedef arelent109582 |
Node: howto manager125218 |
Node: Core Files200290 |
Node: Targets202107 |
Node: bfd_target204077 |
Node: Architectures226393 |
Node: Opening and Closing249683 |
Node: Internal261021 |
Node: File Caching267354 |
Node: Linker Functions269268 |
Node: Creating a Linker Hash Table270941 |
Node: Adding Symbols to the Hash Table272679 |
Node: Differing file formats273579 |
Node: Adding symbols from an object file275304 |
Node: Adding symbols from an archive277455 |
Node: Performing the Final Link279869 |
Node: Information provided by the linker281111 |
Node: Relocating the section contents282265 |
Node: Writing the symbol table284016 |
Node: Hash Tables288031 |
Node: Creating and Freeing a Hash Table289229 |
Node: Looking Up or Entering a String290479 |
Node: Traversing a Hash Table291732 |
Node: Deriving a New Hash Table Type292521 |
Node: Define the Derived Structures293587 |
Node: Write the Derived Creation Routine294668 |
Node: Write Other Derived Routines297292 |
Node: BFD back ends298607 |
Node: What to Put Where298877 |
Node: aout299057 |
Node: coff305375 |
Node: elf333808 |
Node: mmo334209 |
Node: File layout335137 |
Node: Symbol-table340784 |
Node: mmo section mapping344553 |
Node: GNU Free Documentation License348205 |
Node: BFD Index373288 |
Node: Top1052 |
Node: Overview1391 |
Node: History2442 |
Node: How It Works3388 |
Node: What BFD Version 2 Can Do4931 |
Node: BFD information loss6246 |
Node: Canonical format8778 |
Node: BFD front end13150 |
Node: Memory Usage44686 |
Node: Initialization45914 |
Node: Sections46373 |
Node: Section Input46856 |
Node: Section Output48221 |
Node: typedef asection50707 |
Node: section prototypes75716 |
Node: Symbols85396 |
Node: Reading Symbols86991 |
Node: Writing Symbols88098 |
Node: Mini Symbols89807 |
Node: typedef asymbol90781 |
Node: symbol handling functions96840 |
Node: Archives102182 |
Node: Formats105908 |
Node: Relocations108856 |
Node: typedef arelent109583 |
Node: howto manager125219 |
Node: Core Files200291 |
Node: Targets202108 |
Node: bfd_target204078 |
Node: Architectures226394 |
Node: Opening and Closing249684 |
Node: Internal261022 |
Node: File Caching267355 |
Node: Linker Functions269269 |
Node: Creating a Linker Hash Table270942 |
Node: Adding Symbols to the Hash Table272680 |
Node: Differing file formats273580 |
Node: Adding symbols from an object file275305 |
Node: Adding symbols from an archive277456 |
Node: Performing the Final Link279870 |
Node: Information provided by the linker281112 |
Node: Relocating the section contents282266 |
Node: Writing the symbol table284017 |
Node: Hash Tables288032 |
Node: Creating and Freeing a Hash Table289230 |
Node: Looking Up or Entering a String290480 |
Node: Traversing a Hash Table291733 |
Node: Deriving a New Hash Table Type292522 |
Node: Define the Derived Structures293588 |
Node: Write the Derived Creation Routine294669 |
Node: Write Other Derived Routines297293 |
Node: BFD back ends298608 |
Node: What to Put Where298878 |
Node: aout299058 |
Node: coff305376 |
Node: elf333809 |
Node: mmo334210 |
Node: File layout335138 |
Node: Symbol-table340785 |
Node: mmo section mapping344554 |
Node: GNU Free Documentation License348206 |
Node: BFD Index373289 |
|
End Tag Table |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info-1
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
48,7 → 48,7
|
This file describes GDB, the GNU symbolic debugger. |
|
This is the Ninth Edition, for GDB (GDB) Version 7.2. |
This is the Ninth Edition, for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988-2010 Free Software Foundation, Inc. |
|
135,13 → 135,13
correcting the effects of one bug and go on to learn about another. |
|
You can use GDB to debug programs written in C and C++. For more |
information, see *Note Supported Languages: Supported Languages. For |
more information, see *Note C and C++: C. |
information, see *note Supported Languages: Supported Languages. For |
more information, see *note C and C++: C. |
|
Support for D is partial. For information on D, see *Note D: D. |
Support for D is partial. For information on D, see *note D: D. |
|
Support for Modula-2 is partial. For information on Modula-2, see |
*Note Modula-2: Modula-2. |
*note Modula-2: Modula-2. |
|
Debugging Pascal programs which use sets, subranges, file variables, |
or nested functions does not currently work. GDB does not support |
437,6 → 437,10
Michael Eager and staff of Xilinx, Inc., contributed support for the |
Xilinx MicroBlaze architecture. |
|
The original port to the OpenRISC 1000 is believed to be due to |
Alessandro Forin and Per Bothner. More recent ports have been the work |
of Jeremy Bennett. |
|
|
File: gdb.info, Node: Sample Session, Next: Invocation, Prev: Summary, Up: Top |
|
483,7 → 487,7
There is absolutely no warranty for GDB; type "show warranty" |
for details. |
|
GDB 7.2, Copyright 1999 Free Software Foundation, Inc... |
GDB 7.2-or32-1.0rc1, Copyright 1999 Free Software Foundation, Inc... |
(gdb) |
|
GDB reads only enough symbol data to know where to find the rest when |
1160,7 → 1164,7
previous command. Certain commands (for example, `run') will not |
repeat this way; these are commands whose unintentional repetition |
might cause trouble and which you are unlikely to want to repeat. |
User-defined commands can disable this feature; see *Note dont-repeat: |
User-defined commands can disable this feature; see *note dont-repeat: |
Define. |
|
The `list' and `x' commands, when you repeat them with <RET>, |
1273,9 → 1277,9
have not yet started typing the argument list when you ask for |
completion on an overloaded symbol. |
|
For more information about overloaded functions, see *Note C++ |
For more information about overloaded functions, see *note C++ |
Expressions: C Plus Plus Expressions. You can use the command `set |
overload-resolution off' to disable overload resolution; see *Note GDB |
overload-resolution off' to disable overload resolution; see *note GDB |
Features for C++: Debugging C Plus Plus. |
|
When completing in an expression which looks up a field in a |
1511,7 → 1515,7
making it possible to debug optimized code. We recommend that you |
_always_ use `-g' whenever you compile a program. You may think your |
program is correct, but there is no sense in pushing your luck. For |
more information, see *Note Optimized Code::. |
more information, see *note Optimized Code::. |
|
Older versions of the GNU C compiler permitted a variant option |
`-gg' for debugging information. GDB no longer supports this format; |
1633,11 → 1637,11
`start' or `run'. |
|
It is sometimes necessary to debug the program during elaboration. |
In these cases, using the `start' command would stop the |
execution of your program too late, as the program would have |
already completed the elaboration phase. Under these |
circumstances, insert breakpoints in your elaboration code before |
running your program. |
In these cases, using the `start' command would stop the execution |
of your program too late, as the program would have already |
completed the elaboration phase. Under these circumstances, |
insert breakpoints in your elaboration code before running your |
program. |
|
`set exec-wrapper WRAPPER' |
`show exec-wrapper' |
2694,7 → 2698,7
different command to set a catchpoint (*note Setting Catchpoints: Set |
Catchpoints.), but aside from that, you can manage a catchpoint like any |
other breakpoint. (To stop when your program receives a signal, use the |
`handle' command; see *Note Signals: Signals.) |
`handle' command; see *note Signals: Signals.) |
|
GDB assigns a number to each breakpoint, watchpoint, or catchpoint |
when you create it; these numbers are successive integers starting with |
2730,7 → 2734,7
|
Breakpoints are set with the `break' command (abbreviated `b'). The |
debugger convenience variable `$bpnum' records the number of the |
breakpoint you've set most recently; see *Note Convenience Variables: |
breakpoint you've set most recently; see *note Convenience Variables: |
Convenience Vars, for a discussion of what you can do with convenience |
variables. |
|
2801,7 → 2805,7
unused hardware breakpoints before setting new ones (*note |
Disabling Breakpoints: Disabling.). *Note Break Conditions: |
Conditions. For remote targets, you can restrict the number of |
hardware breakpoints GDB will use, see *Note set remote |
hardware breakpoints GDB will use, see *note set remote |
hardware-breakpoint-limit::. |
|
`thbreak ARGS' |
2812,7 → 2816,7
program stops there. Also, like the `hbreak' command, the |
breakpoint requires hardware support and some target hardware may |
not have this support. *Note Disabling Breakpoints: Disabling. |
See also *Note Break Conditions: Conditions. |
See also *note Break Conditions: Conditions. |
|
`rbreak REGEX' |
Set breakpoints on all functions matching the regular expression |
2872,10 → 2876,10
|
_Address_ |
Where the breakpoint is in your program, as a memory address. |
For a pending breakpoint whose address is not yet known, |
this field will contain `<PENDING>'. Such breakpoint won't |
fire until a shared library that has the symbol or line |
referred by breakpoint is loaded. See below for details. A |
For a pending breakpoint whose address is not yet known, this |
field will contain `<PENDING>'. Such breakpoint won't fire |
until a shared library that has the symbol or line referred |
by breakpoint is loaded. See below for details. A |
breakpoint with several locations will have `<MULTIPLE>' in |
this field--see below for details. |
|
3167,7 → 3171,7
Show the current mode of using hardware watchpoints. |
|
For remote targets, you can restrict the number of hardware |
watchpoints GDB will use, see *Note set remote |
watchpoints GDB will use, see *note set remote |
hardware-breakpoint-limit::. |
|
When you issue the `watch' command, GDB reports |
3575,7 → 3579,7
enabled; subsequently, they become disabled or enabled only when you |
use one of the commands above. (The command `until' can set and delete |
a breakpoint of its own, but it does not change the state of your other |
breakpoints; see *Note Continuing and Stepping: Continuing and |
breakpoints; see *note Continuing and Stepping: Continuing and |
Stepping.) |
|
|
4016,7 → 4020,7
`u LOCATION' |
Continue running your program until either the specified location |
is reached, or the current stack frame returns. LOCATION is any of |
the forms described in *Note Specify Location::. This form of the |
the forms described in *note Specify Location::. This form of the |
command uses temporary breakpoints, and hence is quicker than |
`until' without an argument. The specified location is actually |
reached only if it is in the current frame. This implies that |
4037,7 → 4041,7
`advance LOCATION' |
Continue running the program up to the given LOCATION. An |
argument is required, which should be of one of the forms |
described in *Note Specify Location::. Execution will also stop |
described in *note Specify Location::. Execution will also stop |
upon exit from the current stack frame. This command is similar |
to `until', but `advance' will not skip over recursive function |
calls, and the target location doesn't have to be in the same |
4303,8 → 4307,8
resumed when an execution command is issued. When `on', all |
threads of all processes are allowed to run. When `off', only the |
threads of the current process are resumed. The default is `off'. |
The `scheduler-locking' mode takes precedence when set to `on', |
or while you are stepping and set to `step'. |
The `scheduler-locking' mode takes precedence when set to `on', or |
while you are stepping and set to `step'. |
|
`show schedule-multiple' |
Display the current mode for resuming the execution of threads of |
4453,7 → 4457,7
|
|
Background execution is especially useful in conjunction with |
non-stop mode for debugging programs with multiple threads; see *Note |
non-stop mode for debugging programs with multiple threads; see *note |
Non-Stop Mode::. However, you can also use these commands in the |
normal all-stop mode with the restriction that you cannot issue another |
execution command until the previous one finishes. Examples of |
5066,7 → 5070,7
The value of parameter `data' in frame 1 has been replaced by `...'. |
By default, GDB prints the value of a parameter only if it is a scalar |
(integer, pointer, enumeration, etc). See command `set print |
frame-arguments' in *Note Print Settings:: for more details on how to |
frame-arguments' in *note Print Settings:: for more details on how to |
configure the way function parameter values are printed. |
|
If your program was compiled with optimizations, some compilers will |
5293,7 → 5297,7
source files by explicit command. |
|
If you use GDB through its GNU Emacs interface, you may prefer to |
use Emacs facilities to view source; see *Note Using GDB under GNU |
use Emacs facilities to view source; see *note Using GDB under GNU |
Emacs: Emacs. |
|
* Menu: |
5313,7 → 5317,7
|
To print lines from a source file, use the `list' command (abbreviated |
`l'). By default, ten lines are printed. There are several ways to |
specify what part of the file you want to print; see *Note Specify |
specify what part of the file you want to print; see *note Specify |
Location::, for the full list. |
|
Here are the forms of the `list' command most commonly used: |
5582,7 → 5586,7
debug information in case the sources were moved to a different |
directory between compilation and debugging. A rule is made of two |
strings, the first specifying what needs to be rewritten in the path, |
and the second specifying how it should be rewritten. In *Note set |
and the second specifying how it should be rewritten. In *note set |
substitute-path::, we name these two parts FROM and TO respectively. |
GDB does a simple string replacement of FROM with TO at the start of |
the directory part of the source file name, and uses that result |
5726,7 → 5730,7
`info line LINESPEC' |
Print the starting and ending addresses of the compiled code for |
source line LINESPEC. You can specify source lines in any of the |
ways documented in *Note Specify Location::. |
ways documented in *note Specify Location::. |
|
For example, we can use `info line' to discover the location of the |
object code for the first line of function `m4_changequote': |
5883,7 → 5887,7
EXPR is an expression (in the source language). By default the |
value of EXPR is printed in a format appropriate to its data type; |
you can choose a different format by specifying `/F', where F is a |
letter specifying the format; see *Note Output Formats: Output |
letter specifying the format; see *note Output Formats: Output |
Formats. |
|
`print' |
5937,7 → 5941,7
programming language you are using is valid in an expression in GDB. |
This includes conditional expressions, function calls, casts, and |
string constants. It also includes preprocessor macros, if you |
compiled your program to include this information; see *Note |
compiled your program to include this information; see *note |
Compilation::. |
|
GDB supports array constants in expressions input by the user. The |
6314,7 → 6318,7
---------- Footnotes ---------- |
|
(1) `b' cannot be used because these format letters are also used |
with the `x' command, where `b' stands for "byte"; see *Note Examining |
with the `x' command, where `b' stands for "byte"; see *note Examining |
Memory: Memory. |
|
|
6405,7 → 6409,7
`i' format also prints branch delay slot instructions, if any, beyond |
the count specified, which immediately follow the last instruction that |
is within the count. The command `disassemble' gives an alternative |
way of inspecting machine instructions; see *Note Source and Machine |
way of inspecting machine instructions; see *note Source and Machine |
Code: Machine Code. |
|
All the defaults for the arguments to `x' are designed to make it |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info-2
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
153,7 → 153,7
assumes that the innermost stack frame is selected; setting `$sp' is |
not allowed when other stack frames are selected. To pop entire frames |
off the stack, regardless of machine architecture, use `return'; see |
*Note Returning from a Function: Returning. |
*note Returning from a Function: Returning. |
|
|
File: gdb.info, Node: Floating Point Hardware, Next: Vector Unit, Prev: Registers, Up: Data |
213,7 → 213,7
system-specific. Depending on the configuration and operating system |
facilities, GDB may be able to show you this information. For remote |
targets, this functionality may further depend on the remote stub's |
support of the `qXfer:auxv:read' packet, see *Note qXfer auxiliary |
support of the `qXfer:auxv:read' packet, see *note qXfer auxiliary |
vector read::. |
|
`info auxv' |
228,7 → 228,7
On some targets, GDB can access operating-system-specific information |
and display it to user, without interpretation. For remote targets, |
this functionality depends on the remote stub's support of the |
`qXfer:osdata:read' packet, see *Note qXfer osdata read::. |
`qXfer:osdata:read' packet, see *note qXfer osdata read::. |
|
`info os' |
List the types of OS information available for the target. If the |
751,9 → 751,8
all finds. |
|
You can use strings as search values. Quote them with double-quotes |
(`"'). The string value is copied into the search pattern byte by |
byte, regardless of the endianness of the target and the size |
specification. |
(`"'). The string value is copied into the search pattern byte by byte, |
regardless of the endianness of the target and the size specification. |
|
The address of each match found is printed as well as a count of the |
number of matches found. |
912,7 → 911,7
definitions, or have no definition at all. If there is a current stack |
frame, GDB uses the macros in scope at that frame's source code line. |
Otherwise, GDB uses the macros in scope at the current listing location; |
see *Note List::. |
see *note List::. |
|
Whenever GDB evaluates an expression, it always expands any macro |
invocations present in the expression. GDB also provides the following |
1122,7 → 1121,7
how to collect trace data. This functionality is implemented in the |
remote stub; however, none of the stubs distributed with GDB support |
tracepoints as of this writing. The format of the remote packets used |
to implement tracepoints are described in *Note Tracepoint Packets::. |
to implement tracepoints are described in *note Tracepoint Packets::. |
|
It is also possible to get trace data from a file, in a manner |
reminiscent of corefiles; you specify the filename, and use `tfind' to |
2224,7 → 2223,7
be relocated and its symbols defined as if the overlay were at its |
mapped address. You can use GNU linker scripts to specify |
different load and relocation addresses for pieces of your |
program; see *Note Overlay Description: (ld.info)Overlay |
program; see *note Overlay Description: (ld.info)Overlay |
Description. |
|
* The procedure for loading executable files onto your system must |
2301,7 → 2300,7
`overlay auto' |
Enable "automatic" overlay debugging. In this mode, GDB consults |
a data structure the overlay manager maintains in the inferior to |
see which overlays are mapped. For details, see *Note Automatic |
see which overlays are mapped. For details, see *note Automatic |
Overlay Debugging::. |
|
`overlay load-target' |
3117,7 → 3116,7
explicit function signature to call an overloaded function, as in |
p 'foo(char,int)'('x', 13) |
|
The GDB command-completion facility can simplify this; see *Note |
The GDB command-completion facility can simplify this; see *note |
Command Completion: Completion. |
|
4. GDB understands variables declared as C++ references; you can use |
3247,7 → 3246,7
Enable overload resolution for C++ expression evaluation. The |
default is on. For overloaded functions, GDB evaluates the |
arguments and searches for a function whose signature matches the |
argument types, using the standard C++ conversion rules (see *Note |
argument types, using the standard C++ conversion rules (see *note |
C++ Expressions: C Plus Plus Expressions, for details). If it |
cannot find a match, it emits a message. |
|
3298,7 → 3297,7
|
In the PowerPC architecture, GDB provides a set of pseudo-registers |
to inspect `_Decimal128' values stored in floating point registers. |
See *Note PowerPC: PowerPC. for more details. |
See *note PowerPC: PowerPC. for more details. |
|
|
File: gdb.info, Node: D, Next: Objective-C, Prev: C, Up: Supported Languages |
3317,8 → 3316,8
------------------ |
|
This section provides information about some commands and command |
options that are useful for debugging Objective-C code. See also *Note |
info classes: Symbols, and *Note info selectors: Symbols, for a few |
options that are useful for debugging Objective-C code. See also *note |
info classes: Symbols, and *note info selectors: Symbols, for a few |
more commands specific to Objective-C support. |
|
* Menu: |
3451,7 → 3450,7
|
Fortran symbols are usually case-insensitive, so GDB by default uses |
case-insensitive matches for Fortran symbols. You can change that with |
the `set case-insensitive' command, see *Note Symbols::, for the |
the `set case-insensitive' command, see *note Symbols::, for the |
details. |
|
|
4423,7 → 4422,7
`break LINESPEC task TASKNO if ...' |
These commands are like the `break ... thread ...' command (*note |
Thread Stops::). LINESPEC specifies source lines, as described in |
*Note Specify Location::. |
*note Specify Location::. |
|
Use the qualifier `task TASKNO' with a breakpoint command to |
specify that you only want GDB to stop the program when a |
4718,7 → 4717,7
Symbol repeat is a local variable at frame offset -8, length 4. |
|
This command is especially useful for determining what data to |
collect during a "trace experiment", see *Note collect: Tracepoint |
collect during a "trace experiment", see *note collect: Tracepoint |
Actions. |
|
`info source' |
5009,8 → 5008,8
`jump LOCATION' |
Resume execution at line LINESPEC or at address given by LOCATION. |
Execution stops again immediately if there is a breakpoint there. |
*Note Specify Location::, for a description of the different |
forms of LINESPEC and LOCATION. It is common practice to use the |
*Note Specify Location::, for a description of the different forms |
of LINESPEC and LOCATION. It is common practice to use the |
`tbreak' command in conjunction with `jump'. *Note Setting |
Breakpoints: Set Breaks. |
|
5789,7 → 5788,7
supported only on some operating systems, notably those which use |
the ELF format for binary files and the GNU Binutils.) For more |
details about this feature, see the description of the `--build-id' |
command-line option in *Note Command Line Options: |
command-line option in *note Command Line Options: |
(ld.info)Options. The debug info file's name is not specified |
explicitly by the build ID, but can be computed from the build ID, |
see below. |
6253,7 → 6252,7
device drivers, or even basic I/O is available, although some |
simulators do provide these. For info about any |
processor-specific simulator details, see the appropriate section |
in *Note Embedded Processors: Embedded Processors. |
in *note Embedded Processors: Embedded Processors. |
|
|
Some configurations may include these targets as well: |
6608,8 → 6607,8
running. The `run' and `attach' commands instruct `gdbserver' to run |
or attach to a new program. The `run' command uses `set remote |
exec-file' (*note set remote exec-file::) to select the program to run. |
Command line arguments are supported, except for wildcard expansion |
and I/O redirection (*note Arguments::). |
Command line arguments are supported, except for wildcard expansion and |
I/O redirection (*note Arguments::). |
|
To start `gdbserver' without supplying an initial command to run or |
process ID to attach, use the `--multi' command line option. Then you |
6792,7 → 6791,7
|
This section documents the configuration options available when |
debugging remote programs. For the options related to the File I/O |
extensions of the remote protocol, see *Note system-call-allowed: |
extensions of the remote protocol, see *note system-call-allowed: |
system. |
|
`set remoteaddresssize BITS' |
6922,7 → 6921,7
can be set to `on' (the remote target supports this packet), `off' (the |
remote target does not support this packet), or `auto' (detect remote |
target support for this packet). They all default to `auto'. For more |
information about each packet, see *Note Remote Protocol::. |
information about each packet, see *note Remote Protocol::. |
|
During normal use, you should not have to use any of these commands. |
If you do, that may be a bug in your remote debugging stub, or a bug in |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info-3
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
204,7 → 204,7
|
There are various additional Cygwin-specific commands, described in |
this section. Working with DLLs that have no debugging symbols is |
described in *Note Non-debug DLL Symbols::. |
described in *note Non-debug DLL Symbols::. |
|
`info w32' |
This is a prefix of MS Windows-specific commands which print |
307,8 → 307,8
start the program -- either by setting a breakpoint or letting the |
program run once to completion. It is also possible to force GDB to |
load a particular DLL before starting the executable -- see the shared |
library information in *Note Files::, or the `dll-symbols' command in |
*Note Cygwin Native::. Currently, explicitly loading symbols from a |
library information in *note Files::, or the `dll-symbols' command in |
*note Cygwin Native::. Currently, explicitly loading symbols from a |
DLL with no debugging information will cause the symbol names to be |
duplicated in GDB's lookup table, which may adversely affect symbol |
lookup performance. |
1167,33 → 1167,48
21.3.6 OpenRISC 1000 |
-------------------- |
|
See OR1k Architecture document (`www.opencores.org') for more |
information about platform and commands. |
Previous versions of GDB supported remote connection via a proprietary |
JTAG protocol using the `target jtag' command. Support for this has now |
been dropped. |
|
`target jtag jtag://HOST:PORT' |
Connects to remote JTAG server. JTAG remote server can be either |
an or1ksim or JTAG server, connected via parallel port to the |
board. |
`target remote' |
This is now the only way to connect to a remote OpenRISC 1000 |
target. This is supported by "Or1ksim", the OpenRISC 1000 |
architectural simulator, and Verilator and Icarus Verilog |
simulations. "Remote serial protocol" servers are also available |
to drive various hardware implementations via JTAG. Connects to |
remote JTAG server. |
|
Example: `target jtag jtag://localhost:9999' |
Example: `target remote :51000' |
|
`or1ksim COMMAND' |
If connected to `or1ksim' OpenRISC 1000 Architectural Simulator, |
proprietary commands can be executed. |
`target sim' |
"Or1ksim", the OpenRISC 1000 architectural simulator is now |
incorporated within GDB as a simulator target. It is started in |
quiet mode with 8M of memory starting at address 0. It is possible |
to pass arguments to extend this configuration using the `-f' |
option to `target sim'. However for more complex use, the user is |
advised to run "Or1ksim" separately, with its own configuration |
file, and connect using `target remote' |
|
Example: `target sim' |
|
`info or1k spr' |
Displays spr groups. |
Displays groups. |
|
`info or1k spr GROUP' |
`info or1k spr GROUPNO' |
`info spr GROUP' |
`info spr GROUPNO' |
Displays register names in selected group. |
|
`info or1k spr GROUP REGISTER' |
`info or1k spr REGISTER' |
`info or1k spr GROUPNO REGISTERNO' |
`info or1k spr REGISTERNO' |
`info spr GROUP REGISTER' |
`info spr REGISTER' |
`info spr GROUPNO REGISTERNO' |
`info spr REGISTERNO' |
Shows information about specified spr register. |
|
Example: `info spr DRR' |
|
`DEBUG.DRR = SPR6_21 = 0 (0x0)' |
|
`spr GROUP REGISTER VALUE' |
`spr REGISTER VALUE' |
`spr GROUPNO REGISTERNO VALUE' |
1200,72 → 1215,32
`spr REGISTERNO VALUE' |
Writes VALUE to specified spr register. |
|
Some implementations of OpenRISC 1000 Architecture also have |
hardware trace. It is very similar to GDB trace, except it does not |
interfere with normal program execution and is thus much faster. |
Hardware breakpoints/watchpoint triggers can be set using: |
`$LEA/$LDATA' |
Load effective address/data |
Example: spr PICMR 0x24 |
|
`$SEA/$SDATA' |
Store effective address/data |
The use of `info' and `spr' commands is anachronistic. At some time |
in the future they will be replaced by `show spr' and `set spr'. |
|
`$AEA/$ADATA' |
Access effective address ($SEA or $LEA) or data ($SDATA/$LDATA) |
There are some known problems with the current implementation |
|
`$FETCH' |
Fetch data |
1. Some OpenRISC 1000 targets support hardware breakpoints and |
watchpoints. Consult the target documentation for details. GDB |
is not perfect in handling of watchpoints. It is possible to |
allocate hardware watchpoints and not discover until running that |
sufficient watchpoints are not available. It is also possible |
that GDB will report watchpoints being hit spuriously. This can |
be down to the assembly code having additional memory accesses |
that are not obviously reflected in the source code. |
|
When triggered, it can capture low level data, like: `PC', `LSEA', |
`LDATA', `SDATA', `READSPR', `WRITESPR', `INSTR'. |
2. The OpenRISC 1000 architecture has evolved since the first port of |
GDB. In particular the structure of the Unit Present register has |
changed and the CPU Configuration register has been added. The |
port of GDB version 7.2-or32-1.0rc1 uses the _current_ |
specification of the OpenRISC 1000. |
|
`htrace' commands: |
`hwatch CONDITIONAL' |
Set hardware watchpoint on combination of Load/Store Effective |
Address(es) or Data. For example: |
|
`hwatch ($LEA == my_var) && ($LDATA < 50) || ($SEA == my_var) && |
($SDATA >= 50)' |
Reports of bugs are much welcomed. Please report problems through the |
OpenRISC tracker at downloads (http://opencores.org/openrisc). |
|
`hwatch ($LEA == my_var) && ($LDATA < 50) || ($SEA == my_var) && |
($SDATA >= 50)' |
|
`htrace info' |
Display information about current HW trace configuration. |
|
`htrace trigger CONDITIONAL' |
Set starting criteria for HW trace. |
|
`htrace qualifier CONDITIONAL' |
Set acquisition qualifier for HW trace. |
|
`htrace stop CONDITIONAL' |
Set HW trace stopping criteria. |
|
`htrace record [DATA]*' |
Selects the data to be recorded, when qualifier is met and HW |
trace was triggered. |
|
`htrace enable' |
`htrace disable' |
Enables/disables the HW trace. |
|
`htrace rewind [FILENAME]' |
Clears currently recorded trace data. |
|
If filename is specified, new trace file is made and any newly |
collected data will be written there. |
|
`htrace print [START [LEN]]' |
Prints trace buffer, using current record configuration. |
|
`htrace mode continuous' |
Set continuous trace mode. |
|
`htrace mode suspend' |
Set suspend trace mode. |
|
|
|
File: gdb.info, Node: PowerPC Embedded, Next: Sparclet, Prev: PA, Up: Embedded Processors |
|
1815,8 → 1790,8
Set whether to automatically flush the software-managed cache. |
When set to `on', GDB will automatically cause the SPE |
software-managed cache to be flushed whenever SPE execution stops. |
This provides a consistent view of PowerPC memory that is |
accessed via the cache. If an application does not use the |
This provides a consistent view of PowerPC memory that is accessed |
via the cache. If an application does not use the |
software-managed cache, this option has no effect. |
|
`show spu auto-flush-cache' |
1849,7 → 1824,7
****************** |
|
You can alter the way GDB interacts with you by using the `set' |
command. For commands controlling how GDB displays data, see *Note |
command. For commands controlling how GDB displays data, see *note |
Print Settings: Print Settings. Other settings are described here. |
|
* Menu: |
2184,7 → 2159,7
|
Currently, the messages controlled by `set verbose' are those which |
announce that the symbol table for a source file is being read; see |
`symbol-file' in *Note Commands to Specify Files: Files. |
`symbol-file' in *note Commands to Specify Files: Files. |
|
`set verbose on' |
Enables GDB output of certain informational messages. |
2591,7 → 2566,7
infinite recursion and aborts the command. |
|
In addition to the above commands, user-defined commands frequently |
use control flow commands, described in *Note Command Files::. |
use control flow commands, described in *note Command Files::. |
|
When user-defined commands are executed, the commands of the |
definition are not printed. An error in any command stops execution of |
3028,7 → 3003,7
-- Function: execute command [from_tty] [to_string] |
Evaluate COMMAND, a string, as a GDB CLI command. If a GDB |
exception happens while COMMAND runs, it is translated as |
described in *Note Exception Handling: Exception Handling. |
described in *note Exception Handling: Exception Handling. |
|
FROM_TTY specifies whether GDB ought to consider this command as |
having originated from the user invoking it interactively. It |
3265,7 → 3240,7
ENCODING argument is not provided, or is an empty string, GDB |
will automatically select the encoding most suitable for the |
string type. For further information on encoding in GDB |
please see *Note Character Sets::. |
please see *note Character Sets::. |
|
If the optional LENGTH argument is given, the string will be |
fetched and encoded to the length of characters specified. If |
3857,7 → 3832,7
By default, a GDB command is repeated when the user enters a blank |
line at the command prompt. A command can suppress this behavior |
by invoking the `dont_repeat' method. This is similar to the user |
command `dont-repeat', see *Note dont-repeat: Define. |
command `dont-repeat', see *note dont-repeat: Define. |
|
-- Method on Command: invoke argument from_tty |
This method is called by GDB when this command is invoked. |
4357,9 → 4332,9
|
Within each frame, GDB maintains information on each block stored in |
that frame. These blocks are organized hierarchically, and are |
represented individually in Python as a `gdb.Block'. Please see *Note |
represented individually in Python as a `gdb.Block'. Please see *note |
Frames In Python::, for a more in-depth discussion on frames. |
Furthermore, see *Note Examining the Stack: Stack, for more detailed |
Furthermore, see *note Examining the Stack: Stack, for more detailed |
technical information on GDB's book-keeping of the stack. |
|
The following block-related functions are available in the `gdb' |
4545,7 → 4520,7
`gdb.Symtab'. Symbol table and line data for a frame is returned from |
the `find_sal' method in `gdb.Frame' object. *Note Frames In Python::. |
|
For more information on GDB's symbol table management, see *Note |
For more information on GDB's symbol table management, see *note |
Examining the Symbol Table: Symbols, for more information. |
|
A `gdb.Symtab_and_line' object has the following attributes: |
4923,7 → 4898,7
`mi' |
The newest GDB/MI interface (currently `mi2'). Used primarily by |
programs wishing to use GDB as a backend for a debugger GUI or an |
IDE. For more information, see *Note The GDB/MI Interface: GDB/MI. |
IDE. For more information, see *note The GDB/MI Interface: GDB/MI. |
|
`mi2' |
The current GDB/MI interface. |
7489,8 → 7464,8
|
Starts execution of the inferior from the beginning. The inferior |
executes until either a breakpoint is encountered or the program exits. |
In the latter case the output will include an exit code, if the |
program has exited exceptionally. |
In the latter case the output will include an exit code, if the program |
has exited exceptionally. |
|
When no option is specified, the current inferior is started. If the |
`--thread-group' option is specified, it should refer to a thread group |
8292,8 → 8267,7
........ |
|
-var-list-children [PRINT-VALUES] NAME [FROM TO] |
|
Return a list of the children of the specified variable object and |
Return a list of the children of the specified variable object and |
create variable objects for them, if they do not already exist. With a |
single argument or if PRINT-VALUES has a value of 0 or `--no-values', |
print only the names of the variables; if PRINT-VALUES is 1 or |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
42,512 → 42,512
|
|
Indirect: |
gdb.info-1: 1888 |
gdb.info-2: 297354 |
gdb.info-3: 596354 |
gdb.info-4: 902640 |
gdb.info-5: 1197690 |
gdb.info-6: 1307181 |
gdb.info-1: 1901 |
gdb.info-2: 297549 |
gdb.info-3: 596549 |
gdb.info-4: 902911 |
gdb.info-5: 1198305 |
gdb.info-6: 1307796 |
|
Tag Table: |
(Indirect) |
Node: Top1888 |
Node: Summary5015 |
Node: Free Software6720 |
Node: Contributors12288 |
Node: Sample Session20377 |
Node: Invocation27213 |
Node: Invoking GDB27757 |
Node: File Options30070 |
Node: Mode Options32807 |
Node: Startup39406 |
Ref: Startup-Footnote-141628 |
Node: Quitting GDB41737 |
Node: Shell Commands42634 |
Node: Logging Output43476 |
Node: Commands44322 |
Node: Command Syntax44960 |
Node: Completion47126 |
Ref: Completion-Footnote-152332 |
Node: Help52492 |
Node: Running57733 |
Node: Compilation58962 |
Node: Starting60939 |
Node: Arguments69829 |
Node: Environment71099 |
Node: Working Directory74367 |
Node: Input/Output75475 |
Node: Attach77446 |
Node: Kill Process79913 |
Node: Inferiors and Programs80894 |
Node: Threads88064 |
Node: Forks96442 |
Node: Checkpoint/Restart102750 |
Ref: Checkpoint/Restart-Footnote-1107279 |
Node: Stopping107314 |
Node: Breakpoints108473 |
Node: Set Breaks111909 |
Ref: Set Breaks-Footnote-1128201 |
Node: Set Watchpoints128449 |
Node: Set Catchpoints136458 |
Node: Delete Breaks145654 |
Node: Disabling147590 |
Node: Conditions150443 |
Node: Break Commands155392 |
Node: Save Breakpoints158616 |
Node: Error in Breakpoints159792 |
Node: Breakpoint-related Warnings160523 |
Node: Continuing and Stepping162850 |
Node: Signals172210 |
Ref: extra signal information176482 |
Node: Thread Stops177985 |
Node: All-Stop Mode179084 |
Node: Non-Stop Mode182982 |
Node: Background Execution186459 |
Node: Thread-Specific Breakpoints189028 |
Node: Interrupted System Calls190350 |
Node: Observer Mode191864 |
Node: Reverse Execution195303 |
Ref: Reverse Execution-Footnote-1199930 |
Ref: Reverse Execution-Footnote-2200557 |
Node: Process Record and Replay200607 |
Node: Stack207854 |
Node: Frames209347 |
Node: Backtrace212099 |
Ref: Backtrace-Footnote-1217330 |
Node: Selection217518 |
Node: Frame Info220382 |
Node: Source222713 |
Node: List223779 |
Node: Specify Location226392 |
Node: Edit229642 |
Ref: Edit-Footnote-1231117 |
Node: Search231352 |
Node: Source Path232160 |
Ref: set substitute-path238418 |
Node: Machine Code240639 |
Node: Data247313 |
Node: Expressions249983 |
Node: Ambiguous Expressions252075 |
Node: Variables255309 |
Node: Arrays259812 |
Node: Output Formats262343 |
Ref: Output Formats-Footnote-1265531 |
Node: Memory265688 |
Node: Auto Display271842 |
Node: Print Settings275557 |
Node: Pretty Printing289161 |
Node: Value History290198 |
Node: Convenience Vars292619 |
Node: Registers297354 |
Ref: Registers-Footnote-1302031 |
Node: Floating Point Hardware302426 |
Node: Vector Unit302958 |
Node: OS Information303345 |
Node: Memory Region Attributes305990 |
Node: Dump/Restore Files310660 |
Node: Core File Generation312965 |
Node: Character Sets314199 |
Node: Caching Remote Data320566 |
Ref: Caching Remote Data-Footnote-1322367 |
Node: Searching Memory322605 |
Node: Optimized Code325482 |
Node: Inline Functions327092 |
Node: Macros330062 |
Node: Tracepoints337165 |
Node: Set Tracepoints339226 |
Node: Create and Delete Tracepoints342165 |
Node: Enable and Disable Tracepoints347053 |
Node: Tracepoint Passcounts347837 |
Node: Tracepoint Conditions349264 |
Node: Trace State Variables350957 |
Node: Tracepoint Actions353147 |
Node: Listing Tracepoints358487 |
Node: Listing Static Tracepoint Markers359605 |
Node: Starting and Stopping Trace Experiments361451 |
Node: Tracepoint Restrictions365865 |
Node: Analyze Collected Data369618 |
Node: tfind370923 |
Node: tdump375345 |
Node: save tracepoints377860 |
Node: Tracepoint Variables378356 |
Node: Trace Files379484 |
Node: Overlays380942 |
Node: How Overlays Work381662 |
Ref: A code overlay384222 |
Node: Overlay Commands387660 |
Node: Automatic Overlay Debugging391850 |
Node: Overlay Sample Program393991 |
Node: Languages395751 |
Node: Setting396914 |
Node: Filenames398616 |
Node: Manually399427 |
Node: Automatically400636 |
Node: Show401697 |
Node: Checks403019 |
Node: Type Checking404409 |
Node: Range Checking407142 |
Node: Supported Languages409543 |
Node: C410753 |
Node: C Operators412044 |
Node: C Constants416363 |
Node: C Plus Plus Expressions418767 |
Node: C Defaults422310 |
Node: C Checks422993 |
Node: Debugging C423716 |
Node: Debugging C Plus Plus424200 |
Node: Decimal Floating Point427387 |
Node: D428646 |
Node: Objective-C428912 |
Node: Method Names in Commands429373 |
Node: The Print Command with Objective-C431068 |
Node: Fortran431719 |
Node: Fortran Operators432444 |
Node: Fortran Defaults433300 |
Node: Special Fortran Commands433685 |
Node: Pascal434191 |
Node: Modula-2434706 |
Node: M2 Operators435681 |
Node: Built-In Func/Proc438680 |
Node: M2 Constants441541 |
Node: M2 Types443142 |
Node: M2 Defaults446361 |
Node: Deviations446961 |
Node: M2 Checks448062 |
Node: M2 Scope448880 |
Node: GDB/M2449904 |
Node: Ada450816 |
Node: Ada Mode Intro451763 |
Node: Omissions from Ada453673 |
Node: Additions to Ada458027 |
Node: Stopping Before Main Program461957 |
Node: Ada Tasks462486 |
Node: Ada Tasks and Core Files468899 |
Node: Ada Glitches469812 |
Node: Unsupported Languages472879 |
Node: Symbols473569 |
Node: Altering487398 |
Node: Assignment488367 |
Node: Jumping491472 |
Node: Signaling493607 |
Node: Returning494738 |
Node: Calling498090 |
Node: Patching501117 |
Node: GDB Files502194 |
Node: Files502782 |
Ref: Shared Libraries515617 |
Ref: Files-Footnote-1525851 |
Node: Separate Debug Files526026 |
Node: Symbol Errors537598 |
Node: Data Files541220 |
Node: Targets542059 |
Node: Active Targets543539 |
Node: Target Commands545118 |
Ref: load549391 |
Node: Byte Order550372 |
Node: Remote Debugging551349 |
Node: Connecting552611 |
Node: File Transfer557551 |
Node: Server558491 |
Ref: Monitor Commands for gdbserver566141 |
Ref: Server-Footnote-1570690 |
Node: Remote Configuration570810 |
Ref: set remotebreak571834 |
Ref: set remote hardware-watchpoint-limit573298 |
Ref: set remote hardware-breakpoint-limit573298 |
Ref: set remote exec-file573580 |
Node: Remote Stub579783 |
Node: Stub Contents582680 |
Node: Bootstrapping584791 |
Node: Debug Session588600 |
Node: Configurations590160 |
Node: Native590929 |
Node: HP-UX591564 |
Node: BSD libkvm Interface591853 |
Node: SVR4 Process Information592924 |
Node: DJGPP Native596354 |
Node: Cygwin Native602934 |
Node: Non-debug DLL Symbols606883 |
Node: Hurd Native611431 |
Node: Neutrino616694 |
Node: Darwin617084 |
Node: Embedded OS618342 |
Node: VxWorks618818 |
Node: VxWorks Connection621035 |
Node: VxWorks Download621969 |
Node: VxWorks Attach623704 |
Node: Embedded Processors624102 |
Node: ARM625281 |
Node: M32R/D629402 |
Node: M68K631104 |
Node: MicroBlaze631397 |
Node: MIPS Embedded632847 |
Node: OpenRISC 1000637797 |
Node: PowerPC Embedded640652 |
Node: PA642544 |
Node: Sparclet642833 |
Node: Sparclet File644317 |
Node: Sparclet Connection645197 |
Node: Sparclet Download645675 |
Node: Sparclet Execution646724 |
Node: Sparclite647315 |
Node: Z8000647690 |
Node: AVR649074 |
Node: CRIS649437 |
Node: Super-H650415 |
Node: Architectures651530 |
Node: i386651952 |
Node: A29K652634 |
Node: Alpha653473 |
Node: MIPS653606 |
Node: HPPA656230 |
Node: SPU656749 |
Node: PowerPC658937 |
Node: Controlling GDB659655 |
Node: Prompt660481 |
Node: Editing661260 |
Node: Command History662203 |
Node: Screen Size665607 |
Node: Numbers667441 |
Node: ABI669418 |
Node: Messages/Warnings672347 |
Ref: confirmation requests673773 |
Node: Debugging Output674980 |
Node: Other Misc Settings680899 |
Node: Extending GDB681666 |
Node: Sequences683157 |
Node: Define683752 |
Node: Hooks687365 |
Node: Command Files689732 |
Node: Output694802 |
Node: Python699735 |
Node: Python Commands700590 |
Node: Python API702265 |
Node: Basic Python703924 |
Node: Exception Handling707856 |
Node: Values From Inferior709925 |
Node: Types In Python715522 |
Node: Pretty Printing API722996 |
Node: Selecting Pretty-Printers726895 |
Node: Disabling Pretty-Printers731007 |
Node: Inferiors In Python731881 |
Node: Threads In Python734441 |
Node: Commands In Python736167 |
Node: Parameters In Python744983 |
Node: Functions In Python749739 |
Node: Progspaces In Python751852 |
Node: Objfiles In Python753214 |
Node: Frames In Python754749 |
Node: Blocks In Python758143 |
Node: Symbols In Python759745 |
Node: Symbol Tables In Python764866 |
Node: Breakpoints In Python766525 |
Node: Lazy Strings In Python771496 |
Node: Auto-loading773770 |
Node: objfile-gdb.py file774845 |
Node: .debug_gdb_scripts section776100 |
Node: Which flavor to choose?777477 |
Node: Interpreters779294 |
Node: TUI781393 |
Node: TUI Overview782360 |
Node: TUI Keys784793 |
Node: TUI Single Key Mode787097 |
Node: TUI Commands787972 |
Node: TUI Configuration790356 |
Node: Emacs791652 |
Node: GDB/MI797129 |
Node: GDB/MI General Design798977 |
Node: Context management801500 |
Node: Asynchronous and non-stop modes804635 |
Node: Thread groups806627 |
Node: GDB/MI Command Syntax808905 |
Node: GDB/MI Input Syntax809148 |
Node: GDB/MI Output Syntax810702 |
Node: GDB/MI Compatibility with CLI814274 |
Node: GDB/MI Development and Front Ends815011 |
Node: GDB/MI Output Records816668 |
Node: GDB/MI Result Records817003 |
Node: GDB/MI Stream Records818009 |
Node: GDB/MI Async Records819274 |
Node: GDB/MI Frame Information825399 |
Node: GDB/MI Thread Information826477 |
Node: GDB/MI Simple Examples827415 |
Node: GDB/MI Command Description Format829592 |
Node: GDB/MI Breakpoint Commands830472 |
Node: GDB/MI Program Context848468 |
Node: GDB/MI Thread Commands852736 |
Node: GDB/MI Program Execution855614 |
Node: GDB/MI Stack Manipulation867395 |
Node: GDB/MI Variable Objects878089 |
Ref: -var-set-format887821 |
Ref: -var-list-children888939 |
Ref: -var-update897120 |
Ref: -var-set-frozen899817 |
Ref: -var-set-update-range900613 |
Ref: -var-set-visualizer901143 |
Node: GDB/MI Data Manipulation902640 |
Node: GDB/MI Tracepoint Commands917020 |
Node: GDB/MI Symbol Query924349 |
Node: GDB/MI File Commands925038 |
Node: GDB/MI Target Manipulation928375 |
Node: GDB/MI File Transfer Commands934597 |
Node: GDB/MI Miscellaneous Commands935919 |
Ref: -interpreter-exec945318 |
Node: Annotations947631 |
Node: Annotations Overview948550 |
Node: Server Prefix951013 |
Node: Prompting951747 |
Node: Errors953264 |
Node: Invalidation954160 |
Node: Annotations for Running954637 |
Node: Source Annotations956157 |
Node: JIT Interface957082 |
Node: Declarations958800 |
Node: Registering Code960187 |
Node: Unregistering Code961159 |
Node: GDB Bugs961760 |
Node: Bug Criteria962489 |
Node: Bug Reporting963366 |
Node: Command Line Editing970989 |
Node: Introduction and Notation971641 |
Node: Readline Interaction973261 |
Node: Readline Bare Essentials974450 |
Node: Readline Movement Commands976237 |
Node: Readline Killing Commands977200 |
Node: Readline Arguments979118 |
Node: Searching980160 |
Node: Readline Init File982309 |
Node: Readline Init File Syntax983372 |
Node: Conditional Init Constructs995304 |
Node: Sample Init File997835 |
Node: Bindable Readline Commands1000950 |
Node: Commands For Moving1002005 |
Node: Commands For History1002864 |
Node: Commands For Text1005986 |
Node: Commands For Killing1008710 |
Node: Numeric Arguments1010850 |
Node: Commands For Completion1011987 |
Node: Keyboard Macros1013529 |
Node: Miscellaneous Commands1014098 |
Node: Readline vi Mode1017457 |
Node: Using History Interactively1018374 |
Node: History Interaction1018889 |
Node: Event Designators1020311 |
Node: Word Designators1021244 |
Node: Modifiers1022881 |
Node: Formatting Documentation1024106 |
Ref: Formatting Documentation-Footnote-11027435 |
Node: Installing GDB1027499 |
Node: Requirements1028071 |
Ref: Expat1028640 |
Node: Running Configure1030775 |
Node: Separate Objdir1034314 |
Node: Config Names1037198 |
Node: Configure Options1038643 |
Node: System-wide configuration1041013 |
Node: Maintenance Commands1042308 |
Ref: maint info breakpoints1043492 |
Node: Remote Protocol1057527 |
Node: Overview1058089 |
Ref: Binary Data1060651 |
Node: Packets1062910 |
Ref: thread-id syntax1063810 |
Ref: extended mode1065255 |
Ref: bc1066976 |
Ref: bs1067186 |
Ref: read registers packet1068612 |
Ref: cycle step packet1069776 |
Ref: write register packet1071652 |
Ref: step with signal packet1072559 |
Ref: vStopped packet1078840 |
Ref: X packet1079183 |
Ref: insert breakpoint or watchpoint packet1079469 |
Node: Stop Reply Packets1082231 |
Node: General Query Packets1086971 |
Ref: QNonStop1095911 |
Ref: QPassSignals1096535 |
Ref: qSearch memory1098612 |
Ref: QStartNoAckMode1099110 |
Ref: qSupported1099640 |
Ref: multiprocess extensions1108362 |
Ref: qXfer read1112192 |
Ref: qXfer auxiliary vector read1112686 |
Ref: qXfer target description read1113035 |
Ref: qXfer library list read1113479 |
Ref: qXfer memory map read1114125 |
Ref: qXfer sdata read1114511 |
Ref: qXfer siginfo read1114975 |
Ref: qXfer spu read1115371 |
Ref: qXfer threads read1115894 |
Ref: qXfer osdata read1116287 |
Ref: qXfer write1117489 |
Ref: qXfer siginfo write1118046 |
Ref: qXfer spu write1118442 |
Ref: General Query Packets-Footnote-11120529 |
Node: Architecture-Specific Protocol Details1120856 |
Node: Tracepoint Packets1122369 |
Node: Host I/O Packets1138816 |
Node: Interrupts1142958 |
Node: Notification Packets1144861 |
Node: Remote Non-Stop1147132 |
Node: Packet Acknowledgment1151391 |
Node: Examples1153506 |
Node: File-I/O Remote Protocol Extension1154132 |
Node: File-I/O Overview1154594 |
Node: Protocol Basics1156791 |
Node: The F Request Packet1159023 |
Node: The F Reply Packet1159924 |
Node: The Ctrl-C Message1160842 |
Node: Console I/O1162471 |
Node: List of Supported Calls1163688 |
Node: open1164050 |
Node: close1166544 |
Node: read1166926 |
Node: write1167533 |
Node: lseek1168300 |
Node: rename1169178 |
Node: unlink1170574 |
Node: stat/fstat1171513 |
Node: gettimeofday1172400 |
Node: isatty1172835 |
Node: system1173431 |
Node: Protocol-specific Representation of Datatypes1174973 |
Node: Integral Datatypes1175350 |
Node: Pointer Values1176157 |
Node: Memory Transfer1176865 |
Node: struct stat1177485 |
Node: struct timeval1179687 |
Node: Constants1180204 |
Node: Open Flags1180653 |
Node: mode_t Values1180994 |
Node: Errno Values1181486 |
Node: Lseek Flags1182297 |
Node: Limits1182482 |
Node: File-I/O Examples1182842 |
Node: Library List Format1183958 |
Node: Memory Map Format1186722 |
Node: Thread List Format1189282 |
Node: Agent Expressions1190069 |
Node: General Bytecode Design1192890 |
Node: Bytecode Descriptions1197690 |
Node: Using Agent Expressions1209401 |
Node: Varying Target Capabilities1211379 |
Node: Rationale1212541 |
Node: Trace File Format1219927 |
Node: Target Descriptions1221908 |
Node: Retrieving Descriptions1223968 |
Node: Target Description Format1225053 |
Node: Predefined Target Types1234103 |
Node: Standard Target Features1235488 |
Node: ARM Features1237259 |
Node: i386 Features1238535 |
Node: MIPS Features1239644 |
Node: M68K Features1240589 |
Node: PowerPC Features1241252 |
Node: Operating System Information1242536 |
Node: Process list1243374 |
Node: Copying1244436 |
Node: GNU Free Documentation License1282023 |
Node: Index1307181 |
Node: Top1901 |
Node: Summary5040 |
Node: Free Software6745 |
Node: Contributors12313 |
Node: Sample Session20560 |
Node: Invocation27408 |
Node: Invoking GDB27952 |
Node: File Options30265 |
Node: Mode Options33002 |
Node: Startup39601 |
Ref: Startup-Footnote-141823 |
Node: Quitting GDB41932 |
Node: Shell Commands42829 |
Node: Logging Output43671 |
Node: Commands44517 |
Node: Command Syntax45155 |
Node: Completion47321 |
Ref: Completion-Footnote-152527 |
Node: Help52687 |
Node: Running57928 |
Node: Compilation59157 |
Node: Starting61134 |
Node: Arguments70024 |
Node: Environment71294 |
Node: Working Directory74562 |
Node: Input/Output75670 |
Node: Attach77641 |
Node: Kill Process80108 |
Node: Inferiors and Programs81089 |
Node: Threads88259 |
Node: Forks96637 |
Node: Checkpoint/Restart102945 |
Ref: Checkpoint/Restart-Footnote-1107474 |
Node: Stopping107509 |
Node: Breakpoints108668 |
Node: Set Breaks112104 |
Ref: Set Breaks-Footnote-1128396 |
Node: Set Watchpoints128644 |
Node: Set Catchpoints136653 |
Node: Delete Breaks145849 |
Node: Disabling147785 |
Node: Conditions150638 |
Node: Break Commands155587 |
Node: Save Breakpoints158811 |
Node: Error in Breakpoints159987 |
Node: Breakpoint-related Warnings160718 |
Node: Continuing and Stepping163045 |
Node: Signals172405 |
Ref: extra signal information176677 |
Node: Thread Stops178180 |
Node: All-Stop Mode179279 |
Node: Non-Stop Mode183177 |
Node: Background Execution186654 |
Node: Thread-Specific Breakpoints189223 |
Node: Interrupted System Calls190545 |
Node: Observer Mode192059 |
Node: Reverse Execution195498 |
Ref: Reverse Execution-Footnote-1200125 |
Ref: Reverse Execution-Footnote-2200752 |
Node: Process Record and Replay200802 |
Node: Stack208049 |
Node: Frames209542 |
Node: Backtrace212294 |
Ref: Backtrace-Footnote-1217525 |
Node: Selection217713 |
Node: Frame Info220577 |
Node: Source222908 |
Node: List223974 |
Node: Specify Location226587 |
Node: Edit229837 |
Ref: Edit-Footnote-1231312 |
Node: Search231547 |
Node: Source Path232355 |
Ref: set substitute-path238613 |
Node: Machine Code240834 |
Node: Data247508 |
Node: Expressions250178 |
Node: Ambiguous Expressions252270 |
Node: Variables255504 |
Node: Arrays260007 |
Node: Output Formats262538 |
Ref: Output Formats-Footnote-1265726 |
Node: Memory265883 |
Node: Auto Display272037 |
Node: Print Settings275752 |
Node: Pretty Printing289356 |
Node: Value History290393 |
Node: Convenience Vars292814 |
Node: Registers297549 |
Ref: Registers-Footnote-1302226 |
Node: Floating Point Hardware302621 |
Node: Vector Unit303153 |
Node: OS Information303540 |
Node: Memory Region Attributes306185 |
Node: Dump/Restore Files310855 |
Node: Core File Generation313160 |
Node: Character Sets314394 |
Node: Caching Remote Data320761 |
Ref: Caching Remote Data-Footnote-1322562 |
Node: Searching Memory322800 |
Node: Optimized Code325677 |
Node: Inline Functions327287 |
Node: Macros330257 |
Node: Tracepoints337360 |
Node: Set Tracepoints339421 |
Node: Create and Delete Tracepoints342360 |
Node: Enable and Disable Tracepoints347248 |
Node: Tracepoint Passcounts348032 |
Node: Tracepoint Conditions349459 |
Node: Trace State Variables351152 |
Node: Tracepoint Actions353342 |
Node: Listing Tracepoints358682 |
Node: Listing Static Tracepoint Markers359800 |
Node: Starting and Stopping Trace Experiments361646 |
Node: Tracepoint Restrictions366060 |
Node: Analyze Collected Data369813 |
Node: tfind371118 |
Node: tdump375540 |
Node: save tracepoints378055 |
Node: Tracepoint Variables378551 |
Node: Trace Files379679 |
Node: Overlays381137 |
Node: How Overlays Work381857 |
Ref: A code overlay384417 |
Node: Overlay Commands387855 |
Node: Automatic Overlay Debugging392045 |
Node: Overlay Sample Program394186 |
Node: Languages395946 |
Node: Setting397109 |
Node: Filenames398811 |
Node: Manually399622 |
Node: Automatically400831 |
Node: Show401892 |
Node: Checks403214 |
Node: Type Checking404604 |
Node: Range Checking407337 |
Node: Supported Languages409738 |
Node: C410948 |
Node: C Operators412239 |
Node: C Constants416558 |
Node: C Plus Plus Expressions418962 |
Node: C Defaults422505 |
Node: C Checks423188 |
Node: Debugging C423911 |
Node: Debugging C Plus Plus424395 |
Node: Decimal Floating Point427582 |
Node: D428841 |
Node: Objective-C429107 |
Node: Method Names in Commands429568 |
Node: The Print Command with Objective-C431263 |
Node: Fortran431914 |
Node: Fortran Operators432639 |
Node: Fortran Defaults433495 |
Node: Special Fortran Commands433880 |
Node: Pascal434386 |
Node: Modula-2434901 |
Node: M2 Operators435876 |
Node: Built-In Func/Proc438875 |
Node: M2 Constants441736 |
Node: M2 Types443337 |
Node: M2 Defaults446556 |
Node: Deviations447156 |
Node: M2 Checks448257 |
Node: M2 Scope449075 |
Node: GDB/M2450099 |
Node: Ada451011 |
Node: Ada Mode Intro451958 |
Node: Omissions from Ada453868 |
Node: Additions to Ada458222 |
Node: Stopping Before Main Program462152 |
Node: Ada Tasks462681 |
Node: Ada Tasks and Core Files469094 |
Node: Ada Glitches470007 |
Node: Unsupported Languages473074 |
Node: Symbols473764 |
Node: Altering487593 |
Node: Assignment488562 |
Node: Jumping491667 |
Node: Signaling493802 |
Node: Returning494933 |
Node: Calling498285 |
Node: Patching501312 |
Node: GDB Files502389 |
Node: Files502977 |
Ref: Shared Libraries515812 |
Ref: Files-Footnote-1526046 |
Node: Separate Debug Files526221 |
Node: Symbol Errors537793 |
Node: Data Files541415 |
Node: Targets542254 |
Node: Active Targets543734 |
Node: Target Commands545313 |
Ref: load549586 |
Node: Byte Order550567 |
Node: Remote Debugging551544 |
Node: Connecting552806 |
Node: File Transfer557746 |
Node: Server558686 |
Ref: Monitor Commands for gdbserver566336 |
Ref: Server-Footnote-1570885 |
Node: Remote Configuration571005 |
Ref: set remotebreak572029 |
Ref: set remote hardware-watchpoint-limit573493 |
Ref: set remote hardware-breakpoint-limit573493 |
Ref: set remote exec-file573775 |
Node: Remote Stub579978 |
Node: Stub Contents582875 |
Node: Bootstrapping584986 |
Node: Debug Session588795 |
Node: Configurations590355 |
Node: Native591124 |
Node: HP-UX591759 |
Node: BSD libkvm Interface592048 |
Node: SVR4 Process Information593119 |
Node: DJGPP Native596549 |
Node: Cygwin Native603129 |
Node: Non-debug DLL Symbols607078 |
Node: Hurd Native611626 |
Node: Neutrino616889 |
Node: Darwin617279 |
Node: Embedded OS618537 |
Node: VxWorks619013 |
Node: VxWorks Connection621230 |
Node: VxWorks Download622164 |
Node: VxWorks Attach623899 |
Node: Embedded Processors624297 |
Node: ARM625476 |
Node: M32R/D629597 |
Node: M68K631299 |
Node: MicroBlaze631592 |
Node: MIPS Embedded633042 |
Node: OpenRISC 1000637992 |
Node: PowerPC Embedded640927 |
Node: PA642819 |
Node: Sparclet643108 |
Node: Sparclet File644592 |
Node: Sparclet Connection645472 |
Node: Sparclet Download645950 |
Node: Sparclet Execution646999 |
Node: Sparclite647590 |
Node: Z8000647965 |
Node: AVR649349 |
Node: CRIS649712 |
Node: Super-H650690 |
Node: Architectures651805 |
Node: i386652227 |
Node: A29K652909 |
Node: Alpha653748 |
Node: MIPS653881 |
Node: HPPA656505 |
Node: SPU657024 |
Node: PowerPC659212 |
Node: Controlling GDB659930 |
Node: Prompt660756 |
Node: Editing661535 |
Node: Command History662478 |
Node: Screen Size665882 |
Node: Numbers667716 |
Node: ABI669693 |
Node: Messages/Warnings672622 |
Ref: confirmation requests674048 |
Node: Debugging Output675255 |
Node: Other Misc Settings681174 |
Node: Extending GDB681941 |
Node: Sequences683432 |
Node: Define684027 |
Node: Hooks687640 |
Node: Command Files690007 |
Node: Output695077 |
Node: Python700010 |
Node: Python Commands700865 |
Node: Python API702540 |
Node: Basic Python704199 |
Node: Exception Handling708131 |
Node: Values From Inferior710200 |
Node: Types In Python715797 |
Node: Pretty Printing API723271 |
Node: Selecting Pretty-Printers727170 |
Node: Disabling Pretty-Printers731282 |
Node: Inferiors In Python732156 |
Node: Threads In Python734716 |
Node: Commands In Python736442 |
Node: Parameters In Python745258 |
Node: Functions In Python750014 |
Node: Progspaces In Python752127 |
Node: Objfiles In Python753489 |
Node: Frames In Python755024 |
Node: Blocks In Python758418 |
Node: Symbols In Python760020 |
Node: Symbol Tables In Python765141 |
Node: Breakpoints In Python766800 |
Node: Lazy Strings In Python771771 |
Node: Auto-loading774045 |
Node: objfile-gdb.py file775120 |
Node: .debug_gdb_scripts section776375 |
Node: Which flavor to choose?777752 |
Node: Interpreters779569 |
Node: TUI781668 |
Node: TUI Overview782635 |
Node: TUI Keys785068 |
Node: TUI Single Key Mode787372 |
Node: TUI Commands788247 |
Node: TUI Configuration790631 |
Node: Emacs791927 |
Node: GDB/MI797404 |
Node: GDB/MI General Design799252 |
Node: Context management801775 |
Node: Asynchronous and non-stop modes804910 |
Node: Thread groups806902 |
Node: GDB/MI Command Syntax809180 |
Node: GDB/MI Input Syntax809423 |
Node: GDB/MI Output Syntax810977 |
Node: GDB/MI Compatibility with CLI814549 |
Node: GDB/MI Development and Front Ends815286 |
Node: GDB/MI Output Records816943 |
Node: GDB/MI Result Records817278 |
Node: GDB/MI Stream Records818284 |
Node: GDB/MI Async Records819549 |
Node: GDB/MI Frame Information825674 |
Node: GDB/MI Thread Information826752 |
Node: GDB/MI Simple Examples827690 |
Node: GDB/MI Command Description Format829867 |
Node: GDB/MI Breakpoint Commands830747 |
Node: GDB/MI Program Context848743 |
Node: GDB/MI Thread Commands853011 |
Node: GDB/MI Program Execution855889 |
Node: GDB/MI Stack Manipulation867670 |
Node: GDB/MI Variable Objects878364 |
Ref: -var-set-format888096 |
Ref: -var-list-children889214 |
Ref: -var-update897391 |
Ref: -var-set-frozen900088 |
Ref: -var-set-update-range900884 |
Ref: -var-set-visualizer901414 |
Node: GDB/MI Data Manipulation902911 |
Node: GDB/MI Tracepoint Commands917291 |
Node: GDB/MI Symbol Query924620 |
Node: GDB/MI File Commands925309 |
Node: GDB/MI Target Manipulation928646 |
Node: GDB/MI File Transfer Commands934868 |
Node: GDB/MI Miscellaneous Commands936190 |
Ref: -interpreter-exec945589 |
Node: Annotations947898 |
Node: Annotations Overview948817 |
Node: Server Prefix951280 |
Node: Prompting952014 |
Node: Errors953531 |
Node: Invalidation954427 |
Node: Annotations for Running954904 |
Node: Source Annotations956424 |
Node: JIT Interface957349 |
Node: Declarations959067 |
Node: Registering Code960454 |
Node: Unregistering Code961426 |
Node: GDB Bugs962027 |
Node: Bug Criteria962756 |
Node: Bug Reporting963633 |
Node: Command Line Editing971256 |
Node: Introduction and Notation971908 |
Node: Readline Interaction973528 |
Node: Readline Bare Essentials974717 |
Node: Readline Movement Commands976504 |
Node: Readline Killing Commands977467 |
Node: Readline Arguments979385 |
Node: Searching980427 |
Node: Readline Init File982576 |
Node: Readline Init File Syntax983639 |
Node: Conditional Init Constructs995571 |
Node: Sample Init File998102 |
Node: Bindable Readline Commands1001217 |
Node: Commands For Moving1002272 |
Node: Commands For History1003131 |
Node: Commands For Text1006253 |
Node: Commands For Killing1008977 |
Node: Numeric Arguments1011117 |
Node: Commands For Completion1012254 |
Node: Keyboard Macros1013796 |
Node: Miscellaneous Commands1014365 |
Node: Readline vi Mode1017724 |
Node: Using History Interactively1018641 |
Node: History Interaction1019156 |
Node: Event Designators1020578 |
Node: Word Designators1021511 |
Node: Modifiers1023148 |
Node: Formatting Documentation1024373 |
Ref: Formatting Documentation-Footnote-11027750 |
Node: Installing GDB1027838 |
Node: Requirements1028410 |
Ref: Expat1028979 |
Node: Running Configure1031114 |
Node: Separate Objdir1034833 |
Node: Config Names1037789 |
Node: Configure Options1039258 |
Node: System-wide configuration1041628 |
Node: Maintenance Commands1042923 |
Ref: maint info breakpoints1044107 |
Node: Remote Protocol1058142 |
Node: Overview1058704 |
Ref: Binary Data1061266 |
Node: Packets1063525 |
Ref: thread-id syntax1064425 |
Ref: extended mode1065870 |
Ref: bc1067591 |
Ref: bs1067801 |
Ref: read registers packet1069227 |
Ref: cycle step packet1070391 |
Ref: write register packet1072267 |
Ref: step with signal packet1073174 |
Ref: vStopped packet1079455 |
Ref: X packet1079798 |
Ref: insert breakpoint or watchpoint packet1080084 |
Node: Stop Reply Packets1082846 |
Node: General Query Packets1087586 |
Ref: QNonStop1096526 |
Ref: QPassSignals1097150 |
Ref: qSearch memory1099227 |
Ref: QStartNoAckMode1099725 |
Ref: qSupported1100255 |
Ref: multiprocess extensions1108977 |
Ref: qXfer read1112807 |
Ref: qXfer auxiliary vector read1113301 |
Ref: qXfer target description read1113650 |
Ref: qXfer library list read1114094 |
Ref: qXfer memory map read1114740 |
Ref: qXfer sdata read1115126 |
Ref: qXfer siginfo read1115590 |
Ref: qXfer spu read1115986 |
Ref: qXfer threads read1116509 |
Ref: qXfer osdata read1116902 |
Ref: qXfer write1118104 |
Ref: qXfer siginfo write1118661 |
Ref: qXfer spu write1119057 |
Ref: General Query Packets-Footnote-11121144 |
Node: Architecture-Specific Protocol Details1121471 |
Node: Tracepoint Packets1122984 |
Node: Host I/O Packets1139431 |
Node: Interrupts1143573 |
Node: Notification Packets1145476 |
Node: Remote Non-Stop1147747 |
Node: Packet Acknowledgment1152006 |
Node: Examples1154121 |
Node: File-I/O Remote Protocol Extension1154747 |
Node: File-I/O Overview1155209 |
Node: Protocol Basics1157406 |
Node: The F Request Packet1159638 |
Node: The F Reply Packet1160539 |
Node: The Ctrl-C Message1161457 |
Node: Console I/O1163086 |
Node: List of Supported Calls1164303 |
Node: open1164665 |
Node: close1167159 |
Node: read1167541 |
Node: write1168148 |
Node: lseek1168915 |
Node: rename1169793 |
Node: unlink1171189 |
Node: stat/fstat1172128 |
Node: gettimeofday1173015 |
Node: isatty1173450 |
Node: system1174046 |
Node: Protocol-specific Representation of Datatypes1175588 |
Node: Integral Datatypes1175965 |
Node: Pointer Values1176772 |
Node: Memory Transfer1177480 |
Node: struct stat1178100 |
Node: struct timeval1180302 |
Node: Constants1180819 |
Node: Open Flags1181268 |
Node: mode_t Values1181609 |
Node: Errno Values1182101 |
Node: Lseek Flags1182912 |
Node: Limits1183097 |
Node: File-I/O Examples1183457 |
Node: Library List Format1184573 |
Node: Memory Map Format1187337 |
Node: Thread List Format1189897 |
Node: Agent Expressions1190684 |
Node: General Bytecode Design1193505 |
Node: Bytecode Descriptions1198305 |
Node: Using Agent Expressions1210016 |
Node: Varying Target Capabilities1211994 |
Node: Rationale1213156 |
Node: Trace File Format1220542 |
Node: Target Descriptions1222523 |
Node: Retrieving Descriptions1224583 |
Node: Target Description Format1225668 |
Node: Predefined Target Types1234718 |
Node: Standard Target Features1236103 |
Node: ARM Features1237874 |
Node: i386 Features1239150 |
Node: MIPS Features1240259 |
Node: M68K Features1241204 |
Node: PowerPC Features1241867 |
Node: Operating System Information1243151 |
Node: Process list1243989 |
Node: Copying1245051 |
Node: GNU Free Documentation License1282638 |
Node: Index1307796 |
|
End Tag Table |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info-4
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
199,7 → 199,7
....... |
|
In the following example, the numbers that precede the commands are the |
"tokens" described in *Note GDB/MI Command Syntax: GDB/MI Command |
"tokens" described in *note GDB/MI Command Syntax: GDB/MI Command |
Syntax. Notice how GDB/MI returns the same tokens in its output. |
|
211-data-evaluate-expression A |
493,7 → 493,7
================================ |
|
The commands defined in this section implement MI support for |
tracepoints. For detailed introduction, see *Note Tracepoints::. |
tracepoints. For detailed introduction, see *note Tracepoints::. |
|
The `-trace-find' Command |
------------------------- |
505,7 → 505,7
|
Find a trace frame using criteria defined by MODE and PARAMETERS. |
The following table lists permissible modes and their parameters. For |
details of operation, see *Note tfind::. |
details of operation, see *note tfind::. |
|
`none' |
No parameters are required. Stops examining trace frames. |
1538,9 → 1538,8
-------- |
|
-interpreter-exec INTERPRETER COMMAND |
Execute the specified COMMAND in the given INTERPRETER. |
|
Execute the specified COMMAND in the given INTERPRETER. |
|
GDB Command |
----------- |
|
3717,18 → 3716,19
|
GDB includes an already formatted copy of the on-line Info version |
of this manual in the `gdb' subdirectory. The main Info file is |
`gdb-7.2/gdb/gdb.info', and it refers to subordinate files matching |
`gdb.info*' in the same directory. If necessary, you can print out |
these files, or read them with any editor; but they are easier to read |
using the `info' subsystem in GNU Emacs or the standalone `info' |
program, available as part of the GNU Texinfo distribution. |
`gdb-7.2-or32-1.0rc1/gdb/gdb.info', and it refers to subordinate files |
matching `gdb.info*' in the same directory. If necessary, you can |
print out these files, or read them with any editor; but they are |
easier to read using the `info' subsystem in GNU Emacs or the |
standalone `info' program, available as part of the GNU Texinfo |
distribution. |
|
If you want to format these Info files yourself, you need one of the |
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'. |
|
If you have `makeinfo' installed, and are in the top level GDB |
source directory (`gdb-7.2', in the case of version 7.2), you can make |
the Info file by typing: |
source directory (`gdb-7.2-or32-1.0rc1', in the case of version |
7.2-or32-1.0rc1), you can make the Info file by typing: |
|
cd gdb |
make gdb.info |
3753,7 → 3753,8
|
If you have TeX and a DVI printer program installed, you can typeset |
and print this manual. First switch to the `gdb' subdirectory of the |
main source directory (for example, to `gdb-7.2/gdb') and type: |
main source directory (for example, to `gdb-7.2-or32-1.0rc1/gdb') and |
type: |
|
make gdb.dvi |
|
3761,7 → 3762,8
|
---------- Footnotes ---------- |
|
(1) In `gdb-7.2/gdb/refcard.ps' of the version 7.2 release. |
(1) In `gdb-7.2-or32-1.0rc1/gdb/refcard.ps' of the version |
7.2-or32-1.0rc1 release. |
|
|
File: gdb.info, Node: Installing GDB, Next: Maintenance Commands, Prev: Formatting Documentation, Up: Top |
3860,39 → 3862,39
in a single directory, whose name is usually composed by appending the |
version number to `gdb'. |
|
For example, the GDB version 7.2 distribution is in the `gdb-7.2' |
directory. That directory contains: |
For example, the GDB version 7.2-or32-1.0rc1 distribution is in the |
`gdb-7.2-or32-1.0rc1' directory. That directory contains: |
|
`gdb-7.2/configure (and supporting files)' |
`gdb-7.2-or32-1.0rc1/configure (and supporting files)' |
script for configuring GDB and all its supporting libraries |
|
`gdb-7.2/gdb' |
`gdb-7.2-or32-1.0rc1/gdb' |
the source specific to GDB itself |
|
`gdb-7.2/bfd' |
`gdb-7.2-or32-1.0rc1/bfd' |
source for the Binary File Descriptor library |
|
`gdb-7.2/include' |
`gdb-7.2-or32-1.0rc1/include' |
GNU include files |
|
`gdb-7.2/libiberty' |
`gdb-7.2-or32-1.0rc1/libiberty' |
source for the `-liberty' free software library |
|
`gdb-7.2/opcodes' |
`gdb-7.2-or32-1.0rc1/opcodes' |
source for the library of opcode tables and disassemblers |
|
`gdb-7.2/readline' |
`gdb-7.2-or32-1.0rc1/readline' |
source for the GNU command-line interface |
|
`gdb-7.2/glob' |
`gdb-7.2-or32-1.0rc1/glob' |
source for the GNU filename pattern-matching subroutine |
|
`gdb-7.2/mmalloc' |
`gdb-7.2-or32-1.0rc1/mmalloc' |
source for the GNU memory-mapped malloc package |
|
The simplest way to configure and build GDB is to run `configure' |
from the `gdb-VERSION-NUMBER' source directory, which in this example |
is the `gdb-7.2' directory. |
is the `gdb-7.2-or32-1.0rc1' directory. |
|
First switch to the `gdb-VERSION-NUMBER' source directory if you are |
not already in it; then run `configure'. Pass the identifier for the |
3900,7 → 3902,7
|
For example: |
|
cd gdb-7.2 |
cd gdb-7.2-or32-1.0rc1 |
./configure HOST |
make |
|
3921,10 → 3923,10
sh configure HOST |
|
If you run `configure' from a directory that contains source |
directories for multiple libraries or programs, such as the `gdb-7.2' |
source directory for version 7.2, `configure' creates configuration |
files for every directory level underneath (unless you tell it not to, |
with the `--norecursion' option). |
directories for multiple libraries or programs, such as the |
`gdb-7.2-or32-1.0rc1' source directory for version 7.2-or32-1.0rc1, |
`configure' creates configuration files for every directory level |
underneath (unless you tell it not to, with the `--norecursion' option). |
|
You should run the `configure' script from the top directory in the |
source tree, the `gdb-VERSION-NUMBER' directory. If you run |
3963,13 → 3965,13
argument to `--srcdir', you can leave out the `--srcdir' option; it is |
assumed.) |
|
For example, with version 7.2, you can build GDB in a separate |
directory for a Sun 4 like this: |
For example, with version 7.2-or32-1.0rc1, you can build GDB in a |
separate directory for a Sun 4 like this: |
|
cd gdb-7.2 |
cd gdb-7.2-or32-1.0rc1 |
mkdir ../gdb-sun4 |
cd ../gdb-sun4 |
../gdb-7.2/configure sun4 |
../gdb-7.2-or32-1.0rc1/configure sun4 |
make |
|
When `configure' builds a configuration using a remote source |
3980,9 → 3982,9
|
Make sure that your path to the `configure' script has just one |
instance of `gdb' in it. If your path to `configure' looks like |
`../gdb-7.2/gdb/configure', you are configuring only one subdirectory |
of GDB, not the whole package. This leads to build errors about |
missing include files such as `bfd/bfd.h'. |
`../gdb-7.2-or32-1.0rc1/gdb/configure', you are configuring only one |
subdirectory of GDB, not the whole package. This leads to build errors |
about missing include files such as `bfd/bfd.h'. |
|
One popular reason to build several GDB configurations in separate |
directories is to configure GDB for cross-compiling (where GDB runs on |
3996,9 → 3998,9
|
The `Makefile' that `configure' generates in each source directory |
also runs recursively. If you type `make' in a source directory such |
as `gdb-7.2' (or in a separate configured directory configured with |
`--srcdir=DIRNAME/gdb-7.2'), you will build all the required libraries, |
and then build GDB. |
as `gdb-7.2-or32-1.0rc1' (or in a separate configured directory |
configured with `--srcdir=DIRNAME/gdb-7.2-or32-1.0rc1'), you will build |
all the required libraries, and then build GDB. |
|
When you have multiple hosts or targets configured in separate |
directories, you can run `make' on them in parallel (for example, if |
4042,7 → 4044,7
Invalid configuration `i986v': machine `i986v' not recognized |
|
`config.sub' is also distributed in the GDB source directory |
(`gdb-7.2', for version 7.2). |
(`gdb-7.2-or32-1.0rc1', for version 7.2-or32-1.0rc1). |
|
|
File: gdb.info, Node: Configure Options, Next: System-wide configuration, Prev: Config Names, Up: Installing GDB |
4150,7 → 4152,7
In addition to commands intended for GDB users, GDB includes a number |
of commands intended for GDB developers, that are not documented |
elsewhere in this manual. These commands are provided here for |
reference. (For commands that turn on debugging messages, see *Note |
reference. (For commands that turn on debugging messages, see *note |
Debugging Output::.) |
|
`maint agent EXPRESSION' |
4545,7 → 4547,7
transmitted and received data, respectively. |
|
All GDB commands and responses (other than acknowledgments and |
notifications, see *Note Notification Packets::) are sent as a PACKET. |
notifications, see *note Notification Packets::) are sent as a PACKET. |
A PACKET is introduced with the character `$', the actual PACKET-DATA, |
and the terminating character `#' followed by a two-digit CHECKSUM: |
|
4577,7 → 4579,7
and continue COMMANDs, the response is only sent when the operation has |
completed, and the target has again stopped all threads in all attached |
processes. This is the default all-stop mode behavior, but the remote |
protocol also supports GDB's non-stop execution mode; see *Note Remote |
protocol also supports GDB's non-stop execution mode; see *note Remote |
Non-Stop::, for details. |
|
PACKET-DATA consists of a sequence of characters with the exception |
4649,10 → 4651,10
syntax, followed by an explanation of the packet's meaning. We include |
spaces in some of the templates for clarity; these are not part of the |
packet's syntax. No GDB packet uses spaces to separate its components. |
For example, a template like `foo BAR BAZ' describes a packet |
beginning with the three ASCII bytes `foo', followed by a BAR, followed |
directly by a BAZ. GDB does not transmit a space character between the |
`foo' and the BAR, or between the BAR and the BAZ. |
For example, a template like `foo BAR BAZ' describes a packet beginning |
with the three ASCII bytes `foo', followed by a BAR, followed directly |
by a BAZ. GDB does not transmit a space character between the `foo' |
and the BAR, or between the BAR and the BAZ. |
|
Several packets and replies include a THREAD-ID field to identify a |
thread. Normally these are positive numbers with a target-specific |
4694,7 → 4696,7
`?' |
Indicate the reason the target halted. The reply is the same as |
for step and continue. This packet has a special interpretation |
when the target is in non-stop mode; see *Note Remote Non-Stop::. |
when the target is in non-stop mode; see *note Remote Non-Stop::. |
|
Reply: *Note Stop Reply Packets::, for the reply specifications. |
|
4816,7 → 4818,7
C depends on the operation to be performed: it should be `c' for |
step and continue operations, `g' for other operations. The |
thread designator THREAD-ID has the format and interpretation |
described in *Note thread-id syntax::. |
described in *note thread-id syntax::. |
|
Reply: |
`OK' |
4904,7 → 4906,7
`q NAME PARAMS...' |
`Q NAME PARAMS...' |
General query (`q') and set (`Q'). These packets are described |
fully in *Note General Query Packets::. |
fully in *note General Query Packets::. |
|
`r' |
Reset the entire system. |
4979,7 → 4981,7
stopped in all-stop mode and in their current state in non-stop |
mode. Specifying multiple default actions is an error; specifying |
no actions is also an error. Thread IDs are specified using the |
syntax described in *Note thread-id syntax::. |
syntax described in *note thread-id syntax::. |
|
Currently supported actions are: |
|
5026,7 → 5028,7
|
`vFile:OPERATION:PARAMETER...' |
Perform a file operation on the target system. For details, see |
*Note Host I/O Packets::. |
*note Host I/O Packets::. |
|
`vFlashErase:ADDR,LENGTH' |
Direct the stub to erase LENGTH bytes of flash starting at ADDR. |
5084,7 → 5086,7
Kill the process with the specified process ID. PID is a |
hexadecimal integer identifying the process. This packet is used |
in preference to `k' when multiprocess protocol extensions are |
supported; see *Note multiprocess extensions::. |
supported; see *note multiprocess extensions::. |
|
Reply: |
`E NN' |
5159,7 → 5161,7
target-specific and typically indicates the size of the breakpoint |
in bytes that should be inserted. E.g., the ARM and MIPS can |
insert either a 2 or 4 byte breakpoint. Some architectures have |
additional meanings for KIND; see *Note Architecture-Specific |
additional meanings for KIND; see *note Architecture-Specific |
Protocol Details::. |
|
_Implementation note: It is possible for a target to copy or move |
5280,7 → 5282,7
two-digit hex number. |
|
* If N is `thread', then R is the THREAD-ID of the stopped |
thread, as specified in *Note thread-id syntax::. |
thread, as specified in *note thread-id syntax::. |
|
* If N is `core', then R is the hexadecimal number of the core |
on which the stop event was detected. |
5320,7 → 5322,7
|
The second form of the response, including the process ID of the |
exited process, can be used only when GDB has reported support for |
multiprocess protocol extensions; see *Note multiprocess |
multiprocess protocol extensions; see *note multiprocess |
extensions::. The PID is formatted as a big-endian hex string. |
|
`X AA' |
5329,7 → 5331,7
|
The second form of the response, including the process ID of the |
terminated process, can be used only when GDB has reported support |
for multiprocess protocol extensions; see *Note multiprocess |
for multiprocess protocol extensions; see *note multiprocess |
extensions::. The PID is formatted as a big-endian hex string. |
|
`O XX...' |
5412,7 → 5414,7
|
Reply: |
`QC THREAD-ID' |
Where THREAD-ID is a thread ID as documented in *Note |
Where THREAD-ID is a thread ID as documented in *note |
thread-id syntax::. |
|
`(anything else)' |
5464,7 → 5466,7
one or more thread IDs, separated by commas. GDB will respond to |
each reply with a request for more thread ids (using the `qs' form |
of the query), until the target responds with `l' (lower-case ell, |
for "last"). Refer to *Note thread-id syntax::, for the format of |
for "last"). Refer to *note thread-id syntax::, for the format of |
the THREAD-ID fields. |
|
`qGetTLSAddr:THREAD-ID,OFFSET,LM' |
5964,7 → 5966,7
|
`qThreadExtraInfo,THREAD-ID' |
Obtain a printable string description of a thread's attributes from |
the target OS. THREAD-ID is a thread ID; see *Note thread-id |
the target OS. THREAD-ID is a thread ID; see *note thread-id |
syntax::. This string may contain anything that the target OS |
thinks is interesting for GDB to tell the user about the thread. |
The string is displayed in GDB's `info threads' display. Some |
6214,7 → 6216,7
========================================== |
|
This section describes how the remote protocol is applied to specific |
target architectures. Also see *Note Standard Target Features::, for |
target architectures. Also see *note Standard Target Features::, for |
details of XML target descriptions for each architecture. |
|
D.5.1 ARM |
6328,7 → 6330,7
|
`X LEN,EXPR' |
Evaluate EXPR, whose length is LEN, and collect memory as it |
directs. EXPR is an agent expression, as described in *Note |
directs. EXPR is an agent expression, as described in *note |
Agent Expressions::. Each byte of the expression is encoded |
as a two-digit hex number in the packet; LEN is the number of |
bytes in the expression (and thus one-half the number of hex |
6339,10 → 6341,10
packet, as long as the packet does not exceed the maximum packet |
length (400 bytes, for many stubs). There may be only one `R' |
action per tracepoint, and it must precede any `M' or `X' actions. |
Any registers referred to by `M' and `X' actions must be |
collected by a preceding `R' action. (The "while-stepping" |
actions are treated as if they were attached to a separate |
tracepoint, as far as these restrictions are concerned.) |
Any registers referred to by `M' and `X' actions must be collected |
by a preceding `R' action. (The "while-stepping" actions are |
treated as if they were attached to a separate tracepoint, as far |
as these restrictions are concerned.) |
|
Replies: |
`OK' |
6738,11 → 6740,11
|
`vFile:pwrite: FD, OFFSET, DATA' |
Write DATA (a binary buffer) to the open file corresponding to FD. |
Start the write at OFFSET from the start of the file. Unlike |
many `write' system calls, there is no separate COUNT argument; |
the length of DATA in the packet is used. `vFile:write' returns |
the number of bytes written, which may be shorter than the length |
of DATA, or -1 if an error occurred. |
Start the write at OFFSET from the start of the file. Unlike many |
`write' system calls, there is no separate COUNT argument; the |
length of DATA in the packet is used. `vFile:write' returns the |
number of bytes written, which may be shorter than the length of |
DATA, or -1 if an error occurred. |
|
`vFile:unlink: PATHNAME' |
Delete the file at PATHNAME on the target. Return 0, or -1 if an |
6832,8 → 6834,8
|
`Stop: REPLY' |
Report an asynchronous stop event in non-stop mode. The REPLY has |
the form of a stop reply, as described in *Note Stop Reply |
Packets::. Refer to *Note Remote Non-Stop::, for information on |
the form of a stop reply, as described in *note Stop Reply |
Packets::. Refer to *note Remote Non-Stop::, for information on |
how these notifications are acknowledged by GDB. |
|
|
6843,7 → 6845,7
============================================== |
|
GDB's remote protocol supports non-stop debugging of multi-threaded |
programs, as described in *Note Non-Stop Mode::. If the stub supports |
programs, as described in *note Non-Stop Mode::. If the stub supports |
non-stop mode, it should report that to GDB by including `QNonStop+' in |
its `qSupported' response (*note qSupported::). |
|
6933,7 → 6935,7
|
When in no-acknowledgment mode, neither the stub nor GDB shall send |
or expect `+'/`-' protocol acknowledgments. The packet and response |
format still includes the normal checksum, as described in *Note |
format still includes the normal checksum, as described in *note |
Overview::, but the checksum may be ignored by the receiver. |
|
If the stub supports `QStartNoAckMode' and prefers to operate in |
7827,7 → 7829,7
}; |
|
The integral datatypes conform to the definitions given in the |
appropriate section (see *Note Integral Datatypes::, for details) so |
appropriate section (see *note Integral Datatypes::, for details) so |
this structure is of size 64 bytes. |
|
The values of several fields have a restricted meaning and/or range |
7840,7 → 7842,7
No valid meaning for the target. Transmitted unchanged. |
|
`st_mode' |
Valid mode bits are described in *Note Constants::. Any other |
Valid mode bits are described in *note Constants::. Any other |
bits have currently no meaning for the target. |
|
`st_uid' |
7878,7 → 7880,7
}; |
|
The integral datatypes conform to the definitions given in the |
appropriate section (see *Note Integral Datatypes::, for details) so |
appropriate section (see *note Integral Datatypes::, for details) so |
this structure is of size 8 bytes. |
|
|
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info-5
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
652,7 → 652,7
description from the target. GDB retrieves it via the remote protocol |
using `qXfer' requests (*note qXfer: General Query Packets.). The |
ANNEX in the `qXfer' packet will be `target.xml'. The contents of the |
`target.xml' annex are an XML document, of the form described in *Note |
`target.xml' annex are an XML document, of the form described in *note |
Target Description Format::. |
|
Alternatively, you can specify a file to read for the target |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdb.info-6
1,4 → 1,4
This is gdb.info, produced by makeinfo version 4.8 from ./gdb.texinfo. |
This is gdb.info, produced by makeinfo version 4.13 from ./gdb.texinfo. |
|
INFO-DIR-SECTION Software development |
START-INFO-DIR-ENTRY |
23,7 → 23,7
This file documents the GNU debugger GDB. |
|
This is the Ninth Edition, of `Debugging with GDB: the GNU |
Source-Level Debugger' for GDB (GDB) Version 7.2. |
Source-Level Debugger' for GDB (GDB) Version 7.2-or32-1.0rc1. |
|
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, |
156,7 → 156,7
* -enable-pretty-printing: GDB/MI Variable Objects. |
(line 116) |
* -enable-timings: GDB/MI Miscellaneous Commands. |
(line 381) |
(line 380) |
* -environment-cd: GDB/MI Program Context. |
(line 33) |
* -environment-directory: GDB/MI Program Context. |
210,9 → 210,9
* -gdb-version: GDB/MI Miscellaneous Commands. |
(line 77) |
* -inferior-tty-set: GDB/MI Miscellaneous Commands. |
(line 332) |
(line 331) |
* -inferior-tty-show: GDB/MI Miscellaneous Commands. |
(line 355) |
(line 354) |
* -interpreter-exec: GDB/MI Miscellaneous Commands. |
(line 306) |
* -l: Mode Options. (line 126) |
281,37 → 281,37
* -trace-stop: GDB/MI Tracepoint Commands. |
(line 244) |
* -var-assign: GDB/MI Variable Objects. |
(line 475) |
(line 474) |
* -var-create: GDB/MI Variable Objects. |
(line 134) |
* -var-delete: GDB/MI Variable Objects. |
(line 220) |
* -var-evaluate-expression: GDB/MI Variable Objects. |
(line 454) |
(line 453) |
* -var-info-expression: GDB/MI Variable Objects. |
(line 392) |
(line 391) |
* -var-info-num-children: GDB/MI Variable Objects. |
(line 269) |
* -var-info-path-expression: GDB/MI Variable Objects. |
(line 416) |
(line 415) |
* -var-info-type: GDB/MI Variable Objects. |
(line 379) |
(line 378) |
* -var-list-children: GDB/MI Variable Objects. |
(line 285) |
* -var-set-format: GDB/MI Variable Objects. |
(line 233) |
* -var-set-frozen: GDB/MI Variable Objects. |
(line 613) |
(line 612) |
* -var-set-update-range: GDB/MI Variable Objects. |
(line 639) |
(line 638) |
* -var-set-visualizer: GDB/MI Variable Objects. |
(line 662) |
(line 661) |
* -var-show-attributes: GDB/MI Variable Objects. |
(line 440) |
(line 439) |
* -var-show-format: GDB/MI Variable Objects. |
(line 256) |
* -var-update: GDB/MI Variable Objects. |
(line 499) |
(line 498) |
* -w: Mode Options. (line 78) |
* -x: File Options. (line 51) |
* ., Modula-2 scope operator: M2 Scope. (line 6) |
549,6 → 549,7
* bug criteria: Bug Criteria. (line 6) |
* bug reports: Bug Reporting. (line 6) |
* bugs in GDB: GDB Bugs. (line 6) |
* Bugs, reporting: OpenRISC 1000. (line 77) |
* build ID sections: Separate Debug Files. |
(line 96) |
* build ID, and separate debugging files: Separate Debug Files. |
1360,8 → 1361,6
* Host I/O, remote protocol: Host I/O Packets. (line 6) |
* how many arguments (user-defined commands): Define. (line 25) |
* HPPA support: HPPA. (line 6) |
* htrace: OpenRISC 1000. (line 69) |
* hwatch: OpenRISC 1000. (line 59) |
* i (info): Help. (line 99) |
* I packet: Packets. (line 197) |
* i packet: Packets. (line 192) |
1429,7 → 1428,6
(line 45) |
* info meminfo: SVR4 Process Information. |
(line 78) |
* info or1k spr: OpenRISC 1000. (line 20) |
* info os: OS Information. (line 47) |
* info os processes: OS Information. (line 52) |
* info pidlist: SVR4 Process Information. |
1450,6 → 1448,7
* info source: Symbols. (line 159) |
* info source, show the source language: Show. (line 21) |
* info sources: Symbols. (line 178) |
* info spr: OpenRISC 1000. (line 31) |
* info spu: SPU. (line 10) |
* info stack: Backtrace. (line 34) |
* info static-tracepoint-markers: Listing Static Tracepoint Markers. |
1900,7 → 1899,11
* open flags, in file-i/o protocol: Open Flags. (line 6) |
* open, file-i/o system call: open. (line 6) |
* OpenRISC 1000: OpenRISC 1000. (line 6) |
* OpenRISC 1000 htrace: OpenRISC 1000. (line 58) |
* OpenRISC 1000 known problems: OpenRISC 1000. (line 59) |
* OpenRISC 1000 known problems, architectural compatability: OpenRISC 1000. |
(line 70) |
* OpenRISC 1000 known problems, hardware breakpoints and watchpoints: OpenRISC 1000. |
(line 61) |
* operating system information: Operating System Information. |
(line 6) |
* operating system information, process list: Process list. (line 6) |
1910,8 → 1913,6
(line 35) |
* optional debugging messages: Debugging Output. (line 6) |
* optional warnings: Messages/Warnings. (line 6) |
* or1k boards: OpenRISC 1000. (line 6) |
* or1ksim: OpenRISC 1000. (line 16) |
* OS ABI: ABI. (line 11) |
* OS information: OS Information. (line 6) |
* out-of-line single-stepping: Maintenance Commands. |
2289,6 → 2290,7
* replay log events, remote reply: Stop Reply Packets. (line 61) |
* replay mode: Process Record and Replay. |
(line 10) |
* Reporting bugs: OpenRISC 1000. (line 77) |
* reporting bugs in GDB: GDB Bugs. (line 6) |
* reprint the last value: Data. (line 23) |
* reset SDI connection, M32R: M32R/D. (line 44) |
2814,7 → 2816,7
* Special Fortran commands: Special Fortran Commands. |
(line 6) |
* specifying location: Specify Location. (line 6) |
* spr: OpenRISC 1000. (line 33) |
* spr: OpenRISC 1000. (line 48) |
* SPU: SPU. (line 6) |
* SSE registers (x86): Registers. (line 71) |
* stack frame: Frames. (line 6) |
2962,7 → 2964,6
* target descriptions, XML format: Target Description Format. |
(line 6) |
* target dink32: PowerPC Embedded. (line 33) |
* target jtag: OpenRISC 1000. (line 9) |
* target lsi PORT: MIPS Embedded. (line 44) |
* target m32r: M32R/D. (line 6) |
* target m32rsdi: M32R/D. (line 9) |
2979,8 → 2980,10
* target rdp: ARM. (line 11) |
* target record: Process Record and Replay. |
(line 38) |
* target remote <1>: OpenRISC 1000. (line 10) |
* target remote: Connecting. (line 11) |
* target sds: PowerPC Embedded. (line 41) |
* target sim: OpenRISC 1000. (line 20) |
* target sim, with Z8000: Z8000. (line 15) |
* target sparclite: Sparclite. (line 6) |
* target stack description: Maintenance Commands. |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdbint.info-1
1,4 → 1,4
This is gdbint.info, produced by makeinfo version 4.8 from |
This is gdbint.info, produced by makeinfo version 4.13 from |
./gdbint.texinfo. |
|
INFO-DIR-SECTION Software development |
926,7 → 926,7
easy to extend, and versatile enough to be used as the standard |
interface when adding new notifications. |
|
See *Note GDB Observers:: for a brief description of the observers |
See *note GDB Observers:: for a brief description of the observers |
currently implemented in GDB. The rationale for the current |
implementation is also briefly discussed. |
|
2119,7 → 2119,7
The COFF sections, symbols, and line numbers are used, but debugging |
symbols are `dbx'-style stabs whose strings are located in the `.debug' |
section (rather than the string table). For more information, see |
*Note Top: (stabs)Top. |
*note Top: (stabs)Top. |
|
The shared library scheme has a clean interface for figuring out what |
shared libraries are in use, but the catch is that everything which |
4259,7 → 4259,7
|
`I386_USE_GENERIC_WATCHPOINTS' |
An x86-based target can define this to use the generic x86 |
watchpoint support; see *Note I386_USE_GENERIC_WATCHPOINTS: |
watchpoint support; see *note I386_USE_GENERIC_WATCHPOINTS: |
Algorithms. |
|
`gdbarch_in_function_epilogue_p (GDBARCH, ADDR)' |
4626,7 → 4626,7
supports, or for the target to tell GDB directly. |
|
For details on writing, automatically supplying, and manually |
selecting target descriptions, see *Note Target Descriptions: |
selecting target descriptions, see *note Target Descriptions: |
(gdb)Target Descriptions. This section will cover some related topics |
about the GDB internals. |
|
4659,7 → 4659,7
new architecture. Then the initialization routine is called, and has a |
chance to adjust the constructed architecture based on the contents of |
the target description. For instance, it can recognize any properties |
set by a `to_read_description' routine. Also see *Note Adding Target |
set by a `to_read_description' routine. Also see *note Adding Target |
Described Register Support::. |
|
|
4931,7 → 4931,7
|
`I386_USE_GENERIC_WATCHPOINTS' |
An x86-based machine can define this to use the generic x86 |
watchpoint support; see *Note I386_USE_GENERIC_WATCHPOINTS: |
watchpoint support; see *note I386_USE_GENERIC_WATCHPOINTS: |
Algorithms. |
|
`SOLIB_ADD (FILENAME, FROM_TTY, TARG, READSYMS)' |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdbint.info-2
1,4 → 1,4
This is gdbint.info, produced by makeinfo version 4.8 from |
This is gdbint.info, produced by makeinfo version 4.13 from |
./gdbint.texinfo. |
|
INFO-DIR-SECTION Software development |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/gdbint.info
1,4 → 1,4
This is gdbint.info, produced by makeinfo version 4.8 from |
This is gdbint.info, produced by makeinfo version 4.13 from |
./gdbint.texinfo. |
|
INFO-DIR-SECTION Software development |
34,88 → 34,88
|
|
Indirect: |
gdbint.info-1: 1537 |
gdbint.info-2: 299035 |
gdbint.info-1: 1538 |
gdbint.info-2: 299036 |
|
Tag Table: |
(Indirect) |
Node: Top1537 |
Node: Summary2418 |
Node: Requirements2568 |
Node: Contributors4047 |
Node: Overall Structure5640 |
Node: Algorithms10663 |
Node: User Interface42105 |
Ref: UI-Independent Output43960 |
Ref: User Interface-Footnote-165931 |
Ref: User Interface-Footnote-265980 |
Node: libgdb66215 |
Node: Values70166 |
Node: Stack Frames73010 |
Node: Symbol Handling77992 |
Node: Language Support94797 |
Node: Host Definition99523 |
Node: Target Architecture Definition103882 |
Node: OS ABI Variant Handling104702 |
Node: Initialize New Architecture109547 |
Node: How an Architecture is Represented109898 |
Node: Looking Up an Existing Architecture111855 |
Node: Creating a New Architecture114774 |
Node: Registers and Memory116812 |
Node: Pointers and Addresses117604 |
Ref: Pointers and Addresses-Footnote-1123605 |
Node: Address Classes123848 |
Node: Register Representation127093 |
Node: Raw and Cooked Registers127467 |
Node: Register Architecture Functions & Variables128651 |
Node: Register Information Functions132260 |
Ref: Register Information Functions-Footnote-1138166 |
Node: Register and Memory Data138585 |
Node: Register Caching141734 |
Node: Frame Interpretation143270 |
Node: All About Stack Frames143676 |
Ref: All About Stack Frames-Footnote-1149027 |
Node: Frame Handling Terminology149259 |
Node: Prologue Caches151786 |
Node: Functions and Variable to Analyze Frames153467 |
Ref: frame_align155565 |
Node: Functions to Access Frame Data157079 |
Node: Analyzing Stacks---Frame Sniffers159370 |
Ref: Analyzing Stacks---Frame Sniffers-Footnote-1164020 |
Node: Inferior Call Setup164517 |
Node: About Dummy Frames164800 |
Node: Functions Creating Dummy Frames165426 |
Node: Adding support for debugging core files169483 |
Node: Defining Other Architecture Features170027 |
Ref: gdbarch_breakpoint_from_pc174874 |
Ref: gdbarch_stabs_argument_has_addr187268 |
Ref: gdbarch_push_dummy_call187515 |
Ref: gdbarch_push_dummy_code188075 |
Ref: gdbarch_return_value189057 |
Ref: gdbarch_dummy_id194823 |
Node: Adding a New Target195511 |
Node: Target Descriptions197978 |
Node: Target Descriptions Implementation198917 |
Node: Adding Target Described Register Support200291 |
Node: Target Vector Definition203237 |
Node: Managing Execution State203769 |
Node: Existing Targets205582 |
Node: Native Debugging208097 |
Node: Support Libraries211925 |
Node: Coding223440 |
Node: Porting GDB248550 |
Node: Versions and Branches250419 |
Ref: Tags256375 |
Ref: experimental branch tags256706 |
Node: Start of New Year Procedure257438 |
Node: Releasing GDB259244 |
Node: Testsuite277476 |
Ref: Testsuite-Footnote-1289341 |
Node: Hints289459 |
Node: Getting Started289781 |
Node: Debugging GDB293946 |
Node: GDB Observers299035 |
Node: GNU Free Documentation License307343 |
Node: Index332510 |
Node: Top1538 |
Node: Summary2419 |
Node: Requirements2569 |
Node: Contributors4048 |
Node: Overall Structure5641 |
Node: Algorithms10664 |
Node: User Interface42106 |
Ref: UI-Independent Output43961 |
Ref: User Interface-Footnote-165932 |
Ref: User Interface-Footnote-265981 |
Node: libgdb66216 |
Node: Values70167 |
Node: Stack Frames73011 |
Node: Symbol Handling77993 |
Node: Language Support94798 |
Node: Host Definition99524 |
Node: Target Architecture Definition103883 |
Node: OS ABI Variant Handling104703 |
Node: Initialize New Architecture109548 |
Node: How an Architecture is Represented109899 |
Node: Looking Up an Existing Architecture111856 |
Node: Creating a New Architecture114775 |
Node: Registers and Memory116813 |
Node: Pointers and Addresses117605 |
Ref: Pointers and Addresses-Footnote-1123606 |
Node: Address Classes123849 |
Node: Register Representation127094 |
Node: Raw and Cooked Registers127468 |
Node: Register Architecture Functions & Variables128652 |
Node: Register Information Functions132261 |
Ref: Register Information Functions-Footnote-1138167 |
Node: Register and Memory Data138586 |
Node: Register Caching141735 |
Node: Frame Interpretation143271 |
Node: All About Stack Frames143677 |
Ref: All About Stack Frames-Footnote-1149028 |
Node: Frame Handling Terminology149260 |
Node: Prologue Caches151787 |
Node: Functions and Variable to Analyze Frames153468 |
Ref: frame_align155566 |
Node: Functions to Access Frame Data157080 |
Node: Analyzing Stacks---Frame Sniffers159371 |
Ref: Analyzing Stacks---Frame Sniffers-Footnote-1164021 |
Node: Inferior Call Setup164518 |
Node: About Dummy Frames164801 |
Node: Functions Creating Dummy Frames165427 |
Node: Adding support for debugging core files169484 |
Node: Defining Other Architecture Features170028 |
Ref: gdbarch_breakpoint_from_pc174875 |
Ref: gdbarch_stabs_argument_has_addr187269 |
Ref: gdbarch_push_dummy_call187516 |
Ref: gdbarch_push_dummy_code188076 |
Ref: gdbarch_return_value189058 |
Ref: gdbarch_dummy_id194824 |
Node: Adding a New Target195512 |
Node: Target Descriptions197979 |
Node: Target Descriptions Implementation198918 |
Node: Adding Target Described Register Support200292 |
Node: Target Vector Definition203238 |
Node: Managing Execution State203770 |
Node: Existing Targets205583 |
Node: Native Debugging208098 |
Node: Support Libraries211926 |
Node: Coding223441 |
Node: Porting GDB248551 |
Node: Versions and Branches250420 |
Ref: Tags256376 |
Ref: experimental branch tags256707 |
Node: Start of New Year Procedure257439 |
Node: Releasing GDB259245 |
Node: Testsuite277477 |
Ref: Testsuite-Footnote-1289342 |
Node: Hints289460 |
Node: Getting Started289782 |
Node: Debugging GDB293947 |
Node: GDB Observers299036 |
Node: GNU Free Documentation License307344 |
Node: Index332511 |
|
End Tag Table |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/annotate.info
1,4 → 1,4
This is annotate.info, produced by makeinfo version 4.8 from |
This is annotate.info, produced by makeinfo version 4.13 from |
./annotate.texinfo. |
|
INFO-DIR-SECTION Software development |
1172,21 → 1172,21
|
|
Tag Table: |
Node: Top1282 |
Node: Annotations Overview2452 |
Node: Limitations4251 |
Node: Migrating to GDB/MI6836 |
Node: Server Prefix7219 |
Node: Value Annotations7865 |
Node: Frame Annotations11035 |
Node: Displays14934 |
Node: Prompting15965 |
Node: Errors17468 |
Node: Breakpoint Info18358 |
Node: Invalidation19583 |
Node: Annotations for Running20062 |
Node: Source Annotations21575 |
Node: Multi-threaded Apps22521 |
Node: GNU Free Documentation License23130 |
Node: Top1283 |
Node: Annotations Overview2453 |
Node: Limitations4252 |
Node: Migrating to GDB/MI6837 |
Node: Server Prefix7220 |
Node: Value Annotations7866 |
Node: Frame Annotations11036 |
Node: Displays14935 |
Node: Prompting15966 |
Node: Errors17469 |
Node: Breakpoint Info18359 |
Node: Invalidation19584 |
Node: Annotations for Running20063 |
Node: Source Annotations21576 |
Node: Multi-threaded Apps22522 |
Node: GNU Free Documentation License23131 |
|
End Tag Table |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/stabs.info
1,4 → 1,4
This is stabs.info, produced by makeinfo version 4.8 from |
This is stabs.info, produced by makeinfo version 4.13 from |
./stabs.texinfo. |
|
INFO-DIR-SECTION Software development |
146,7 → 146,7
.stabx "STRING",VALUE,TYPE,SDB-TYPE |
|
For `.stabn' and `.stabd', there is no STRING (the `n_strx' field is |
zero; see *Note Symbol Tables::). For `.stabd', the VALUE field is |
zero; see *note Symbol Tables::). For `.stabd', the VALUE field is |
implicit and has the value of the current file location. For `.stabx', |
the SDB-TYPE field is unused for stabs and can always be set to zero. |
The OTHER field is almost always unused and can be set to zero. |
187,7 → 187,7
that tells more specifically what kind of symbol the stab represents. |
If the SYMBOL-DESCRIPTOR is omitted, but type information follows, then |
the stab represents a local variable. For a list of symbol |
descriptors, see *Note Symbol Descriptors::. The `c' symbol descriptor |
descriptors, see *note Symbol Descriptors::. The `c' symbol descriptor |
is an exception in that it is not followed by type information. *Note |
Constants::. |
|
208,7 → 208,7
TYPE-DESCRIPTOR vary, depending on the TYPE-DESCRIPTOR. *Note Type |
Descriptors::, for a list of TYPE-DESCRIPTOR values. If a number |
follows the `=' then the number is a TYPE-REFERENCE. For a full |
description of types, *Note Types::. |
description of types, *note Types::. |
|
A TYPE-NUMBER is often a single number. The GNU and Sun tools |
additionally permit a TYPE-NUMBER to be a pair |
218,7 → 218,7
on. The FILETYPE-NUMBER is a number starting with 1 which is |
incremented for each new type defined in the file. (Separating the |
file number and the type number permits the `N_BINCL' optimization to |
succeed more often; see *Note Include Files::). |
succeed more often; see *note Include Files::). |
|
There is an AIX extension for type attributes. Following the `=' |
are any number of type attributes. Each one starts with `@' and ends |
575,7 → 575,7
sure how to find which symbol of that name is the right one, and this |
doesn't provide any way to deal with nested functions, it would |
probably be better to make the value of the stab an address relative to |
the start of the file, or just absolute. See *Note ELF Linker |
the start of the file, or just absolute. See *note ELF Linker |
Relocation:: for more information on linker relocation of stabs in ELF |
files. For XCOFF, the stab uses the `C_FUN' storage class and the |
value of the stab is meaningless; the address of the function can be |
848,7 → 848,7
The value of the stab is the offset of the variable within the local |
variables. On most machines this is an offset from the frame pointer |
and is negative. The location of the stab specifies which block it is |
defined in; see *Note Block Structure::. |
defined in; see *note Block Structure::. |
|
For example, the following C code: |
|
865,8 → 865,8
.stabn 192,0,0,LBB2 # 192 is N_LBRAC |
.stabn 224,0,0,LBE2 # 224 is N_RBRAC |
|
See *Note Procedures:: for more information on the `N_FUN' stab, and |
*Note Block Structure:: for more information on the `N_LBRAC' and |
See *note Procedures:: for more information on the `N_FUN' stab, and |
*note Block Structure:: for more information on the `N_LBRAC' and |
`N_RBRAC' stabs. |
|
|
1680,7 → 1680,7
represented by `M-2;3', where `-2' is a reference to a character |
type (*note Negative Type Numbers::). I'm not sure how this |
differs from an array. This appears to be a Fortran feature. |
LENGTH is a bound, like those in range types; see *Note |
LENGTH is a bound, like those in range types; see *note |
Subranges::. |
|
`S TYPE-INFORMATION' |
1708,7 → 1708,7
`s' for a structure tag, `u' for a union tag, or `e' for a enumerator |
tag, followed by the name of the tag, followed by `:'. If the name |
contains `::' between a `<' and `>' pair (for C++ templates), such a |
`::' does not end the name--only a single `:' ends the name; see *Note |
`::' does not end the name--only a single `:' ends the name; see *note |
Nested Symbols::. |
|
For example, the following C declarations: |
1770,7 → 1770,7
`J' |
There is no bound. |
|
Subranges are also used for builtin types; see *Note Traditional |
Subranges are also used for builtin types; see *note Traditional |
Builtin Types::. |
|
|
1916,7 → 1916,7
There is no standard way to specify the size of an enumeration type; |
it is determined by the architecture (normally all enumerations types |
are 32 bits). Type attributes can be used to specify an enumeration |
type of another size for debuggers which support them; see *Note String |
type of another size for debuggers which support them; see *note String |
Field::. |
|
Enumeration types are unusual in that they define symbols for the |
1990,7 → 1990,7
refers to. |
|
If the structure has methods (a C++ feature), they follow the |
non-method fields; see *Note Cplusplus::. |
non-method fields; see *note Cplusplus::. |
|
|
File: stabs.info, Node: Typedefs, Next: Unions, Prev: Structures, Up: Types |
2501,8 → 2501,8
rather than one. This is followed by a new type definition for the |
method. This is a number followed by an equal sign and the type of the |
method. Normally this will be a type declared using the `#' type |
descriptor; see *Note Method Type Descriptor::; static member functions |
are declared using the `f' type descriptor instead; see *Note Function |
descriptor; see *note Method Type Descriptor::; static member functions |
are declared using the `f' type descriptor instead; see *note Function |
Types::. |
|
The format of an overloaded operator method name differs from that of |
3118,10 → 3118,10
languages other than C. |
|
`0x20 N_GSYM' |
Global symbol; see *Note Global Variables::. |
Global symbol; see *note Global Variables::. |
|
`0x22 N_FNAME' |
Function name (for BSD Fortran); see *Note Procedures::. |
Function name (for BSD Fortran); see *note Procedures::. |
|
`0x24 N_FUN' |
Function name (*note Procedures::) or text segment variable (*note |
3128,28 → 3128,28
Statics::). |
|
`0x26 N_STSYM' |
Data segment file-scope variable; see *Note Statics::. |
Data segment file-scope variable; see *note Statics::. |
|
`0x28 N_LCSYM' |
BSS segment file-scope variable; see *Note Statics::. |
BSS segment file-scope variable; see *note Statics::. |
|
`0x2a N_MAIN' |
Name of main routine; see *Note Main Program::. |
Name of main routine; see *note Main Program::. |
|
`0x2c N_ROSYM' |
Variable in `.rodata' section; see *Note Statics::. |
Variable in `.rodata' section; see *note Statics::. |
|
`0x30 N_PC' |
Global symbol (for Pascal); see *Note N_PC::. |
Global symbol (for Pascal); see *note N_PC::. |
|
`0x32 N_NSYMS' |
Number of symbols (according to Ultrix V4.0); see *Note N_NSYMS::. |
Number of symbols (according to Ultrix V4.0); see *note N_NSYMS::. |
|
`0x34 N_NOMAP' |
No DST map; see *Note N_NOMAP::. |
No DST map; see *note N_NOMAP::. |
|
`0x36 N_MAC_DEFINE' |
Name and body of a `#define'd macro; see *Note Macro define and |
Name and body of a `#define'd macro; see *note Macro define and |
undefine::. |
|
`0x38 N_OBJ' |
3156,53 → 3156,53
Object file (Solaris2). |
|
`0x3a N_MAC_UNDEF' |
Name of an `#undef'ed macro; see *Note Macro define and undefine::. |
Name of an `#undef'ed macro; see *note Macro define and undefine::. |
|
`0x3c N_OPT' |
Debugger options (Solaris2). |
|
`0x40 N_RSYM' |
Register variable; see *Note Register Variables::. |
Register variable; see *note Register Variables::. |
|
`0x42 N_M2C' |
Modula-2 compilation unit; see *Note N_M2C::. |
Modula-2 compilation unit; see *note N_M2C::. |
|
`0x44 N_SLINE' |
Line number in text segment; see *Note Line Numbers::. |
Line number in text segment; see *note Line Numbers::. |
|
`0x46 N_DSLINE' |
Line number in data segment; see *Note Line Numbers::. |
Line number in data segment; see *note Line Numbers::. |
|
`0x48 N_BSLINE' |
Line number in bss segment; see *Note Line Numbers::. |
Line number in bss segment; see *note Line Numbers::. |
|
`0x48 N_BROWS' |
Sun source code browser, path to `.cb' file; see *Note N_BROWS::. |
Sun source code browser, path to `.cb' file; see *note N_BROWS::. |
|
`0x4a N_DEFD' |
GNU Modula2 definition module dependency; see *Note N_DEFD::. |
GNU Modula2 definition module dependency; see *note N_DEFD::. |
|
`0x4c N_FLINE' |
Function start/body/end line numbers (Solaris2). |
|
`0x50 N_EHDECL' |
GNU C++ exception variable; see *Note N_EHDECL::. |
GNU C++ exception variable; see *note N_EHDECL::. |
|
`0x50 N_MOD2' |
Modula2 info "for imc" (according to Ultrix V4.0); see *Note |
Modula2 info "for imc" (according to Ultrix V4.0); see *note |
N_MOD2::. |
|
`0x54 N_CATCH' |
GNU C++ `catch' clause; see *Note N_CATCH::. |
GNU C++ `catch' clause; see *note N_CATCH::. |
|
`0x60 N_SSYM' |
Structure of union element; see *Note N_SSYM::. |
Structure of union element; see *note N_SSYM::. |
|
`0x62 N_ENDM' |
Last stab for module (Solaris2). |
|
`0x64 N_SO' |
Path and name of source file; see *Note Source Files::. |
Path and name of source file; see *note Source Files::. |
|
`0x80 N_LSYM' |
Stack variable (*note Stack Variables::) or type (*note |
3209,58 → 3209,58
Typedefs::). |
|
`0x82 N_BINCL' |
Beginning of an include file (Sun only); see *Note Include Files::. |
Beginning of an include file (Sun only); see *note Include Files::. |
|
`0x84 N_SOL' |
Name of include file; see *Note Include Files::. |
Name of include file; see *note Include Files::. |
|
`0xa0 N_PSYM' |
Parameter variable; see *Note Parameters::. |
Parameter variable; see *note Parameters::. |
|
`0xa2 N_EINCL' |
End of an include file; see *Note Include Files::. |
End of an include file; see *note Include Files::. |
|
`0xa4 N_ENTRY' |
Alternate entry point; see *Note Alternate Entry Points::. |
Alternate entry point; see *note Alternate Entry Points::. |
|
`0xc0 N_LBRAC' |
Beginning of a lexical block; see *Note Block Structure::. |
Beginning of a lexical block; see *note Block Structure::. |
|
`0xc2 N_EXCL' |
Place holder for a deleted include file; see *Note Include Files::. |
Place holder for a deleted include file; see *note Include Files::. |
|
`0xc4 N_SCOPE' |
Modula2 scope information (Sun linker); see *Note N_SCOPE::. |
Modula2 scope information (Sun linker); see *note N_SCOPE::. |
|
`0xe0 N_RBRAC' |
End of a lexical block; see *Note Block Structure::. |
End of a lexical block; see *note Block Structure::. |
|
`0xe2 N_BCOMM' |
Begin named common block; see *Note Common Blocks::. |
Begin named common block; see *note Common Blocks::. |
|
`0xe4 N_ECOMM' |
End named common block; see *Note Common Blocks::. |
End named common block; see *note Common Blocks::. |
|
`0xe8 N_ECOML' |
Member of a common block; see *Note Common Blocks::. |
Member of a common block; see *note Common Blocks::. |
|
`0xea N_WITH' |
Pascal `with' statement: type,,0,0,offset (Solaris2). |
|
`0xf0 N_NBTEXT' |
Gould non-base registers; see *Note Gould::. |
Gould non-base registers; see *note Gould::. |
|
`0xf2 N_NBDATA' |
Gould non-base registers; see *Note Gould::. |
Gould non-base registers; see *note Gould::. |
|
`0xf4 N_NBBSS' |
Gould non-base registers; see *Note Gould::. |
Gould non-base registers; see *note Gould::. |
|
`0xf6 N_NBSTS' |
Gould non-base registers; see *Note Gould::. |
Gould non-base registers; see *note Gould::. |
|
`0xf8 N_NBLCS' |
Gould non-base registers; see *Note Gould::. |
Gould non-base registers; see *note Gould::. |
|
|
File: stabs.info, Node: Symbol Descriptors, Next: Type Descriptors, Prev: Stab Types, Up: Top |
3275,108 → 3275,108
`DIGIT' |
`(' |
`-' |
Variable on the stack; see *Note Stack Variables::. |
Variable on the stack; see *note Stack Variables::. |
|
`:' |
C++ nested symbol; see *Note Nested Symbols::. |
|
`a' |
Parameter passed by reference in register; see *Note Reference |
Parameter passed by reference in register; see *note Reference |
Parameters::. |
|
`b' |
Based variable; see *Note Based Variables::. |
Based variable; see *note Based Variables::. |
|
`c' |
Constant; see *Note Constants::. |
Constant; see *note Constants::. |
|
`C' |
Conformant array bound (Pascal, maybe other languages); *Note |
Conformant array bound (Pascal, maybe other languages); *note |
Conformant Arrays::. Name of a caught exception (GNU C++). These |
can be distinguished because the latter uses `N_CATCH' and the |
former uses another symbol type. |
|
`d' |
Floating point register variable; see *Note Register Variables::. |
Floating point register variable; see *note Register Variables::. |
|
`D' |
Parameter in floating point register; see *Note Register |
Parameter in floating point register; see *note Register |
Parameters::. |
|
`f' |
File scope function; see *Note Procedures::. |
File scope function; see *note Procedures::. |
|
`F' |
Global function; see *Note Procedures::. |
Global function; see *note Procedures::. |
|
`G' |
Global variable; see *Note Global Variables::. |
Global variable; see *note Global Variables::. |
|
`i' |
*Note Register Parameters::. |
|
`I' |
Internal (nested) procedure; see *Note Nested Procedures::. |
Internal (nested) procedure; see *note Nested Procedures::. |
|
`J' |
Internal (nested) function; see *Note Nested Procedures::. |
Internal (nested) function; see *note Nested Procedures::. |
|
`L' |
Label name (documented by AIX, no further information known). |
|
`m' |
Module; see *Note Procedures::. |
Module; see *note Procedures::. |
|
`p' |
Argument list parameter; see *Note Parameters::. |
Argument list parameter; see *note Parameters::. |
|
`pP' |
*Note Parameters::. |
|
`pF' |
Fortran Function parameter; see *Note Parameters::. |
Fortran Function parameter; see *note Parameters::. |
|
`P' |
Unfortunately, three separate meanings have been independently |
invented for this symbol descriptor. At least the GNU and Sun |
uses can be distinguished by the symbol type. Global Procedure |
(AIX) (symbol type used unknown); see *Note Procedures::. |
Register parameter (GNU) (symbol type `N_PSYM'); see *Note |
(AIX) (symbol type used unknown); see *note Procedures::. |
Register parameter (GNU) (symbol type `N_PSYM'); see *note |
Parameters::. Prototype of function referenced by this file (Sun |
`acc') (symbol type `N_FUN'). |
|
`Q' |
Static Procedure; see *Note Procedures::. |
Static Procedure; see *note Procedures::. |
|
`R' |
Register parameter; see *Note Register Parameters::. |
Register parameter; see *note Register Parameters::. |
|
`r' |
Register variable; see *Note Register Variables::. |
Register variable; see *note Register Variables::. |
|
`S' |
File scope variable; see *Note Statics::. |
File scope variable; see *note Statics::. |
|
`s' |
Local variable (OS9000). |
|
`t' |
Type name; see *Note Typedefs::. |
Type name; see *note Typedefs::. |
|
`T' |
Enumeration, structure, or union tag; see *Note Typedefs::. |
Enumeration, structure, or union tag; see *note Typedefs::. |
|
`v' |
Parameter passed by reference; see *Note Reference Parameters::. |
Parameter passed by reference; see *note Reference Parameters::. |
|
`V' |
Procedure scope static variable; see *Note Statics::. |
Procedure scope static variable; see *note Statics::. |
|
`x' |
Conformant array; see *Note Conformant Arrays::. |
Conformant array; see *note Conformant Arrays::. |
|
`X' |
Function return variable; see *Note Parameters::. |
Function return variable; see *note Parameters::. |
|
|
File: stabs.info, Node: Type Descriptors, Next: Expanded Reference, Prev: Symbol Descriptors, Up: Top |
3390,40 → 3390,40
|
`DIGIT' |
`(' |
Type reference; see *Note String Field::. |
Type reference; see *note String Field::. |
|
`-' |
Reference to builtin type; see *Note Negative Type Numbers::. |
Reference to builtin type; see *note Negative Type Numbers::. |
|
`#' |
Method (C++); see *Note Method Type Descriptor::. |
Method (C++); see *note Method Type Descriptor::. |
|
`*' |
Pointer; see *Note Miscellaneous Types::. |
Pointer; see *note Miscellaneous Types::. |
|
`&' |
Reference (C++). |
|
`@' |
Type Attributes (AIX); see *Note String Field::. Member (class |
and variable) type (GNU C++); see *Note Member Type Descriptor::. |
Type Attributes (AIX); see *note String Field::. Member (class |
and variable) type (GNU C++); see *note Member Type Descriptor::. |
|
`a' |
Array; see *Note Arrays::. |
Array; see *note Arrays::. |
|
`A' |
Open array; see *Note Arrays::. |
Open array; see *note Arrays::. |
|
`b' |
Pascal space type (AIX); see *Note Miscellaneous Types::. Builtin |
integer type (Sun); see *Note Builtin Type Descriptors::. Const |
Pascal space type (AIX); see *note Miscellaneous Types::. Builtin |
integer type (Sun); see *note Builtin Type Descriptors::. Const |
and volatile qualified type (OS9000). |
|
`B' |
Volatile-qualified type; see *Note Miscellaneous Types::. |
Volatile-qualified type; see *note Miscellaneous Types::. |
|
`c' |
Complex builtin type (AIX); see *Note Builtin Type Descriptors::. |
Complex builtin type (AIX); see *note Builtin Type Descriptors::. |
Const-qualified type (OS9000). |
|
`C' |
3430,75 → 3430,75
COBOL Picture type. See AIX documentation for details. |
|
`d' |
File type; see *Note Miscellaneous Types::. |
File type; see *note Miscellaneous Types::. |
|
`D' |
N-dimensional dynamic array; see *Note Arrays::. |
N-dimensional dynamic array; see *note Arrays::. |
|
`e' |
Enumeration type; see *Note Enumerations::. |
Enumeration type; see *note Enumerations::. |
|
`E' |
N-dimensional subarray; see *Note Arrays::. |
N-dimensional subarray; see *note Arrays::. |
|
`f' |
Function type; see *Note Function Types::. |
Function type; see *note Function Types::. |
|
`F' |
Pascal function parameter; see *Note Function Types:: |
Pascal function parameter; see *note Function Types:: |
|
`g' |
Builtin floating point type; see *Note Builtin Type Descriptors::. |
Builtin floating point type; see *note Builtin Type Descriptors::. |
|
`G' |
COBOL Group. See AIX documentation for details. |
|
`i' |
Imported type (AIX); see *Note Cross-References::. |
Imported type (AIX); see *note Cross-References::. |
Volatile-qualified type (OS9000). |
|
`k' |
Const-qualified type; see *Note Miscellaneous Types::. |
Const-qualified type; see *note Miscellaneous Types::. |
|
`K' |
COBOL File Descriptor. See AIX documentation for details. |
|
`M' |
Multiple instance type; see *Note Miscellaneous Types::. |
Multiple instance type; see *note Miscellaneous Types::. |
|
`n' |
String type; see *Note Strings::. |
String type; see *note Strings::. |
|
`N' |
Stringptr; see *Note Strings::. |
Stringptr; see *note Strings::. |
|
`o' |
Opaque type; see *Note Typedefs::. |
Opaque type; see *note Typedefs::. |
|
`p' |
Procedure; see *Note Function Types::. |
Procedure; see *note Function Types::. |
|
`P' |
Packed array; see *Note Arrays::. |
Packed array; see *note Arrays::. |
|
`r' |
Range type; see *Note Subranges::. |
Range type; see *note Subranges::. |
|
`R' |
Builtin floating type; see *Note Builtin Type Descriptors:: (Sun). |
Pascal subroutine parameter; see *Note Function Types:: (AIX). |
Builtin floating type; see *note Builtin Type Descriptors:: (Sun). |
Pascal subroutine parameter; see *note Function Types:: (AIX). |
Detecting this conflict is possible with careful parsing (hint: a |
Pascal subroutine parameter type will always contain a comma, and |
a builtin type descriptor never will). |
|
`s' |
Structure type; see *Note Structures::. |
Structure type; see *note Structures::. |
|
`S' |
Set type; see *Note Miscellaneous Types::. |
Set type; see *note Miscellaneous Types::. |
|
`u' |
Union; see *Note Unions::. |
Union; see *note Unions::. |
|
`v' |
Variant record. This is a Pascal and Modula-2 feature which is |
3506,16 → 3506,16
details. |
|
`w' |
Wide character; see *Note Builtin Type Descriptors::. |
Wide character; see *note Builtin Type Descriptors::. |
|
`x' |
Cross-reference; see *Note Cross-References::. |
Cross-reference; see *note Cross-References::. |
|
`Y' |
Used by IBM's xlC C++ compiler (for structures, I think). |
|
`z' |
gstring; see *Note Strings::. |
gstring; see *note Strings::. |
|
|
File: stabs.info, Node: Expanded Reference, Next: Questions, Prev: Type Descriptors, Up: Top |
3524,7 → 3524,7
****************************************** |
|
For a full list of stab types, and cross-references to where they are |
described, see *Note Stab Types::. This appendix just covers certain |
described, see *note Stab Types::. This appendix just covers certain |
stabs which are not yet described in the main body of this document; |
eventually the information will all be in one place. |
|
4493,98 → 4493,98
|
|
Tag Table: |
Node: Top1534 |
Node: Overview2581 |
Node: Flow3996 |
Node: Stabs Format5522 |
Node: String Field7084 |
Node: C Example12515 |
Node: Assembly Code13060 |
Node: Program Structure15031 |
Node: Main Program15757 |
Node: Source Files16318 |
Node: Include Files18770 |
Node: Line Numbers21435 |
Node: Procedures22969 |
Node: Nested Procedures28859 |
Node: Block Structure30035 |
Node: Alternate Entry Points31441 |
Node: Constants32174 |
Node: Variables35286 |
Node: Stack Variables35974 |
Node: Global Variables37675 |
Node: Register Variables38831 |
Node: Common Blocks39653 |
Node: Statics40907 |
Node: Based Variables43486 |
Node: Parameters44871 |
Node: Register Parameters46483 |
Node: Local Variable Parameters48744 |
Node: Reference Parameters51659 |
Node: Conformant Arrays52279 |
Node: Types52996 |
Node: Builtin Types53943 |
Node: Traditional Builtin Types55089 |
Node: Traditional Integer Types55490 |
Node: Traditional Other Types57798 |
Node: Builtin Type Descriptors58712 |
Node: Negative Type Numbers62212 |
Node: Miscellaneous Types68567 |
Node: Cross-References70453 |
Node: Subranges72128 |
Node: Arrays73367 |
Node: Strings76592 |
Node: Enumerations77654 |
Node: Structures80039 |
Node: Typedefs82746 |
Node: Unions84070 |
Node: Function Types85651 |
Node: Macro define and undefine87233 |
Node: Symbol Tables88810 |
Node: Symbol Table Format89262 |
Node: Transformations On Symbol Tables90710 |
Node: Transformations On Static Variables92064 |
Node: Transformations On Global Variables92800 |
Node: Stab Section Transformations94043 |
Node: Cplusplus95426 |
Node: Class Names96009 |
Node: Nested Symbols96754 |
Node: Basic Cplusplus Types97600 |
Node: Simple Classes99160 |
Node: Class Instance103454 |
Node: Methods104171 |
Node: Method Type Descriptor106390 |
Node: Member Type Descriptor107590 |
Node: Protections108382 |
Node: Method Modifiers111472 |
Node: Virtual Methods113100 |
Node: Inheritance116901 |
Node: Virtual Base Classes120597 |
Node: Static Members122841 |
Node: Stab Types123311 |
Node: Non-Stab Symbol Types123935 |
Node: Stab Symbol Types125366 |
Node: Symbol Descriptors129297 |
Node: Type Descriptors132076 |
Node: Expanded Reference135288 |
Node: N_PC136706 |
Node: N_NSYMS137074 |
Node: N_NOMAP137315 |
Node: N_M2C137621 |
Node: N_BROWS138055 |
Node: N_DEFD138338 |
Node: N_EHDECL138795 |
Node: N_MOD2139046 |
Node: N_CATCH139284 |
Node: N_SSYM139778 |
Node: N_SCOPE140063 |
Node: Gould140253 |
Node: N_LENG141245 |
Node: Questions141473 |
Node: Stab Sections143117 |
Node: Stab Section Basics143715 |
Node: ELF Linker Relocation147056 |
Node: GNU Free Documentation License150466 |
Node: Symbol Types Index175623 |
Node: Top1535 |
Node: Overview2582 |
Node: Flow3997 |
Node: Stabs Format5523 |
Node: String Field7085 |
Node: C Example12516 |
Node: Assembly Code13061 |
Node: Program Structure15032 |
Node: Main Program15758 |
Node: Source Files16319 |
Node: Include Files18771 |
Node: Line Numbers21436 |
Node: Procedures22970 |
Node: Nested Procedures28860 |
Node: Block Structure30036 |
Node: Alternate Entry Points31442 |
Node: Constants32175 |
Node: Variables35287 |
Node: Stack Variables35975 |
Node: Global Variables37676 |
Node: Register Variables38832 |
Node: Common Blocks39654 |
Node: Statics40908 |
Node: Based Variables43487 |
Node: Parameters44872 |
Node: Register Parameters46484 |
Node: Local Variable Parameters48745 |
Node: Reference Parameters51660 |
Node: Conformant Arrays52280 |
Node: Types52997 |
Node: Builtin Types53944 |
Node: Traditional Builtin Types55090 |
Node: Traditional Integer Types55491 |
Node: Traditional Other Types57799 |
Node: Builtin Type Descriptors58713 |
Node: Negative Type Numbers62213 |
Node: Miscellaneous Types68568 |
Node: Cross-References70454 |
Node: Subranges72129 |
Node: Arrays73368 |
Node: Strings76593 |
Node: Enumerations77655 |
Node: Structures80040 |
Node: Typedefs82747 |
Node: Unions84071 |
Node: Function Types85652 |
Node: Macro define and undefine87234 |
Node: Symbol Tables88811 |
Node: Symbol Table Format89263 |
Node: Transformations On Symbol Tables90711 |
Node: Transformations On Static Variables92065 |
Node: Transformations On Global Variables92801 |
Node: Stab Section Transformations94044 |
Node: Cplusplus95427 |
Node: Class Names96010 |
Node: Nested Symbols96755 |
Node: Basic Cplusplus Types97601 |
Node: Simple Classes99161 |
Node: Class Instance103455 |
Node: Methods104172 |
Node: Method Type Descriptor106391 |
Node: Member Type Descriptor107591 |
Node: Protections108383 |
Node: Method Modifiers111473 |
Node: Virtual Methods113101 |
Node: Inheritance116902 |
Node: Virtual Base Classes120598 |
Node: Static Members122842 |
Node: Stab Types123312 |
Node: Non-Stab Symbol Types123936 |
Node: Stab Symbol Types125367 |
Node: Symbol Descriptors129298 |
Node: Type Descriptors132077 |
Node: Expanded Reference135289 |
Node: N_PC136707 |
Node: N_NSYMS137075 |
Node: N_NOMAP137316 |
Node: N_M2C137622 |
Node: N_BROWS138056 |
Node: N_DEFD138339 |
Node: N_EHDECL138796 |
Node: N_MOD2139047 |
Node: N_CATCH139285 |
Node: N_SSYM139779 |
Node: N_SCOPE140064 |
Node: Gould140254 |
Node: N_LENG141246 |
Node: Questions141474 |
Node: Stab Sections143118 |
Node: Stab Section Basics143716 |
Node: ELF Linker Relocation147057 |
Node: GNU Free Documentation License150467 |
Node: Symbol Types Index175624 |
|
End Tag Table |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/doc/GDBvn.texi
1,4 → 1,4
@set GDBVN 7.2 |
@set GDBVN 7.2-or32-1.0rc1 |
@set VERSION_PACKAGE (GDB) |
@set BUGURL @uref{http://www.gnu.org/software/gdb/bugs/} |
@set BUGURL_DEFAULT |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/f-exp.c
1,30 → 1,39
/* A Bison parser, made by GNU Bison 1.875c. */ |
|
/* Skeleton parser for Yacc-like parsing with Bison, |
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
/* A Bison parser, made by GNU Bison 2.4.1. */ |
|
This program is free software; you can redistribute it and/or modify |
/* Skeleton implementation for Bison's Yacc-like parsers in C |
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |
Free Software Foundation, Inc. |
|
This program 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 2, or (at your option) |
any later version. |
|
the Free Software Foundation, either version 3 of the License, or |
(at your option) any later version. |
|
This program 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 this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
/* As a special exception, when this file is copied by Bison into a |
Bison output file, you may use that output file without restriction. |
This special exception was added by the Free Software Foundation |
in version 1.24 of Bison. */ |
/* As a special exception, you may create a larger work that contains |
part or all of the Bison parser skeleton and distribute that work |
under terms of your choice, so long as that work isn't itself a |
parser generator using the skeleton or a modified version thereof |
as a parser skeleton. Alternatively, if you modify or redistribute |
the parser skeleton itself, you may (at your option) remove this |
special exception, which will cause the skeleton and the resulting |
Bison output files to be licensed under the GNU General Public |
License without this special exception. |
|
This special exception was added by the Free Software Foundation in |
version 2.2 of Bison. */ |
|
/* Written by Richard Stallman by simplifying the original so called |
``semantic'' parser. */ |
/* C LALR(1) parser skeleton written by Richard Stallman, by |
simplifying the original so-called "semantic" parser. */ |
|
/* All symbols defined below should begin with yy or YY, to avoid |
infringing on user name space. This should be done even for local |
36,6 → 45,9
/* Identify Bison output. */ |
#define YYBISON 1 |
|
/* Bison version. */ |
#define YYBISON_VERSION "2.4.1" |
|
/* Skeleton name. */ |
#define YYSKELETON_NAME "yacc.c" |
|
42,100 → 54,20
/* Pure parsers. */ |
#define YYPURE 0 |
|
/* Push parsers. */ |
#define YYPUSH 0 |
|
/* Pull parsers. */ |
#define YYPULL 1 |
|
/* Using locations. */ |
#define YYLSP_NEEDED 0 |
|
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
STRING_LITERAL = 260, |
BOOLEAN_LITERAL = 261, |
NAME = 262, |
TYPENAME = 263, |
NAME_OR_INT = 264, |
SIZEOF = 265, |
ERROR = 266, |
INT_KEYWORD = 267, |
INT_S2_KEYWORD = 268, |
LOGICAL_S1_KEYWORD = 269, |
LOGICAL_S2_KEYWORD = 270, |
LOGICAL_S8_KEYWORD = 271, |
LOGICAL_KEYWORD = 272, |
REAL_KEYWORD = 273, |
REAL_S8_KEYWORD = 274, |
REAL_S16_KEYWORD = 275, |
COMPLEX_S8_KEYWORD = 276, |
COMPLEX_S16_KEYWORD = 277, |
COMPLEX_S32_KEYWORD = 278, |
BOOL_AND = 279, |
BOOL_OR = 280, |
BOOL_NOT = 281, |
CHARACTER = 282, |
VARIABLE = 283, |
ASSIGN_MODIFY = 284, |
ABOVE_COMMA = 285, |
NOTEQUAL = 286, |
EQUAL = 287, |
GEQ = 288, |
LEQ = 289, |
GREATERTHAN = 290, |
LESSTHAN = 291, |
RSH = 292, |
LSH = 293, |
STARSTAR = 294, |
UNARY = 295 |
}; |
#endif |
#define INT 258 |
#define FLOAT 259 |
#define STRING_LITERAL 260 |
#define BOOLEAN_LITERAL 261 |
#define NAME 262 |
#define TYPENAME 263 |
#define NAME_OR_INT 264 |
#define SIZEOF 265 |
#define ERROR 266 |
#define INT_KEYWORD 267 |
#define INT_S2_KEYWORD 268 |
#define LOGICAL_S1_KEYWORD 269 |
#define LOGICAL_S2_KEYWORD 270 |
#define LOGICAL_S8_KEYWORD 271 |
#define LOGICAL_KEYWORD 272 |
#define REAL_KEYWORD 273 |
#define REAL_S8_KEYWORD 274 |
#define REAL_S16_KEYWORD 275 |
#define COMPLEX_S8_KEYWORD 276 |
#define COMPLEX_S16_KEYWORD 277 |
#define COMPLEX_S32_KEYWORD 278 |
#define BOOL_AND 279 |
#define BOOL_OR 280 |
#define BOOL_NOT 281 |
#define CHARACTER 282 |
#define VARIABLE 283 |
#define ASSIGN_MODIFY 284 |
#define ABOVE_COMMA 285 |
#define NOTEQUAL 286 |
#define EQUAL 287 |
#define GEQ 288 |
#define LEQ 289 |
#define GREATERTHAN 290 |
#define LESSTHAN 291 |
#define RSH 292 |
#define LSH 293 |
#define STARSTAR 294 |
#define UNARY 295 |
/* Copy the first part of user declarations. */ |
|
|
|
|
/* Copy the first part of user declarations. */ |
/* Line 189 of yacc.c */ |
#line 44 "f-exp.y" |
|
|
221,6 → 153,9
|
|
|
/* Line 189 of yacc.c */ |
#line 158 "f-exp.c.tmp" |
|
/* Enabling traces. */ |
#ifndef YYDEBUG |
# define YYDEBUG 0 |
234,9 → 169,108
# define YYERROR_VERBOSE 0 |
#endif |
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
/* Enabling the token table. */ |
#ifndef YYTOKEN_TABLE |
# define YYTOKEN_TABLE 0 |
#endif |
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
STRING_LITERAL = 260, |
BOOLEAN_LITERAL = 261, |
NAME = 262, |
TYPENAME = 263, |
NAME_OR_INT = 264, |
SIZEOF = 265, |
ERROR = 266, |
INT_KEYWORD = 267, |
INT_S2_KEYWORD = 268, |
LOGICAL_S1_KEYWORD = 269, |
LOGICAL_S2_KEYWORD = 270, |
LOGICAL_S8_KEYWORD = 271, |
LOGICAL_KEYWORD = 272, |
REAL_KEYWORD = 273, |
REAL_S8_KEYWORD = 274, |
REAL_S16_KEYWORD = 275, |
COMPLEX_S8_KEYWORD = 276, |
COMPLEX_S16_KEYWORD = 277, |
COMPLEX_S32_KEYWORD = 278, |
BOOL_AND = 279, |
BOOL_OR = 280, |
BOOL_NOT = 281, |
CHARACTER = 282, |
VARIABLE = 283, |
ASSIGN_MODIFY = 284, |
ABOVE_COMMA = 285, |
NOTEQUAL = 286, |
EQUAL = 287, |
GEQ = 288, |
LEQ = 289, |
GREATERTHAN = 290, |
LESSTHAN = 291, |
RSH = 292, |
LSH = 293, |
STARSTAR = 294, |
UNARY = 295 |
}; |
#endif |
/* Tokens. */ |
#define INT 258 |
#define FLOAT 259 |
#define STRING_LITERAL 260 |
#define BOOLEAN_LITERAL 261 |
#define NAME 262 |
#define TYPENAME 263 |
#define NAME_OR_INT 264 |
#define SIZEOF 265 |
#define ERROR 266 |
#define INT_KEYWORD 267 |
#define INT_S2_KEYWORD 268 |
#define LOGICAL_S1_KEYWORD 269 |
#define LOGICAL_S2_KEYWORD 270 |
#define LOGICAL_S8_KEYWORD 271 |
#define LOGICAL_KEYWORD 272 |
#define REAL_KEYWORD 273 |
#define REAL_S8_KEYWORD 274 |
#define REAL_S16_KEYWORD 275 |
#define COMPLEX_S8_KEYWORD 276 |
#define COMPLEX_S16_KEYWORD 277 |
#define COMPLEX_S32_KEYWORD 278 |
#define BOOL_AND 279 |
#define BOOL_OR 280 |
#define BOOL_NOT 281 |
#define CHARACTER 282 |
#define VARIABLE 283 |
#define ASSIGN_MODIFY 284 |
#define ABOVE_COMMA 285 |
#define NOTEQUAL 286 |
#define EQUAL 287 |
#define GEQ 288 |
#define LEQ 289 |
#define GREATERTHAN 290 |
#define LESSTHAN 291 |
#define RSH 292 |
#define LSH 293 |
#define STARSTAR 294 |
#define UNARY 295 |
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
typedef union YYSTYPE |
{ |
|
/* Line 214 of yacc.c */ |
#line 133 "f-exp.y" |
typedef union YYSTYPE { |
|
LONGEST lval; |
struct { |
LONGEST val; |
255,17 → 289,21
|
struct type **tvec; |
int *ivec; |
} YYSTYPE; |
/* Line 191 of yacc.c. */ |
#line 261 "f-exp.c.tmp" |
|
|
|
/* Line 214 of yacc.c */ |
#line 297 "f-exp.c.tmp" |
} YYSTYPE; |
# define YYSTYPE_IS_TRIVIAL 1 |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
#endif |
|
|
/* Copy the second part of user declarations. */ |
|
/* Copy the second part of user declarations. */ |
/* Line 264 of yacc.c */ |
#line 154 "f-exp.y" |
|
/* YYSTYPE gets defined by %union */ |
272,58 → 310,172
static int parse_number (char *, int, int, YYSTYPE *); |
|
|
/* Line 214 of yacc.c. */ |
#line 277 "f-exp.c.tmp" |
/* Line 264 of yacc.c */ |
#line 315 "f-exp.c.tmp" |
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#ifdef short |
# undef short |
#endif |
|
# ifndef YYFREE |
# define YYFREE xfree |
#ifdef YYTYPE_UINT8 |
typedef YYTYPE_UINT8 yytype_uint8; |
#else |
typedef unsigned char yytype_uint8; |
#endif |
|
#ifdef YYTYPE_INT8 |
typedef YYTYPE_INT8 yytype_int8; |
#elif (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
typedef signed char yytype_int8; |
#else |
typedef short int yytype_int8; |
#endif |
|
#ifdef YYTYPE_UINT16 |
typedef YYTYPE_UINT16 yytype_uint16; |
#else |
typedef unsigned short int yytype_uint16; |
#endif |
|
#ifdef YYTYPE_INT16 |
typedef YYTYPE_INT16 yytype_int16; |
#else |
typedef short int yytype_int16; |
#endif |
|
#ifndef YYSIZE_T |
# ifdef __SIZE_TYPE__ |
# define YYSIZE_T __SIZE_TYPE__ |
# elif defined size_t |
# define YYSIZE_T size_t |
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# else |
# define YYSIZE_T unsigned int |
# endif |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
#endif |
|
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
|
#ifndef YY_ |
# if YYENABLE_NLS |
# if ENABLE_NLS |
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
# define YY_(msgid) dgettext ("bison-runtime", msgid) |
# endif |
# endif |
# ifndef YY_ |
# define YY_(msgid) msgid |
# endif |
#endif |
|
/* Suppress unused-variable warnings by "using" E. */ |
#if ! defined lint || defined __GNUC__ |
# define YYUSE(e) ((void) (e)) |
#else |
# define YYUSE(e) /* empty */ |
#endif |
|
/* Identity function, used to suppress warnings about constant conditions. */ |
#ifndef lint |
# define YYID(n) (n) |
#else |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static int |
YYID (int yyi) |
#else |
static int |
YYID (yyi) |
int yyi; |
#endif |
{ |
return yyi; |
} |
#endif |
|
#if ! defined yyoverflow || YYERROR_VERBOSE |
|
/* The parser invokes alloca or xmalloc; define the necessary symbols. */ |
|
# ifdef YYSTACK_USE_ALLOCA |
# if YYSTACK_USE_ALLOCA |
# define YYSTACK_ALLOC alloca |
# endif |
# else |
# if defined (alloca) || defined (_ALLOCA_H) |
# define YYSTACK_ALLOC alloca |
# else |
# ifdef __GNUC__ |
# define YYSTACK_ALLOC __builtin_alloca |
# elif defined __BUILTIN_VA_ARG_INCR |
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
# elif defined _AIX |
# define YYSTACK_ALLOC __alloca |
# elif defined _MSC_VER |
# define alloca _alloca |
# else |
# define YYSTACK_ALLOC alloca |
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# endif |
# endif |
# endif |
|
# ifdef YYSTACK_ALLOC |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) |
# ifndef YYSTACK_ALLOC_MAXIMUM |
/* The OS might guarantee only one guard page at the bottom of the stack, |
and a page size can be as small as 4096 bytes. So we cannot safely |
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
to allow for a few compiler-allocated temporary stack slots. */ |
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
# endif |
# else |
# if defined (__STDC__) || defined (__cplusplus) |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYSTACK_ALLOC_MAXIMUM |
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
# endif |
# if (defined __cplusplus && ! defined _STDLIB_H \ |
&& ! ((defined YYMALLOC || defined xmalloc) \ |
&& (defined YYFREE || defined xfree))) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
# if ! defined xmalloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void *xmalloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# ifndef YYFREE |
# define YYFREE xfree |
# if ! defined xfree && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void xfree (void *); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# endif |
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ |
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ |
|
|
#if (! defined (yyoverflow) \ |
&& (! defined (__cplusplus) \ |
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) |
#if (! defined yyoverflow \ |
&& (! defined __cplusplus \ |
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
|
/* A type that is properly aligned for any stack member. */ |
union yyalloc |
{ |
short yyss; |
YYSTYPE yyvs; |
}; |
yytype_int16 yyss_alloc; |
YYSTYPE yyvs_alloc; |
}; |
|
/* The size of the maximum gap between one aligned stack and the next. */ |
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
331,13 → 483,13
/* The size of an array large to enough to hold all stacks, each with |
N elements. */ |
# define YYSTACK_BYTES(N) \ |
((N) * (sizeof (short) + sizeof (YYSTYPE)) \ |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ |
+ YYSTACK_GAP_MAXIMUM) |
|
/* Copy COUNT objects from FROM to TO. The source and destination do |
not overlap. */ |
# ifndef YYCOPY |
# if defined (__GNUC__) && 1 < __GNUC__ |
# if defined __GNUC__ && 1 < __GNUC__ |
# define YYCOPY(To, From, Count) \ |
__builtin_memcpy (To, From, (Count) * sizeof (*(From))) |
# else |
344,11 → 496,11
# define YYCOPY(To, From, Count) \ |
do \ |
{ \ |
register YYSIZE_T yyi; \ |
YYSIZE_T yyi; \ |
for (yyi = 0; yyi < (Count); yyi++) \ |
(To)[yyi] = (From)[yyi]; \ |
} \ |
while (0) |
while (YYID (0)) |
# endif |
# endif |
|
357,37 → 509,31
elements in the stack, and YYPTR gives the new location of the |
stack. Advance YYPTR to a properly aligned location for the next |
stack. */ |
# define YYSTACK_RELOCATE(Stack) \ |
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
do \ |
{ \ |
YYSIZE_T yynewbytes; \ |
YYCOPY (&yyptr->Stack, Stack, yysize); \ |
Stack = &yyptr->Stack; \ |
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
Stack = &yyptr->Stack_alloc; \ |
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
yyptr += yynewbytes / sizeof (*yyptr); \ |
} \ |
while (0) |
while (YYID (0)) |
|
#endif |
|
#if defined (__STDC__) || defined (__cplusplus) |
typedef signed char yysigned_char; |
#else |
typedef short yysigned_char; |
#endif |
|
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
#define YYFINAL 47 |
/* YYLAST -- Last index in YYTABLE. */ |
#define YYLAST 529 |
|
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
#define YYNTOKENS 57 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
#define YYNNTS 18 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
#define YYNRULES 86 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
#define YYNSTATES 131 |
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
394,11 → 540,11
#define YYUNDEFTOK 2 |
#define YYMAXUTOK 295 |
|
#define YYTRANSLATE(YYX) \ |
#define YYTRANSLATE(YYX) \ |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
|
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
static const unsigned char yytranslate[] = |
static const yytype_uint8 yytranslate[] = |
{ |
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
435,7 → 581,7
#if YYDEBUG |
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
YYRHS. */ |
static const unsigned char yyprhs[] = |
static const yytype_uint8 yyprhs[] = |
{ |
0, 0, 3, 5, 7, 9, 13, 16, 19, 22, |
25, 28, 31, 32, 38, 39, 41, 43, 47, 51, |
448,8 → 594,8
238, 240, 242, 244, 246, 250, 252 |
}; |
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yysigned_char yyrhs[] = |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yytype_int8 yyrhs[] = |
{ |
58, 0, -1, 60, -1, 59, -1, 66, -1, 53, |
60, 54, -1, 48, 60, -1, 36, 60, -1, 47, |
480,7 → 626,7
}; |
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
static const unsigned short yyrline[] = |
static const yytype_uint16 yyrline[] = |
{ |
0, 233, 233, 234, 237, 243, 248, 252, 256, 260, |
264, 268, 278, 277, 285, 288, 292, 296, 302, 308, |
494,9 → 640,9
}; |
#endif |
|
#if YYDEBUG || YYERROR_VERBOSE |
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE |
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
static const char *const yytname[] = |
{ |
"$end", "error", "$undefined", "INT", "FLOAT", "STRING_LITERAL", |
509,7 → 655,7
"ASSIGN_MODIFY", "','", "ABOVE_COMMA", "'='", "'?'", "'|'", "'^'", "'&'", |
"NOTEQUAL", "EQUAL", "GEQ", "LEQ", "GREATERTHAN", "LESSTHAN", "RSH", |
"LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "STARSTAR", "'%'", "UNARY", |
"'('", "')'", "'~'", "':'", "$accept", "start", "type_exp", "exp", "@1", |
"'('", "')'", "'~'", "':'", "$accept", "start", "type_exp", "exp", "$@1", |
"arglist", "subrange", "complexnum", "variable", "type", "ptype", |
"abs_decl", "direct_abs_decl", "func_mod", "typebase", |
"nonempty_typelist", "name", "name_not_typename", 0 |
519,7 → 665,7
# ifdef YYPRINT |
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
token YYLEX-NUM. */ |
static const unsigned short yytoknum[] = |
static const yytype_uint16 yytoknum[] = |
{ |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
531,7 → 677,7
# endif |
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
static const unsigned char yyr1[] = |
static const yytype_uint8 yyr1[] = |
{ |
0, 57, 58, 58, 59, 60, 60, 60, 60, 60, |
60, 60, 61, 60, 62, 62, 62, 62, 63, 63, |
545,7 → 691,7
}; |
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
static const unsigned char yyr2[] = |
static const yytype_uint8 yyr2[] = |
{ |
0, 2, 1, 1, 1, 3, 2, 2, 2, 2, |
2, 2, 0, 5, 0, 1, 1, 3, 3, 2, |
561,7 → 707,7
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
means the default is an error. */ |
static const unsigned char yydefact[] = |
static const yytype_uint8 yydefact[] = |
{ |
0, 47, 49, 54, 53, 86, 69, 48, 0, 70, |
71, 76, 75, 73, 74, 77, 78, 79, 80, 81, |
579,8 → 725,8
17 |
}; |
|
/* YYDEFGOTO[NTERM-NUM]. */ |
static const yysigned_char yydefgoto[] = |
/* YYDEFGOTO[NTERM-NUM]. */ |
static const yytype_int8 yydefgoto[] = |
{ |
-1, 29, 30, 43, 105, 119, 120, 44, 32, 109, |
34, 74, 75, 76, 35, 111, 104, 36 |
589,7 → 735,7
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
STATE-NUM. */ |
#define YYPACT_NINF -57 |
static const short yypact[] = |
static const yytype_int16 yypact[] = |
{ |
134, -57, -57, -57, -57, -57, -57, -57, 162, -57, |
-57, -57, -57, -57, -57, -57, -57, -57, -57, -57, |
608,7 → 754,7
}; |
|
/* YYPGOTO[NTERM-NUM]. */ |
static const yysigned_char yypgoto[] = |
static const yytype_int8 yypgoto[] = |
{ |
-57, -57, -57, 0, -57, -57, -57, -57, -57, 2, |
-57, -56, -57, -30, -57, -57, -57, -57 |
619,7 → 765,7
number is the opposite. If zero, do what YYDEFACT says. |
If YYTABLE_NINF, syntax error. */ |
#define YYTABLE_NINF -1 |
static const unsigned char yytable[] = |
static const yytype_uint8 yytable[] = |
{ |
31, 71, 33, 122, 68, 69, 126, 70, 38, 66, |
67, 68, 69, 72, 70, 106, 107, 110, 73, 47, |
676,7 → 822,7
62, 63, 64, 65, 66, 67, 68, 69, 0, 70 |
}; |
|
static const yysigned_char yycheck[] = |
static const yytype_int8 yycheck[] = |
{ |
0, 36, 0, 30, 50, 51, 30, 53, 8, 48, |
49, 50, 51, 48, 53, 71, 72, 73, 53, 0, |
735,7 → 881,7
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
symbol of state STATE-NUM. */ |
static const unsigned char yystos[] = |
static const yytype_uint8 yystos[] = |
{ |
0, 3, 4, 5, 6, 7, 8, 9, 10, 12, |
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, |
753,22 → 899,6
60 |
}; |
|
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
# define YYSIZE_T __SIZE_TYPE__ |
#endif |
#if ! defined (YYSIZE_T) && defined (size_t) |
# define YYSIZE_T size_t |
#endif |
#if ! defined (YYSIZE_T) |
# if defined (__STDC__) || defined (__cplusplus) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# endif |
#endif |
#if ! defined (YYSIZE_T) |
# define YYSIZE_T unsigned int |
#endif |
|
#define yyerrok (yyerrstatus = 0) |
#define yyclearin (yychar = YYEMPTY) |
#define YYEMPTY (-2) |
794,30 → 924,63
yychar = (Token); \ |
yylval = (Value); \ |
yytoken = YYTRANSLATE (yychar); \ |
YYPOPSTACK; \ |
YYPOPSTACK (1); \ |
goto yybackup; \ |
} \ |
else \ |
{ \ |
yyerror ("syntax error: cannot back up");\ |
{ \ |
yyerror (YY_("syntax error: cannot back up")); \ |
YYERROR; \ |
} \ |
while (0) |
while (YYID (0)) |
|
|
#define YYTERROR 1 |
#define YYERRCODE 256 |
|
/* YYLLOC_DEFAULT -- Compute the default location (before the actions |
are run). */ |
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
If N is 0, then set CURRENT to the empty location which ends |
the previous symbol: RHS[0] (always defined). */ |
|
#define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#ifndef YYLLOC_DEFAULT |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
((Current).first_line = (Rhs)[1].first_line, \ |
(Current).first_column = (Rhs)[1].first_column, \ |
(Current).last_line = (Rhs)[N].last_line, \ |
(Current).last_column = (Rhs)[N].last_column) |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
do \ |
if (YYID (N)) \ |
{ \ |
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ |
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ |
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \ |
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \ |
} \ |
else \ |
{ \ |
(Current).first_line = (Current).last_line = \ |
YYRHSLOC (Rhs, 0).last_line; \ |
(Current).first_column = (Current).last_column = \ |
YYRHSLOC (Rhs, 0).last_column; \ |
} \ |
while (YYID (0)) |
#endif |
|
|
/* YY_LOCATION_PRINT -- Print the location on the stream. |
This macro was not mandated originally: define only if we know |
we won't break user code: when these are the locations we know. */ |
|
#ifndef YY_LOCATION_PRINT |
# if YYLTYPE_IS_TRIVIAL |
# define YY_LOCATION_PRINT(File, Loc) \ |
fprintf (File, "%d.%d-%d.%d", \ |
(Loc).first_line, (Loc).first_column, \ |
(Loc).last_line, (Loc).last_column) |
# else |
# define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
# endif |
#endif |
|
|
/* YYLEX -- calling `yylex' with the right arguments. */ |
|
#ifdef YYLEX_PARAM |
838,43 → 1001,100
do { \ |
if (yydebug) \ |
YYFPRINTF Args; \ |
} while (0) |
} while (YYID (0)) |
|
# define YYDSYMPRINT(Args) \ |
do { \ |
if (yydebug) \ |
yysymprint Args; \ |
} while (0) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yy_symbol_print (stderr, \ |
Type, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (YYID (0)) |
|
# define YYDSYMPRINTF(Title, Token, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yysymprint (stderr, \ |
Token, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (0) |
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_value_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (!yyvaluep) |
return; |
# ifdef YYPRINT |
if (yytype < YYNTOKENS) |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
# else |
YYUSE (yyoutput); |
# endif |
switch (yytype) |
{ |
default: |
break; |
} |
} |
|
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (yytype < YYNTOKENS) |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
|
yy_symbol_value_print (yyoutput, yytype, yyvaluep); |
YYFPRINTF (yyoutput, ")"); |
} |
|
/*------------------------------------------------------------------. |
| yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| TOP (included). | |
`------------------------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_stack_print (short *bottom, short *top) |
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) |
#else |
static void |
yy_stack_print (bottom, top) |
short *bottom; |
short *top; |
yy_stack_print (yybottom, yytop) |
yytype_int16 *yybottom; |
yytype_int16 *yytop; |
#endif |
{ |
YYFPRINTF (stderr, "Stack now"); |
for (/* Nothing. */; bottom <= top; ++bottom) |
YYFPRINTF (stderr, " %d", *bottom); |
for (; yybottom <= yytop; yybottom++) |
{ |
int yybot = *yybottom; |
YYFPRINTF (stderr, " %d", yybot); |
} |
YYFPRINTF (stderr, "\n"); |
} |
|
882,7 → 1102,7
do { \ |
if (yydebug) \ |
yy_stack_print ((Bottom), (Top)); \ |
} while (0) |
} while (YYID (0)) |
|
|
/*------------------------------------------------. |
889,30 → 1109,38
| Report that the YYRULE is going to be reduced. | |
`------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_reduce_print (int yyrule) |
yy_reduce_print (YYSTYPE *yyvsp, int yyrule) |
#else |
static void |
yy_reduce_print (yyrule) |
yy_reduce_print (yyvsp, yyrule) |
YYSTYPE *yyvsp; |
int yyrule; |
#endif |
{ |
int yynrhs = yyr2[yyrule]; |
int yyi; |
unsigned int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", |
yyrule - 1, yylno); |
/* Print the symbols being reduced, and their result. */ |
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) |
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); |
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); |
unsigned long int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", |
yyrule - 1, yylno); |
/* The symbols being reduced. */ |
for (yyi = 0; yyi < yynrhs; yyi++) |
{ |
YYFPRINTF (stderr, " $%d = ", yyi + 1); |
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], |
&(yyvsp[(yyi + 1) - (yynrhs)]) |
); |
YYFPRINTF (stderr, "\n"); |
} |
} |
|
# define YY_REDUCE_PRINT(Rule) \ |
do { \ |
if (yydebug) \ |
yy_reduce_print (Rule); \ |
} while (0) |
yy_reduce_print (yyvsp, Rule); \ |
} while (YYID (0)) |
|
/* Nonzero means print parse trace. It is left uninitialized so that |
multiple parsers can coexist. */ |
919,8 → 1147,7
int yydebug; |
#else /* !YYDEBUG */ |
# define YYDPRINTF(Args) |
# define YYDSYMPRINT(Args) |
# define YYDSYMPRINTF(Title, Token, Value, Location) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
# define YY_STACK_PRINT(Bottom, Top) |
# define YY_REDUCE_PRINT(Rule) |
#endif /* !YYDEBUG */ |
935,13 → 1162,9
if the built-in stack extension method is used). |
|
Do not make this value too large; the results are undefined if |
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) |
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
evaluated with infinite-precision integer arithmetic. */ |
|
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 |
# undef YYMAXDEPTH |
#endif |
|
#ifndef YYMAXDEPTH |
# define YYMAXDEPTH 10000 |
#endif |
951,45 → 1174,47
#if YYERROR_VERBOSE |
|
# ifndef yystrlen |
# if defined (__GLIBC__) && defined (_STRING_H) |
# if defined __GLIBC__ && defined _STRING_H |
# define yystrlen strlen |
# else |
/* Return the length of YYSTR. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static YYSIZE_T |
# if defined (__STDC__) || defined (__cplusplus) |
yystrlen (const char *yystr) |
# else |
#else |
static YYSIZE_T |
yystrlen (yystr) |
const char *yystr; |
# endif |
const char *yystr; |
#endif |
{ |
register const char *yys = yystr; |
|
while (*yys++ != '\0') |
YYSIZE_T yylen; |
for (yylen = 0; yystr[yylen]; yylen++) |
continue; |
|
return yys - yystr - 1; |
return yylen; |
} |
# endif |
# endif |
|
# ifndef yystpcpy |
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) |
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
# define yystpcpy stpcpy |
# else |
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in |
YYDEST. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static char * |
# if defined (__STDC__) || defined (__cplusplus) |
yystpcpy (char *yydest, const char *yysrc) |
# else |
#else |
static char * |
yystpcpy (yydest, yysrc) |
char *yydest; |
const char *yysrc; |
# endif |
char *yydest; |
const char *yysrc; |
#endif |
{ |
register char *yyd = yydest; |
register const char *yys = yysrc; |
char *yyd = yydest; |
const char *yys = yysrc; |
|
while ((*yyd++ = *yys++) != '\0') |
continue; |
999,84 → 1224,204
# endif |
# endif |
|
#endif /* !YYERROR_VERBOSE */ |
# ifndef yytnamerr |
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary |
quotes and backslashes, so that it's suitable for yyerror. The |
heuristic is that double-quoting is unnecessary unless the string |
contains an apostrophe, a comma, or backslash (other than |
backslash-backslash). YYSTR is taken from yytname. If YYRES is |
null, do not copy; instead, return the length of what the result |
would have been. */ |
static YYSIZE_T |
yytnamerr (char *yyres, const char *yystr) |
{ |
if (*yystr == '"') |
{ |
YYSIZE_T yyn = 0; |
char const *yyp = yystr; |
|
|
for (;;) |
switch (*++yyp) |
{ |
case '\'': |
case ',': |
goto do_not_strip_quotes; |
|
#if YYDEBUG |
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
case '\\': |
if (*++yyp != '\\') |
goto do_not_strip_quotes; |
/* Fall through. */ |
default: |
if (yyres) |
yyres[yyn] = *yyp; |
yyn++; |
break; |
|
#if defined (__STDC__) || defined (__cplusplus) |
static void |
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yysymprint (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
case '"': |
if (yyres) |
yyres[yyn] = '\0'; |
return yyn; |
} |
do_not_strip_quotes: ; |
} |
|
if (! yyres) |
return yystrlen (yystr); |
|
return yystpcpy (yyres, yystr) - yyres; |
} |
# endif |
|
/* Copy into YYRESULT an error message about the unexpected token |
YYCHAR while in state YYSTATE. Return the number of bytes copied, |
including the terminating null byte. If YYRESULT is null, do not |
copy anything; just return the number of bytes that would be |
copied. As a special case, return 0 if an ordinary "syntax error" |
message will do. Return YYSIZE_MAXIMUM if overflow occurs during |
size calculation. */ |
static YYSIZE_T |
yysyntax_error (char *yyresult, int yystate, int yychar) |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
int yyn = yypact[yystate]; |
|
if (yytype < YYNTOKENS) |
if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) |
return 0; |
else |
{ |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
# ifdef YYPRINT |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
int yytype = YYTRANSLATE (yychar); |
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); |
YYSIZE_T yysize = yysize0; |
YYSIZE_T yysize1; |
int yysize_overflow = 0; |
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
int yyx; |
|
# if 0 |
/* This is so xgettext sees the translatable formats that are |
constructed on the fly. */ |
YY_("syntax error, unexpected %s"); |
YY_("syntax error, unexpected %s, expecting %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |
# endif |
} |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
char *yyfmt; |
char const *yyf; |
static char const yyunexpected[] = "syntax error, unexpected %s"; |
static char const yyexpecting[] = ", expecting %s"; |
static char const yyor[] = " or %s"; |
char yyformat[sizeof yyunexpected |
+ sizeof yyexpecting - 1 |
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) |
* (sizeof yyor - 1))]; |
char const *yyprefix = yyexpecting; |
|
switch (yytype) |
{ |
default: |
break; |
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn + 1; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 1; |
|
yyarg[0] = yytname[yytype]; |
yyfmt = yystpcpy (yyformat, yyunexpected); |
|
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
{ |
yycount = 1; |
yysize = yysize0; |
yyformat[sizeof yyunexpected - 1] = '\0'; |
break; |
} |
yyarg[yycount++] = yytname[yyx]; |
yysize1 = yysize + yytnamerr (0, yytname[yyx]); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
yyfmt = yystpcpy (yyfmt, yyprefix); |
yyprefix = yyor; |
} |
|
yyf = YY_(yyformat); |
yysize1 = yysize + yystrlen (yyf); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
|
if (yysize_overflow) |
return YYSIZE_MAXIMUM; |
|
if (yyresult) |
{ |
/* Avoid sprintf, as that infringes on the user's name space. |
Don't have undefined behavior even if the translation |
produced a string with the wrong number of "%s"s. */ |
char *yyp = yyresult; |
int yyi = 0; |
while ((*yyp = *yyf) != '\0') |
{ |
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) |
{ |
yyp += yytnamerr (yyp, yyarg[yyi++]); |
yyf += 2; |
} |
else |
{ |
yyp++; |
yyf++; |
} |
} |
} |
return yysize; |
} |
YYFPRINTF (yyoutput, ")"); |
} |
#endif /* YYERROR_VERBOSE */ |
|
|
#endif /* ! YYDEBUG */ |
/*-----------------------------------------------. |
| Release the memory associated to this symbol. | |
`-----------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yydestruct (int yytype, YYSTYPE *yyvaluep) |
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yydestruct (yytype, yyvaluep) |
yydestruct (yymsg, yytype, yyvaluep) |
const char *yymsg; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
YYUSE (yyvaluep); |
|
if (!yymsg) |
yymsg = "Deleting"; |
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); |
|
switch (yytype) |
{ |
|
default: |
break; |
break; |
} |
} |
|
|
/* Prevent warnings from -Wmissing-prototypes. */ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void *YYPARSE_PARAM); |
# else |
#else |
int yyparse (); |
# endif |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void); |
#else |
int yyparse (); |
1084,7 → 1429,6
#endif /* ! YYPARSE_PARAM */ |
|
|
|
/* The lookahead symbol. */ |
int yychar; |
|
1096,19 → 1440,23
|
|
|
/*----------. |
| yyparse. | |
`----------*/ |
/*-------------------------. |
| yyparse or yypush_parse. | |
`-------------------------*/ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
int yyparse (void *YYPARSE_PARAM) |
# else |
int yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
# endif |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void *YYPARSE_PARAM) |
#else |
int |
yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void) |
#else |
1118,60 → 1466,68
#endif |
#endif |
{ |
|
register int yystate; |
register int yyn; |
int yyresult; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken = 0; |
|
/* Three stacks and their tools: |
`yyss': related to states, |
`yyvs': related to semantic values, |
`yyls': related to locations. |
|
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
int yystate; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
|
/* The state stack. */ |
short yyssa[YYINITDEPTH]; |
short *yyss = yyssa; |
register short *yyssp; |
/* The stacks and their tools: |
`yyss': related to states. |
`yyvs': related to semantic values. |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs = yyvsa; |
register YYSTYPE *yyvsp; |
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
|
/* The state stack. */ |
yytype_int16 yyssa[YYINITDEPTH]; |
yytype_int16 *yyss; |
yytype_int16 *yyssp; |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs; |
YYSTYPE *yyvsp; |
|
#define YYPOPSTACK (yyvsp--, yyssp--) |
YYSIZE_T yystacksize; |
|
YYSIZE_T yystacksize = YYINITDEPTH; |
|
int yyn; |
int yyresult; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken; |
/* The variables used to return semantic value and location from the |
action routines. */ |
YYSTYPE yyval; |
|
#if YYERROR_VERBOSE |
/* Buffer for error messages, and its allocated size. */ |
char yymsgbuf[128]; |
char *yymsg = yymsgbuf; |
YYSIZE_T yymsg_alloc = sizeof yymsgbuf; |
#endif |
|
/* When reducing, the number of symbols on the RHS of the reduced |
rule. */ |
int yylen; |
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
|
/* The number of symbols on the RHS of the reduced rule. |
Keep to zero when no symbol should be popped. */ |
int yylen = 0; |
|
yytoken = 0; |
yyss = yyssa; |
yyvs = yyvsa; |
yystacksize = YYINITDEPTH; |
|
YYDPRINTF ((stderr, "Starting parse\n")); |
|
yystate = 0; |
yyerrstatus = 0; |
yynerrs = 0; |
yychar = YYEMPTY; /* Cause a token to be read. */ |
yychar = YYEMPTY; /* Cause a token to be read. */ |
|
/* Initialize stack pointers. |
Waste one element of value and location stack |
so that they stay on the same level as the state stack. |
The wasted elements are never initialized. */ |
|
yyssp = yyss; |
yyvsp = yyvs; |
|
1182,8 → 1538,7
`------------------------------------------------------------*/ |
yynewstate: |
/* In all cases, when you get here, the value and location stacks |
have just been pushed. so pushing a state here evens the stacks. |
*/ |
have just been pushed. So pushing a state here evens the stacks. */ |
yyssp++; |
|
yysetstate: |
1196,21 → 1551,19
|
#ifdef yyoverflow |
{ |
/* Give user a chance to xreallocate the stack. Use copies of |
/* Give user a chance to xreallocate the stack. Use copies of |
these so that the &'s don't force the real ones into |
memory. */ |
YYSTYPE *yyvs1 = yyvs; |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
|
|
/* Each stack pointer address is followed by the size of the |
data in use in that stack, in bytes. This used to be a |
conditional around just the two extra args, but that might |
be undefined if yyoverflow is a macro. */ |
yyoverflow ("parser stack overflow", |
yyoverflow (YY_("memory exhausted"), |
&yyss1, yysize * sizeof (*yyssp), |
&yyvs1, yysize * sizeof (*yyvsp), |
|
&yystacksize); |
|
yyss = yyss1; |
1218,24 → 1571,23
} |
#else /* no yyoverflow */ |
# ifndef YYSTACK_RELOCATE |
goto yyoverflowlab; |
goto yyexhaustedlab; |
# else |
/* Extend the stack our own way. */ |
if (YYMAXDEPTH <= yystacksize) |
goto yyoverflowlab; |
goto yyexhaustedlab; |
yystacksize *= 2; |
if (YYMAXDEPTH < yystacksize) |
yystacksize = YYMAXDEPTH; |
|
{ |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
union yyalloc *yyptr = |
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); |
if (! yyptr) |
goto yyoverflowlab; |
YYSTACK_RELOCATE (yyss); |
YYSTACK_RELOCATE (yyvs); |
|
goto yyexhaustedlab; |
YYSTACK_RELOCATE (yyss_alloc, yyss); |
YYSTACK_RELOCATE (yyvs_alloc, yyvs); |
# undef YYSTACK_RELOCATE |
if (yyss1 != yyssa) |
YYSTACK_FREE (yyss1); |
1246,7 → 1598,6
yyssp = yyss + yysize - 1; |
yyvsp = yyvs + yysize - 1; |
|
|
YYDPRINTF ((stderr, "Stack size increased to %lu\n", |
(unsigned long int) yystacksize)); |
|
1256,6 → 1607,9
|
YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
|
if (yystate == YYFINAL) |
YYACCEPT; |
|
goto yybackup; |
|
/*-----------. |
1263,12 → 1617,10
`-----------*/ |
yybackup: |
|
/* Do appropriate processing given the current state. */ |
/* Read a lookahead token if we need one and don't already have one. */ |
/* yyresume: */ |
/* Do appropriate processing given the current state. Read a |
lookahead token if we need one and don't already have one. */ |
|
/* First try to decide what to do without reference to lookahead token. */ |
|
yyn = yypact[yystate]; |
if (yyn == YYPACT_NINF) |
goto yydefault; |
1290,7 → 1642,7
else |
{ |
yytoken = YYTRANSLATE (yychar); |
YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); |
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); |
} |
|
/* If the proper action on seeing token YYTOKEN is to reduce or to |
1307,25 → 1659,20
goto yyreduce; |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
/* Shift the lookahead token. */ |
YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); |
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); |
|
/* Discard the token being shifted unless it is eof. */ |
if (yychar != YYEOF) |
yychar = YYEMPTY; |
/* Discard the shifted token. */ |
yychar = YYEMPTY; |
|
yystate = yyn; |
*++yyvsp = yylval; |
|
|
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
yystate = yyn; |
goto yynewstate; |
|
|
1361,53 → 1708,73
switch (yyn) |
{ |
case 4: |
|
/* Line 1455 of yacc.c */ |
#line 238 "f-exp.y" |
{ write_exp_elt_opcode(OP_TYPE); |
write_exp_elt_type(yyvsp[0].tval); |
write_exp_elt_type((yyvsp[(1) - (1)].tval)); |
write_exp_elt_opcode(OP_TYPE); } |
break; |
|
case 5: |
|
/* Line 1455 of yacc.c */ |
#line 244 "f-exp.y" |
{ } |
break; |
|
case 6: |
|
/* Line 1455 of yacc.c */ |
#line 249 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_IND); } |
break; |
|
case 7: |
|
/* Line 1455 of yacc.c */ |
#line 253 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_ADDR); } |
break; |
|
case 8: |
|
/* Line 1455 of yacc.c */ |
#line 257 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_NEG); } |
break; |
|
case 9: |
|
/* Line 1455 of yacc.c */ |
#line 261 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_LOGICAL_NOT); } |
break; |
|
case 10: |
|
/* Line 1455 of yacc.c */ |
#line 265 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_COMPLEMENT); } |
break; |
|
case 11: |
|
/* Line 1455 of yacc.c */ |
#line 269 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_SIZEOF); } |
break; |
|
case 12: |
|
/* Line 1455 of yacc.c */ |
#line 278 "f-exp.y" |
{ start_arglist (); } |
break; |
|
case 13: |
|
/* Line 1455 of yacc.c */ |
#line 280 "f-exp.y" |
{ write_exp_elt_opcode (OP_F77_UNDETERMINED_ARGLIST); |
write_exp_elt_longcst ((LONGEST) end_arglist ()); |
1415,21 → 1782,29
break; |
|
case 15: |
|
/* Line 1455 of yacc.c */ |
#line 289 "f-exp.y" |
{ arglist_len = 1; } |
break; |
|
case 16: |
|
/* Line 1455 of yacc.c */ |
#line 293 "f-exp.y" |
{ arglist_len = 1; } |
break; |
|
case 17: |
|
/* Line 1455 of yacc.c */ |
#line 297 "f-exp.y" |
{ arglist_len++; } |
break; |
|
case 18: |
|
/* Line 1455 of yacc.c */ |
#line 303 "f-exp.y" |
{ write_exp_elt_opcode (OP_F90_RANGE); |
write_exp_elt_longcst (NONE_BOUND_DEFAULT); |
1437,6 → 1812,8
break; |
|
case 19: |
|
/* Line 1455 of yacc.c */ |
#line 309 "f-exp.y" |
{ write_exp_elt_opcode (OP_F90_RANGE); |
write_exp_elt_longcst (HIGH_BOUND_DEFAULT); |
1444,6 → 1821,8
break; |
|
case 20: |
|
/* Line 1455 of yacc.c */ |
#line 315 "f-exp.y" |
{ write_exp_elt_opcode (OP_F90_RANGE); |
write_exp_elt_longcst (LOW_BOUND_DEFAULT); |
1451,6 → 1830,8
break; |
|
case 21: |
|
/* Line 1455 of yacc.c */ |
#line 321 "f-exp.y" |
{ write_exp_elt_opcode (OP_F90_RANGE); |
write_exp_elt_longcst (BOTH_BOUND_DEFAULT); |
1458,11 → 1839,15
break; |
|
case 22: |
|
/* Line 1455 of yacc.c */ |
#line 327 "f-exp.y" |
{ } |
break; |
|
case 23: |
|
/* Line 1455 of yacc.c */ |
#line 331 "f-exp.y" |
{ write_exp_elt_opcode(OP_COMPLEX); |
write_exp_elt_type (parse_f_type->builtin_complex_s16); |
1470,138 → 1855,188
break; |
|
case 24: |
|
/* Line 1455 of yacc.c */ |
#line 337 "f-exp.y" |
{ write_exp_elt_opcode (UNOP_CAST); |
write_exp_elt_type (yyvsp[-2].tval); |
write_exp_elt_type ((yyvsp[(2) - (4)].tval)); |
write_exp_elt_opcode (UNOP_CAST); } |
break; |
|
case 25: |
|
/* Line 1455 of yacc.c */ |
#line 343 "f-exp.y" |
{ write_exp_elt_opcode (STRUCTOP_STRUCT); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(3) - (3)].sval)); |
write_exp_elt_opcode (STRUCTOP_STRUCT); } |
break; |
|
case 26: |
|
/* Line 1455 of yacc.c */ |
#line 351 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_REPEAT); } |
break; |
|
case 27: |
|
/* Line 1455 of yacc.c */ |
#line 355 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_EXP); } |
break; |
|
case 28: |
|
/* Line 1455 of yacc.c */ |
#line 359 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_MUL); } |
break; |
|
case 29: |
|
/* Line 1455 of yacc.c */ |
#line 363 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_DIV); } |
break; |
|
case 30: |
|
/* Line 1455 of yacc.c */ |
#line 367 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_ADD); } |
break; |
|
case 31: |
|
/* Line 1455 of yacc.c */ |
#line 371 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_SUB); } |
break; |
|
case 32: |
|
/* Line 1455 of yacc.c */ |
#line 375 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_LSH); } |
break; |
|
case 33: |
|
/* Line 1455 of yacc.c */ |
#line 379 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_RSH); } |
break; |
|
case 34: |
|
/* Line 1455 of yacc.c */ |
#line 383 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_EQUAL); } |
break; |
|
case 35: |
|
/* Line 1455 of yacc.c */ |
#line 387 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_NOTEQUAL); } |
break; |
|
case 36: |
|
/* Line 1455 of yacc.c */ |
#line 391 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_LEQ); } |
break; |
|
case 37: |
|
/* Line 1455 of yacc.c */ |
#line 395 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_GEQ); } |
break; |
|
case 38: |
|
/* Line 1455 of yacc.c */ |
#line 399 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_LESS); } |
break; |
|
case 39: |
|
/* Line 1455 of yacc.c */ |
#line 403 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_GTR); } |
break; |
|
case 40: |
|
/* Line 1455 of yacc.c */ |
#line 407 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_AND); } |
break; |
|
case 41: |
|
/* Line 1455 of yacc.c */ |
#line 411 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_XOR); } |
break; |
|
case 42: |
|
/* Line 1455 of yacc.c */ |
#line 415 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_IOR); } |
break; |
|
case 43: |
|
/* Line 1455 of yacc.c */ |
#line 419 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_AND); } |
break; |
|
case 44: |
|
/* Line 1455 of yacc.c */ |
#line 424 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_OR); } |
break; |
|
case 45: |
|
/* Line 1455 of yacc.c */ |
#line 428 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_ASSIGN); } |
break; |
|
case 46: |
|
/* Line 1455 of yacc.c */ |
#line 432 "f-exp.y" |
{ write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); |
write_exp_elt_opcode (yyvsp[-1].opcode); |
write_exp_elt_opcode ((yyvsp[(2) - (3)].opcode)); |
write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); } |
break; |
|
case 47: |
|
/* Line 1455 of yacc.c */ |
#line 438 "f-exp.y" |
{ write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (yyvsp[0].typed_val.type); |
write_exp_elt_longcst ((LONGEST)(yyvsp[0].typed_val.val)); |
write_exp_elt_type ((yyvsp[(1) - (1)].typed_val).type); |
write_exp_elt_longcst ((LONGEST)((yyvsp[(1) - (1)].typed_val).val)); |
write_exp_elt_opcode (OP_LONG); } |
break; |
|
case 48: |
|
/* Line 1455 of yacc.c */ |
#line 445 "f-exp.y" |
{ YYSTYPE val; |
parse_number (yyvsp[0].ssym.stoken.ptr, yyvsp[0].ssym.stoken.length, 0, &val); |
parse_number ((yyvsp[(1) - (1)].ssym).stoken.ptr, (yyvsp[(1) - (1)].ssym).stoken.length, 0, &val); |
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (val.typed_val.type); |
write_exp_elt_longcst ((LONGEST)val.typed_val.val); |
1609,42 → 2044,52
break; |
|
case 49: |
|
/* Line 1455 of yacc.c */ |
#line 454 "f-exp.y" |
{ write_exp_elt_opcode (OP_DOUBLE); |
write_exp_elt_type (parse_f_type->builtin_real_s8); |
write_exp_elt_dblcst (yyvsp[0].dval); |
write_exp_elt_dblcst ((yyvsp[(1) - (1)].dval)); |
write_exp_elt_opcode (OP_DOUBLE); } |
break; |
|
case 52: |
|
/* Line 1455 of yacc.c */ |
#line 467 "f-exp.y" |
{ write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (parse_f_type->builtin_integer); |
CHECK_TYPEDEF (yyvsp[-1].tval); |
write_exp_elt_longcst ((LONGEST) TYPE_LENGTH (yyvsp[-1].tval)); |
CHECK_TYPEDEF ((yyvsp[(3) - (4)].tval)); |
write_exp_elt_longcst ((LONGEST) TYPE_LENGTH ((yyvsp[(3) - (4)].tval))); |
write_exp_elt_opcode (OP_LONG); } |
break; |
|
case 53: |
|
/* Line 1455 of yacc.c */ |
#line 475 "f-exp.y" |
{ write_exp_elt_opcode (OP_BOOL); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].lval); |
write_exp_elt_longcst ((LONGEST) (yyvsp[(1) - (1)].lval)); |
write_exp_elt_opcode (OP_BOOL); |
} |
break; |
|
case 54: |
|
/* Line 1455 of yacc.c */ |
#line 482 "f-exp.y" |
{ |
write_exp_elt_opcode (OP_STRING); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(1) - (1)].sval)); |
write_exp_elt_opcode (OP_STRING); |
} |
break; |
|
case 55: |
|
/* Line 1455 of yacc.c */ |
#line 490 "f-exp.y" |
{ struct symbol *sym = yyvsp[0].ssym.sym; |
{ struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym; |
|
if (sym) |
{ |
1667,7 → 2112,7
else |
{ |
struct minimal_symbol *msymbol; |
char *arg = copy_name (yyvsp[0].ssym.stoken); |
char *arg = copy_name ((yyvsp[(1) - (1)].ssym).stoken); |
|
msymbol = |
lookup_minimal_symbol (arg, NULL, NULL); |
1677,18 → 2122,20
error ("No symbol table is loaded. Use the \"file\" command."); |
else |
error ("No symbol \"%s\" in current context.", |
copy_name (yyvsp[0].ssym.stoken)); |
copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
} |
} |
break; |
|
case 58: |
|
/* Line 1455 of yacc.c */ |
#line 534 "f-exp.y" |
{ |
/* This is where the interesting stuff happens. */ |
int done = 0; |
int array_size; |
struct type *follow_type = yyvsp[-1].tval; |
struct type *follow_type = (yyvsp[(1) - (2)].tval); |
struct type *range_type; |
|
while (!done) |
1722,161 → 2169,212
follow_type = lookup_function_type (follow_type); |
break; |
} |
yyval.tval = follow_type; |
(yyval.tval) = follow_type; |
} |
break; |
|
case 59: |
|
/* Line 1455 of yacc.c */ |
#line 577 "f-exp.y" |
{ push_type (tp_pointer); yyval.voidval = 0; } |
{ push_type (tp_pointer); (yyval.voidval) = 0; } |
break; |
|
case 60: |
|
/* Line 1455 of yacc.c */ |
#line 579 "f-exp.y" |
{ push_type (tp_pointer); yyval.voidval = yyvsp[0].voidval; } |
{ push_type (tp_pointer); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); } |
break; |
|
case 61: |
|
/* Line 1455 of yacc.c */ |
#line 581 "f-exp.y" |
{ push_type (tp_reference); yyval.voidval = 0; } |
{ push_type (tp_reference); (yyval.voidval) = 0; } |
break; |
|
case 62: |
|
/* Line 1455 of yacc.c */ |
#line 583 "f-exp.y" |
{ push_type (tp_reference); yyval.voidval = yyvsp[0].voidval; } |
{ push_type (tp_reference); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); } |
break; |
|
case 64: |
|
/* Line 1455 of yacc.c */ |
#line 588 "f-exp.y" |
{ yyval.voidval = yyvsp[-1].voidval; } |
{ (yyval.voidval) = (yyvsp[(2) - (3)].voidval); } |
break; |
|
case 65: |
|
/* Line 1455 of yacc.c */ |
#line 590 "f-exp.y" |
{ push_type (tp_function); } |
break; |
|
case 66: |
|
/* Line 1455 of yacc.c */ |
#line 592 "f-exp.y" |
{ push_type (tp_function); } |
break; |
|
case 67: |
|
/* Line 1455 of yacc.c */ |
#line 596 "f-exp.y" |
{ yyval.voidval = 0; } |
{ (yyval.voidval) = 0; } |
break; |
|
case 68: |
|
/* Line 1455 of yacc.c */ |
#line 598 "f-exp.y" |
{ xfree (yyvsp[-1].tvec); yyval.voidval = 0; } |
{ xfree ((yyvsp[(2) - (3)].tvec)); (yyval.voidval) = 0; } |
break; |
|
case 69: |
|
/* Line 1455 of yacc.c */ |
#line 603 "f-exp.y" |
{ yyval.tval = yyvsp[0].tsym.type; } |
{ (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; } |
break; |
|
case 70: |
|
/* Line 1455 of yacc.c */ |
#line 605 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_integer; } |
{ (yyval.tval) = parse_f_type->builtin_integer; } |
break; |
|
case 71: |
|
/* Line 1455 of yacc.c */ |
#line 607 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_integer_s2; } |
{ (yyval.tval) = parse_f_type->builtin_integer_s2; } |
break; |
|
case 72: |
|
/* Line 1455 of yacc.c */ |
#line 609 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_character; } |
{ (yyval.tval) = parse_f_type->builtin_character; } |
break; |
|
case 73: |
|
/* Line 1455 of yacc.c */ |
#line 611 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_logical_s8; } |
{ (yyval.tval) = parse_f_type->builtin_logical_s8; } |
break; |
|
case 74: |
|
/* Line 1455 of yacc.c */ |
#line 613 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_logical; } |
{ (yyval.tval) = parse_f_type->builtin_logical; } |
break; |
|
case 75: |
|
/* Line 1455 of yacc.c */ |
#line 615 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_logical_s2; } |
{ (yyval.tval) = parse_f_type->builtin_logical_s2; } |
break; |
|
case 76: |
|
/* Line 1455 of yacc.c */ |
#line 617 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_logical_s1; } |
{ (yyval.tval) = parse_f_type->builtin_logical_s1; } |
break; |
|
case 77: |
|
/* Line 1455 of yacc.c */ |
#line 619 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_real; } |
{ (yyval.tval) = parse_f_type->builtin_real; } |
break; |
|
case 78: |
|
/* Line 1455 of yacc.c */ |
#line 621 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_real_s8; } |
{ (yyval.tval) = parse_f_type->builtin_real_s8; } |
break; |
|
case 79: |
|
/* Line 1455 of yacc.c */ |
#line 623 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_real_s16; } |
{ (yyval.tval) = parse_f_type->builtin_real_s16; } |
break; |
|
case 80: |
|
/* Line 1455 of yacc.c */ |
#line 625 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_complex_s8; } |
{ (yyval.tval) = parse_f_type->builtin_complex_s8; } |
break; |
|
case 81: |
|
/* Line 1455 of yacc.c */ |
#line 627 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_complex_s16; } |
{ (yyval.tval) = parse_f_type->builtin_complex_s16; } |
break; |
|
case 82: |
|
/* Line 1455 of yacc.c */ |
#line 629 "f-exp.y" |
{ yyval.tval = parse_f_type->builtin_complex_s32; } |
{ (yyval.tval) = parse_f_type->builtin_complex_s32; } |
break; |
|
case 83: |
|
/* Line 1455 of yacc.c */ |
#line 634 "f-exp.y" |
{ yyval.tvec = (struct type **) xmalloc (sizeof (struct type *) * 2); |
yyval.ivec[0] = 1; /* Number of types in vector */ |
yyval.tvec[1] = yyvsp[0].tval; |
{ (yyval.tvec) = (struct type **) xmalloc (sizeof (struct type *) * 2); |
(yyval.ivec)[0] = 1; /* Number of types in vector */ |
(yyval.tvec)[1] = (yyvsp[(1) - (1)].tval); |
} |
break; |
|
case 84: |
|
/* Line 1455 of yacc.c */ |
#line 639 "f-exp.y" |
{ int len = sizeof (struct type *) * (++(yyvsp[-2].ivec[0]) + 1); |
yyval.tvec = (struct type **) xrealloc ((char *) yyvsp[-2].tvec, len); |
yyval.tvec[yyval.ivec[0]] = yyvsp[0].tval; |
{ int len = sizeof (struct type *) * (++((yyvsp[(1) - (3)].ivec)[0]) + 1); |
(yyval.tvec) = (struct type **) xrealloc ((char *) (yyvsp[(1) - (3)].tvec), len); |
(yyval.tvec)[(yyval.ivec)[0]] = (yyvsp[(3) - (3)].tval); |
} |
break; |
|
case 85: |
|
/* Line 1455 of yacc.c */ |
#line 646 "f-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
|
|
/* Line 1455 of yacc.c */ |
#line 2369 "f-exp.c.tmp" |
default: break; |
} |
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
|
/* Line 1000 of yacc.c. */ |
#line 1870 "f-exp.c.tmp" |
|
yyvsp -= yylen; |
yyssp -= yylen; |
|
|
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
|
*++yyvsp = yyval; |
|
|
/* Now `shift' the result of the reduction. Determine what state |
that goes to, based on the state we popped back to and the rule |
number reduced by. */ |
1900,66 → 2398,41
if (!yyerrstatus) |
{ |
++yynerrs; |
#if YYERROR_VERBOSE |
yyn = yypact[yystate]; |
|
if (YYPACT_NINF < yyn && yyn < YYLAST) |
{ |
YYSIZE_T yysize = 0; |
int yytype = YYTRANSLATE (yychar); |
const char* yyprefix; |
char *yymsg; |
int yyx; |
|
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 0; |
|
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
#if ! YYERROR_VERBOSE |
yyerror (YY_("syntax error")); |
#else |
{ |
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); |
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) |
{ |
YYSIZE_T yyalloc = 2 * yysize; |
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) |
yyalloc = YYSTACK_ALLOC_MAXIMUM; |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
yymsg = (char *) YYSTACK_ALLOC (yyalloc); |
if (yymsg) |
yymsg_alloc = yyalloc; |
else |
{ |
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); |
yycount += 1; |
if (yycount == 5) |
{ |
yysize = 0; |
break; |
} |
yymsg = yymsgbuf; |
yymsg_alloc = sizeof yymsgbuf; |
} |
yysize += (sizeof ("syntax error, unexpected ") |
+ yystrlen (yytname[yytype])); |
yymsg = (char *) YYSTACK_ALLOC (yysize); |
if (yymsg != 0) |
{ |
char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); |
yyp = yystpcpy (yyp, yytname[yytype]); |
} |
|
if (yycount < 5) |
{ |
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
yyp = yystpcpy (yyp, yyprefix); |
yyp = yystpcpy (yyp, yytname[yyx]); |
yyprefix = " or "; |
} |
} |
yyerror (yymsg); |
YYSTACK_FREE (yymsg); |
} |
else |
yyerror ("syntax error; also virtual memory exhausted"); |
} |
else |
#endif /* YYERROR_VERBOSE */ |
yyerror ("syntax error"); |
if (0 < yysize && yysize <= yymsg_alloc) |
{ |
(void) yysyntax_error (yymsg, yystate, yychar); |
yyerror (yymsg); |
} |
else |
{ |
yyerror (YY_("syntax error")); |
if (yysize != 0) |
goto yyexhaustedlab; |
} |
} |
#endif |
} |
|
|
1970,25 → 2443,16
error, discard it. */ |
|
if (yychar <= YYEOF) |
{ |
/* If at end of input, pop the error token, |
then the rest of the stack, then return failure. */ |
{ |
/* Return failure if at end of input. */ |
if (yychar == YYEOF) |
for (;;) |
{ |
YYPOPSTACK; |
if (yyssp == yyss) |
YYABORT; |
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[*yyssp], yyvsp); |
} |
} |
YYABORT; |
} |
else |
{ |
YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); |
yydestruct (yytoken, &yylval); |
yydestruct ("Error: discarding", |
yytoken, &yylval); |
yychar = YYEMPTY; |
|
} |
} |
|
2002,15 → 2466,17
`---------------------------------------------------*/ |
yyerrorlab: |
|
#ifdef __GNUC__ |
/* Pacify GCC when the user code never invokes YYERROR and the label |
yyerrorlab therefore never appears in user code. */ |
if (0) |
/* Pacify compilers like GCC when the user code never invokes |
YYERROR and the label yyerrorlab therefore never appears in user |
code. */ |
if (/*CONSTCOND*/ 0) |
goto yyerrorlab; |
#endif |
|
yyvsp -= yylen; |
yyssp -= yylen; |
/* Do not reclaim the symbols of the rule which action triggered |
this YYERROR. */ |
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
yystate = *yyssp; |
goto yyerrlab1; |
|
2039,21 → 2505,20
if (yyssp == yyss) |
YYABORT; |
|
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[yystate], yyvsp); |
YYPOPSTACK; |
|
yydestruct ("Error: popping", |
yystos[yystate], yyvsp); |
YYPOPSTACK (1); |
yystate = *yyssp; |
YY_STACK_PRINT (yyss, yyssp); |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
*++yyvsp = yylval; |
|
YYDPRINTF ((stderr, "Shifting error token, ")); |
|
*++yyvsp = yylval; |
/* Shift the error token. */ |
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); |
|
|
yystate = yyn; |
goto yynewstate; |
|
2072,25 → 2537,45
yyresult = 1; |
goto yyreturn; |
|
#ifndef yyoverflow |
/*----------------------------------------------. |
| yyoverflowlab -- parser overflow comes here. | |
`----------------------------------------------*/ |
yyoverflowlab: |
yyerror ("parser stack overflow"); |
#if !defined(yyoverflow) || YYERROR_VERBOSE |
/*-------------------------------------------------. |
| yyexhaustedlab -- memory exhaustion comes here. | |
`-------------------------------------------------*/ |
yyexhaustedlab: |
yyerror (YY_("memory exhausted")); |
yyresult = 2; |
/* Fall through. */ |
#endif |
|
yyreturn: |
if (yychar != YYEMPTY) |
yydestruct ("Cleanup: discarding lookahead", |
yytoken, &yylval); |
/* Do not reclaim the symbols of the rule which action triggered |
this YYABORT or YYACCEPT. */ |
YYPOPSTACK (yylen); |
YY_STACK_PRINT (yyss, yyssp); |
while (yyssp != yyss) |
{ |
yydestruct ("Cleanup: popping", |
yystos[*yyssp], yyvsp); |
YYPOPSTACK (1); |
} |
#ifndef yyoverflow |
if (yyss != yyssa) |
YYSTACK_FREE (yyss); |
#endif |
return yyresult; |
#if YYERROR_VERBOSE |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
#endif |
/* Make sure YYID is used. */ |
return YYID (yyresult); |
} |
|
|
|
/* Line 1675 of yacc.c */ |
#line 659 "f-exp.y" |
|
|
2661,4 → 3146,3
error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); |
} |
|
|
/openrisc/trunk/gnu-src/gdb-7.2/gdb/cp-name-parser.c
1,30 → 1,39
/* A Bison parser, made by GNU Bison 1.875c. */ |
|
/* Skeleton parser for Yacc-like parsing with Bison, |
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
/* A Bison parser, made by GNU Bison 2.4.1. */ |
|
This program is free software; you can redistribute it and/or modify |
/* Skeleton implementation for Bison's Yacc-like parsers in C |
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |
Free Software Foundation, Inc. |
|
This program 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 2, or (at your option) |
any later version. |
|
the Free Software Foundation, either version 3 of the License, or |
(at your option) any later version. |
|
This program 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 this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
/* As a special exception, when this file is copied by Bison into a |
Bison output file, you may use that output file without restriction. |
This special exception was added by the Free Software Foundation |
in version 1.24 of Bison. */ |
/* As a special exception, you may create a larger work that contains |
part or all of the Bison parser skeleton and distribute that work |
under terms of your choice, so long as that work isn't itself a |
parser generator using the skeleton or a modified version thereof |
as a parser skeleton. Alternatively, if you modify or redistribute |
the parser skeleton itself, you may (at your option) remove this |
special exception, which will cause the skeleton and the resulting |
Bison output files to be licensed under the GNU General Public |
License without this special exception. |
|
This special exception was added by the Free Software Foundation in |
version 2.2 of Bison. */ |
|
/* Written by Richard Stallman by simplifying the original so called |
``semantic'' parser. */ |
/* C LALR(1) parser skeleton written by Richard Stallman, by |
simplifying the original so-called "semantic" parser. */ |
|
/* All symbols defined below should begin with yy or YY, to avoid |
infringing on user name space. This should be done even for local |
36,6 → 45,9
/* Identify Bison output. */ |
#define YYBISON 1 |
|
/* Bison version. */ |
#define YYBISON_VERSION "2.4.1" |
|
/* Skeleton name. */ |
#define YYSKELETON_NAME "yacc.c" |
|
42,124 → 54,20
/* Pure parsers. */ |
#define YYPURE 0 |
|
/* Push parsers. */ |
#define YYPUSH 0 |
|
/* Pull parsers. */ |
#define YYPULL 1 |
|
/* Using locations. */ |
#define YYLSP_NEEDED 0 |
|
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
NAME = 260, |
STRUCT = 261, |
CLASS = 262, |
UNION = 263, |
ENUM = 264, |
SIZEOF = 265, |
UNSIGNED = 266, |
COLONCOLON = 267, |
TEMPLATE = 268, |
ERROR = 269, |
NEW = 270, |
DELETE = 271, |
OPERATOR = 272, |
STATIC_CAST = 273, |
REINTERPRET_CAST = 274, |
DYNAMIC_CAST = 275, |
SIGNED_KEYWORD = 276, |
LONG = 277, |
SHORT = 278, |
INT_KEYWORD = 279, |
CONST_KEYWORD = 280, |
VOLATILE_KEYWORD = 281, |
DOUBLE_KEYWORD = 282, |
BOOL = 283, |
ELLIPSIS = 284, |
RESTRICT = 285, |
VOID = 286, |
FLOAT_KEYWORD = 287, |
CHAR = 288, |
WCHAR_T = 289, |
ASSIGN_MODIFY = 290, |
TRUEKEYWORD = 291, |
FALSEKEYWORD = 292, |
DEMANGLER_SPECIAL = 293, |
CONSTRUCTION_VTABLE = 294, |
CONSTRUCTION_IN = 295, |
OROR = 296, |
ANDAND = 297, |
NOTEQUAL = 298, |
EQUAL = 299, |
GEQ = 300, |
LEQ = 301, |
RSH = 302, |
LSH = 303, |
DECREMENT = 304, |
INCREMENT = 305, |
UNARY = 306, |
ARROW = 307 |
}; |
#endif |
#define INT 258 |
#define FLOAT 259 |
#define NAME 260 |
#define STRUCT 261 |
#define CLASS 262 |
#define UNION 263 |
#define ENUM 264 |
#define SIZEOF 265 |
#define UNSIGNED 266 |
#define COLONCOLON 267 |
#define TEMPLATE 268 |
#define ERROR 269 |
#define NEW 270 |
#define DELETE 271 |
#define OPERATOR 272 |
#define STATIC_CAST 273 |
#define REINTERPRET_CAST 274 |
#define DYNAMIC_CAST 275 |
#define SIGNED_KEYWORD 276 |
#define LONG 277 |
#define SHORT 278 |
#define INT_KEYWORD 279 |
#define CONST_KEYWORD 280 |
#define VOLATILE_KEYWORD 281 |
#define DOUBLE_KEYWORD 282 |
#define BOOL 283 |
#define ELLIPSIS 284 |
#define RESTRICT 285 |
#define VOID 286 |
#define FLOAT_KEYWORD 287 |
#define CHAR 288 |
#define WCHAR_T 289 |
#define ASSIGN_MODIFY 290 |
#define TRUEKEYWORD 291 |
#define FALSEKEYWORD 292 |
#define DEMANGLER_SPECIAL 293 |
#define CONSTRUCTION_VTABLE 294 |
#define CONSTRUCTION_IN 295 |
#define OROR 296 |
#define ANDAND 297 |
#define NOTEQUAL 298 |
#define EQUAL 299 |
#define GEQ 300 |
#define LEQ 301 |
#define RSH 302 |
#define LSH 303 |
#define DECREMENT 304 |
#define INCREMENT 305 |
#define UNARY 306 |
#define ARROW 307 |
/* Copy the first part of user declarations. */ |
|
|
|
|
/* Copy the first part of user declarations. */ |
/* Line 189 of yacc.c */ |
#line 31 "cp-name-parser.y" |
|
|
371,6 → 279,9
|
|
|
/* Line 189 of yacc.c */ |
#line 284 "cp-name-parser.c.tmp" |
|
/* Enabling traces. */ |
#ifndef YYDEBUG |
# define YYDEBUG 0 |
384,9 → 295,132
# define YYERROR_VERBOSE 0 |
#endif |
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
/* Enabling the token table. */ |
#ifndef YYTOKEN_TABLE |
# define YYTOKEN_TABLE 0 |
#endif |
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
NAME = 260, |
STRUCT = 261, |
CLASS = 262, |
UNION = 263, |
ENUM = 264, |
SIZEOF = 265, |
UNSIGNED = 266, |
COLONCOLON = 267, |
TEMPLATE = 268, |
ERROR = 269, |
NEW = 270, |
DELETE = 271, |
OPERATOR = 272, |
STATIC_CAST = 273, |
REINTERPRET_CAST = 274, |
DYNAMIC_CAST = 275, |
SIGNED_KEYWORD = 276, |
LONG = 277, |
SHORT = 278, |
INT_KEYWORD = 279, |
CONST_KEYWORD = 280, |
VOLATILE_KEYWORD = 281, |
DOUBLE_KEYWORD = 282, |
BOOL = 283, |
ELLIPSIS = 284, |
RESTRICT = 285, |
VOID = 286, |
FLOAT_KEYWORD = 287, |
CHAR = 288, |
WCHAR_T = 289, |
ASSIGN_MODIFY = 290, |
TRUEKEYWORD = 291, |
FALSEKEYWORD = 292, |
DEMANGLER_SPECIAL = 293, |
CONSTRUCTION_VTABLE = 294, |
CONSTRUCTION_IN = 295, |
OROR = 296, |
ANDAND = 297, |
NOTEQUAL = 298, |
EQUAL = 299, |
GEQ = 300, |
LEQ = 301, |
RSH = 302, |
LSH = 303, |
DECREMENT = 304, |
INCREMENT = 305, |
UNARY = 306, |
ARROW = 307 |
}; |
#endif |
/* Tokens. */ |
#define INT 258 |
#define FLOAT 259 |
#define NAME 260 |
#define STRUCT 261 |
#define CLASS 262 |
#define UNION 263 |
#define ENUM 264 |
#define SIZEOF 265 |
#define UNSIGNED 266 |
#define COLONCOLON 267 |
#define TEMPLATE 268 |
#define ERROR 269 |
#define NEW 270 |
#define DELETE 271 |
#define OPERATOR 272 |
#define STATIC_CAST 273 |
#define REINTERPRET_CAST 274 |
#define DYNAMIC_CAST 275 |
#define SIGNED_KEYWORD 276 |
#define LONG 277 |
#define SHORT 278 |
#define INT_KEYWORD 279 |
#define CONST_KEYWORD 280 |
#define VOLATILE_KEYWORD 281 |
#define DOUBLE_KEYWORD 282 |
#define BOOL 283 |
#define ELLIPSIS 284 |
#define RESTRICT 285 |
#define VOID 286 |
#define FLOAT_KEYWORD 287 |
#define CHAR 288 |
#define WCHAR_T 289 |
#define ASSIGN_MODIFY 290 |
#define TRUEKEYWORD 291 |
#define FALSEKEYWORD 292 |
#define DEMANGLER_SPECIAL 293 |
#define CONSTRUCTION_VTABLE 294 |
#define CONSTRUCTION_IN 295 |
#define OROR 296 |
#define ANDAND 297 |
#define NOTEQUAL 298 |
#define EQUAL 299 |
#define GEQ 300 |
#define LEQ 301 |
#define RSH 302 |
#define LSH 303 |
#define DECREMENT 304 |
#define INCREMENT 305 |
#define UNARY 306 |
#define ARROW 307 |
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
typedef union YYSTYPE |
{ |
|
/* Line 214 of yacc.c */ |
#line 242 "cp-name-parser.y" |
typedef union YYSTYPE { |
|
struct demangle_component *comp; |
struct nested { |
struct demangle_component *comp; |
403,71 → 437,187
} abstract; |
int lval; |
const char *opname; |
} YYSTYPE; |
/* Line 191 of yacc.c. */ |
#line 409 "cp-name-parser.c.tmp" |
|
|
|
/* Line 214 of yacc.c */ |
#line 445 "cp-name-parser.c.tmp" |
} YYSTYPE; |
# define YYSTYPE_IS_TRIVIAL 1 |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
#endif |
|
|
|
/* Copy the second part of user declarations. */ |
|
|
/* Line 214 of yacc.c. */ |
#line 421 "cp-name-parser.c.tmp" |
/* Line 264 of yacc.c */ |
#line 457 "cp-name-parser.c.tmp" |
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#ifdef short |
# undef short |
#endif |
|
# ifndef YYFREE |
# define YYFREE xfree |
#ifdef YYTYPE_UINT8 |
typedef YYTYPE_UINT8 yytype_uint8; |
#else |
typedef unsigned char yytype_uint8; |
#endif |
|
#ifdef YYTYPE_INT8 |
typedef YYTYPE_INT8 yytype_int8; |
#elif (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
typedef signed char yytype_int8; |
#else |
typedef short int yytype_int8; |
#endif |
|
#ifdef YYTYPE_UINT16 |
typedef YYTYPE_UINT16 yytype_uint16; |
#else |
typedef unsigned short int yytype_uint16; |
#endif |
|
#ifdef YYTYPE_INT16 |
typedef YYTYPE_INT16 yytype_int16; |
#else |
typedef short int yytype_int16; |
#endif |
|
#ifndef YYSIZE_T |
# ifdef __SIZE_TYPE__ |
# define YYSIZE_T __SIZE_TYPE__ |
# elif defined size_t |
# define YYSIZE_T size_t |
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# else |
# define YYSIZE_T unsigned int |
# endif |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
#endif |
|
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
|
#ifndef YY_ |
# if YYENABLE_NLS |
# if ENABLE_NLS |
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
# define YY_(msgid) dgettext ("bison-runtime", msgid) |
# endif |
# endif |
# ifndef YY_ |
# define YY_(msgid) msgid |
# endif |
#endif |
|
/* Suppress unused-variable warnings by "using" E. */ |
#if ! defined lint || defined __GNUC__ |
# define YYUSE(e) ((void) (e)) |
#else |
# define YYUSE(e) /* empty */ |
#endif |
|
/* Identity function, used to suppress warnings about constant conditions. */ |
#ifndef lint |
# define YYID(n) (n) |
#else |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static int |
YYID (int yyi) |
#else |
static int |
YYID (yyi) |
int yyi; |
#endif |
{ |
return yyi; |
} |
#endif |
|
#if ! defined yyoverflow || YYERROR_VERBOSE |
|
/* The parser invokes alloca or xmalloc; define the necessary symbols. */ |
|
# ifdef YYSTACK_USE_ALLOCA |
# if YYSTACK_USE_ALLOCA |
# define YYSTACK_ALLOC alloca |
# endif |
# else |
# if defined (alloca) || defined (_ALLOCA_H) |
# define YYSTACK_ALLOC alloca |
# else |
# ifdef __GNUC__ |
# define YYSTACK_ALLOC __builtin_alloca |
# elif defined __BUILTIN_VA_ARG_INCR |
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
# elif defined _AIX |
# define YYSTACK_ALLOC __alloca |
# elif defined _MSC_VER |
# define alloca _alloca |
# else |
# define YYSTACK_ALLOC alloca |
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# endif |
# endif |
# endif |
|
# ifdef YYSTACK_ALLOC |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) |
# ifndef YYSTACK_ALLOC_MAXIMUM |
/* The OS might guarantee only one guard page at the bottom of the stack, |
and a page size can be as small as 4096 bytes. So we cannot safely |
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
to allow for a few compiler-allocated temporary stack slots. */ |
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
# endif |
# else |
# if defined (__STDC__) || defined (__cplusplus) |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYSTACK_ALLOC_MAXIMUM |
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
# endif |
# if (defined __cplusplus && ! defined _STDLIB_H \ |
&& ! ((defined YYMALLOC || defined xmalloc) \ |
&& (defined YYFREE || defined xfree))) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
# if ! defined xmalloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void *xmalloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# ifndef YYFREE |
# define YYFREE xfree |
# if ! defined xfree && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void xfree (void *); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# endif |
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ |
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ |
|
|
#if (! defined (yyoverflow) \ |
&& (! defined (__cplusplus) \ |
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) |
#if (! defined yyoverflow \ |
&& (! defined __cplusplus \ |
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
|
/* A type that is properly aligned for any stack member. */ |
union yyalloc |
{ |
short yyss; |
YYSTYPE yyvs; |
}; |
yytype_int16 yyss_alloc; |
YYSTYPE yyvs_alloc; |
}; |
|
/* The size of the maximum gap between one aligned stack and the next. */ |
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
475,13 → 625,13
/* The size of an array large to enough to hold all stacks, each with |
N elements. */ |
# define YYSTACK_BYTES(N) \ |
((N) * (sizeof (short) + sizeof (YYSTYPE)) \ |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ |
+ YYSTACK_GAP_MAXIMUM) |
|
/* Copy COUNT objects from FROM to TO. The source and destination do |
not overlap. */ |
# ifndef YYCOPY |
# if defined (__GNUC__) && 1 < __GNUC__ |
# if defined __GNUC__ && 1 < __GNUC__ |
# define YYCOPY(To, From, Count) \ |
__builtin_memcpy (To, From, (Count) * sizeof (*(From))) |
# else |
488,11 → 638,11
# define YYCOPY(To, From, Count) \ |
do \ |
{ \ |
register YYSIZE_T yyi; \ |
YYSIZE_T yyi; \ |
for (yyi = 0; yyi < (Count); yyi++) \ |
(To)[yyi] = (From)[yyi]; \ |
} \ |
while (0) |
while (YYID (0)) |
# endif |
# endif |
|
501,37 → 651,31
elements in the stack, and YYPTR gives the new location of the |
stack. Advance YYPTR to a properly aligned location for the next |
stack. */ |
# define YYSTACK_RELOCATE(Stack) \ |
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
do \ |
{ \ |
YYSIZE_T yynewbytes; \ |
YYCOPY (&yyptr->Stack, Stack, yysize); \ |
Stack = &yyptr->Stack; \ |
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
Stack = &yyptr->Stack_alloc; \ |
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
yyptr += yynewbytes / sizeof (*yyptr); \ |
} \ |
while (0) |
while (YYID (0)) |
|
#endif |
|
#if defined (__STDC__) || defined (__cplusplus) |
typedef signed char yysigned_char; |
#else |
typedef short yysigned_char; |
#endif |
|
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
#define YYFINAL 84 |
/* YYLAST -- Last index in YYTABLE. */ |
#define YYLAST 1097 |
|
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
#define YYNTOKENS 75 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
#define YYNNTS 40 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
#define YYNRULES 194 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
#define YYNSTATES 324 |
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
538,11 → 682,11
#define YYUNDEFTOK 2 |
#define YYMAXUTOK 307 |
|
#define YYTRANSLATE(YYX) \ |
#define YYTRANSLATE(YYX) \ |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
|
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
static const unsigned char yytranslate[] = |
static const yytype_uint8 yytranslate[] = |
{ |
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
580,7 → 724,7
#if YYDEBUG |
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
YYRHS. */ |
static const unsigned short yyprhs[] = |
static const yytype_uint16 yyprhs[] = |
{ |
0, 0, 3, 5, 7, 9, 11, 12, 15, 18, |
22, 26, 29, 32, 35, 40, 43, 46, 51, 56, |
604,8 → 748,8
607, 609, 611, 616, 618 |
}; |
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yysigned_char yyrhs[] = |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yytype_int8 yyrhs[] = |
{ |
76, 0, -1, 77, -1, 108, -1, 80, -1, 79, |
-1, -1, 12, 77, -1, 104, 111, -1, 104, 95, |
672,7 → 816,7
}; |
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
static const unsigned short yyrline[] = |
static const yytype_uint16 yyrline[] = |
{ |
0, 356, 356, 360, 362, 364, 369, 370, 377, 386, |
389, 393, 396, 415, 419, 423, 425, 427, 429, 431, |
697,9 → 841,9
}; |
#endif |
|
#if YYDEBUG || YYERROR_VERBOSE |
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE |
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
static const char *const yytname[] = |
{ |
"$end", "error", "$undefined", "INT", "FLOAT", "NAME", "STRUCT", |
729,7 → 873,7
# ifdef YYPRINT |
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
token YYLEX-NUM. */ |
static const unsigned short yytoknum[] = |
static const yytype_uint16 yytoknum[] = |
{ |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
743,7 → 887,7
# endif |
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
static const unsigned char yyr1[] = |
static const yytype_uint8 yyr1[] = |
{ |
0, 75, 76, 77, 77, 77, 78, 78, 79, 79, |
79, 79, 79, 80, 80, 81, 81, 81, 81, 81, |
768,7 → 912,7
}; |
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
static const unsigned char yyr2[] = |
static const yytype_uint8 yyr2[] = |
{ |
0, 2, 1, 1, 1, 1, 0, 2, 2, 3, |
3, 2, 2, 2, 4, 2, 2, 4, 4, 2, |
795,7 → 939,7
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
means the default is an error. */ |
static const unsigned char yydefact[] = |
static const yytype_uint8 yydefact[] = |
{ |
0, 59, 97, 0, 0, 96, 99, 100, 95, 92, |
91, 105, 107, 90, 109, 104, 98, 108, 0, 0, |
832,8 → 976,8
0, 167, 169, 168 |
}; |
|
/* YYDEFGOTO[NTERM-NUM]. */ |
static const short yydefgoto[] = |
/* YYDEFGOTO[NTERM-NUM]. */ |
static const yytype_int16 yydefgoto[] = |
{ |
-1, 21, 155, 92, 23, 24, 25, 26, 27, 28, |
118, 29, 252, 30, 31, 78, 33, 142, 143, 166, |
844,7 → 988,7
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
STATE-NUM. */ |
#define YYPACT_NINF -193 |
static const short yypact[] = |
static const yytype_int16 yypact[] = |
{ |
771, 28, -193, 45, 545, -193, -16, -193, -193, -193, |
-193, -193, -193, -193, -193, -193, -193, -193, 771, 771, |
882,7 → 1026,7
}; |
|
/* YYPGOTO[NTERM-NUM]. */ |
static const short yypgoto[] = |
static const yytype_int16 yypgoto[] = |
{ |
-193, -193, 25, 57, -193, -193, -193, 1, -193, 9, |
-193, -1, -34, -24, 3, 0, 150, 157, 47, -193, |
895,7 → 1039,7
number is the opposite. If zero, do what YYDEFACT says. |
If YYTABLE_NINF, syntax error. */ |
#define YYTABLE_NINF -1 |
static const unsigned short yytable[] = |
static const yytype_uint16 yytable[] = |
{ |
32, 178, 44, 46, 43, 120, 45, 102, 98, 159, |
86, 80, 96, 170, 242, 121, 123, 87, 32, 32, |
1009,7 → 1153,7
230, 231, 0, 0, 0, 232, 0, 233 |
}; |
|
static const short yycheck[] = |
static const yytype_int16 yycheck[] = |
{ |
0, 98, 3, 3, 3, 39, 3, 30, 27, 3, |
5, 27, 27, 5, 163, 39, 39, 12, 18, 19, |
1125,7 → 1269,7
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
symbol of state STATE-NUM. */ |
static const unsigned char yystos[] = |
static const yytype_uint8 yystos[] = |
{ |
0, 5, 11, 12, 17, 21, 22, 23, 24, 25, |
26, 27, 28, 30, 31, 32, 33, 34, 38, 39, |
1162,22 → 1306,6
114, 41, 41, 41 |
}; |
|
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
# define YYSIZE_T __SIZE_TYPE__ |
#endif |
#if ! defined (YYSIZE_T) && defined (size_t) |
# define YYSIZE_T size_t |
#endif |
#if ! defined (YYSIZE_T) |
# if defined (__STDC__) || defined (__cplusplus) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# endif |
#endif |
#if ! defined (YYSIZE_T) |
# define YYSIZE_T unsigned int |
#endif |
|
#define yyerrok (yyerrstatus = 0) |
#define yyclearin (yychar = YYEMPTY) |
#define YYEMPTY (-2) |
1203,30 → 1331,63
yychar = (Token); \ |
yylval = (Value); \ |
yytoken = YYTRANSLATE (yychar); \ |
YYPOPSTACK; \ |
YYPOPSTACK (1); \ |
goto yybackup; \ |
} \ |
else \ |
{ \ |
yyerror ("syntax error: cannot back up");\ |
{ \ |
yyerror (YY_("syntax error: cannot back up")); \ |
YYERROR; \ |
} \ |
while (0) |
while (YYID (0)) |
|
|
#define YYTERROR 1 |
#define YYERRCODE 256 |
|
/* YYLLOC_DEFAULT -- Compute the default location (before the actions |
are run). */ |
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
If N is 0, then set CURRENT to the empty location which ends |
the previous symbol: RHS[0] (always defined). */ |
|
#define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#ifndef YYLLOC_DEFAULT |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
((Current).first_line = (Rhs)[1].first_line, \ |
(Current).first_column = (Rhs)[1].first_column, \ |
(Current).last_line = (Rhs)[N].last_line, \ |
(Current).last_column = (Rhs)[N].last_column) |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
do \ |
if (YYID (N)) \ |
{ \ |
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ |
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ |
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \ |
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \ |
} \ |
else \ |
{ \ |
(Current).first_line = (Current).last_line = \ |
YYRHSLOC (Rhs, 0).last_line; \ |
(Current).first_column = (Current).last_column = \ |
YYRHSLOC (Rhs, 0).last_column; \ |
} \ |
while (YYID (0)) |
#endif |
|
|
/* YY_LOCATION_PRINT -- Print the location on the stream. |
This macro was not mandated originally: define only if we know |
we won't break user code: when these are the locations we know. */ |
|
#ifndef YY_LOCATION_PRINT |
# if YYLTYPE_IS_TRIVIAL |
# define YY_LOCATION_PRINT(File, Loc) \ |
fprintf (File, "%d.%d-%d.%d", \ |
(Loc).first_line, (Loc).first_column, \ |
(Loc).last_line, (Loc).last_column) |
# else |
# define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
# endif |
#endif |
|
|
/* YYLEX -- calling `yylex' with the right arguments. */ |
|
#ifdef YYLEX_PARAM |
1247,43 → 1408,100
do { \ |
if (yydebug) \ |
YYFPRINTF Args; \ |
} while (0) |
} while (YYID (0)) |
|
# define YYDSYMPRINT(Args) \ |
do { \ |
if (yydebug) \ |
yysymprint Args; \ |
} while (0) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yy_symbol_print (stderr, \ |
Type, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (YYID (0)) |
|
# define YYDSYMPRINTF(Title, Token, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yysymprint (stderr, \ |
Token, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (0) |
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_value_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (!yyvaluep) |
return; |
# ifdef YYPRINT |
if (yytype < YYNTOKENS) |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
# else |
YYUSE (yyoutput); |
# endif |
switch (yytype) |
{ |
default: |
break; |
} |
} |
|
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (yytype < YYNTOKENS) |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
|
yy_symbol_value_print (yyoutput, yytype, yyvaluep); |
YYFPRINTF (yyoutput, ")"); |
} |
|
/*------------------------------------------------------------------. |
| yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| TOP (included). | |
`------------------------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_stack_print (short *bottom, short *top) |
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) |
#else |
static void |
yy_stack_print (bottom, top) |
short *bottom; |
short *top; |
yy_stack_print (yybottom, yytop) |
yytype_int16 *yybottom; |
yytype_int16 *yytop; |
#endif |
{ |
YYFPRINTF (stderr, "Stack now"); |
for (/* Nothing. */; bottom <= top; ++bottom) |
YYFPRINTF (stderr, " %d", *bottom); |
for (; yybottom <= yytop; yybottom++) |
{ |
int yybot = *yybottom; |
YYFPRINTF (stderr, " %d", yybot); |
} |
YYFPRINTF (stderr, "\n"); |
} |
|
1291,7 → 1509,7
do { \ |
if (yydebug) \ |
yy_stack_print ((Bottom), (Top)); \ |
} while (0) |
} while (YYID (0)) |
|
|
/*------------------------------------------------. |
1298,30 → 1516,38
| Report that the YYRULE is going to be reduced. | |
`------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_reduce_print (int yyrule) |
yy_reduce_print (YYSTYPE *yyvsp, int yyrule) |
#else |
static void |
yy_reduce_print (yyrule) |
yy_reduce_print (yyvsp, yyrule) |
YYSTYPE *yyvsp; |
int yyrule; |
#endif |
{ |
int yynrhs = yyr2[yyrule]; |
int yyi; |
unsigned int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", |
yyrule - 1, yylno); |
/* Print the symbols being reduced, and their result. */ |
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) |
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); |
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); |
unsigned long int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", |
yyrule - 1, yylno); |
/* The symbols being reduced. */ |
for (yyi = 0; yyi < yynrhs; yyi++) |
{ |
YYFPRINTF (stderr, " $%d = ", yyi + 1); |
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], |
&(yyvsp[(yyi + 1) - (yynrhs)]) |
); |
YYFPRINTF (stderr, "\n"); |
} |
} |
|
# define YY_REDUCE_PRINT(Rule) \ |
do { \ |
if (yydebug) \ |
yy_reduce_print (Rule); \ |
} while (0) |
yy_reduce_print (yyvsp, Rule); \ |
} while (YYID (0)) |
|
/* Nonzero means print parse trace. It is left uninitialized so that |
multiple parsers can coexist. */ |
1328,8 → 1554,7
int yydebug; |
#else /* !YYDEBUG */ |
# define YYDPRINTF(Args) |
# define YYDSYMPRINT(Args) |
# define YYDSYMPRINTF(Title, Token, Value, Location) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
# define YY_STACK_PRINT(Bottom, Top) |
# define YY_REDUCE_PRINT(Rule) |
#endif /* !YYDEBUG */ |
1344,13 → 1569,9
if the built-in stack extension method is used). |
|
Do not make this value too large; the results are undefined if |
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) |
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
evaluated with infinite-precision integer arithmetic. */ |
|
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 |
# undef YYMAXDEPTH |
#endif |
|
#ifndef YYMAXDEPTH |
# define YYMAXDEPTH 10000 |
#endif |
1360,45 → 1581,47
#if YYERROR_VERBOSE |
|
# ifndef yystrlen |
# if defined (__GLIBC__) && defined (_STRING_H) |
# if defined __GLIBC__ && defined _STRING_H |
# define yystrlen strlen |
# else |
/* Return the length of YYSTR. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static YYSIZE_T |
# if defined (__STDC__) || defined (__cplusplus) |
yystrlen (const char *yystr) |
# else |
#else |
static YYSIZE_T |
yystrlen (yystr) |
const char *yystr; |
# endif |
const char *yystr; |
#endif |
{ |
register const char *yys = yystr; |
|
while (*yys++ != '\0') |
YYSIZE_T yylen; |
for (yylen = 0; yystr[yylen]; yylen++) |
continue; |
|
return yys - yystr - 1; |
return yylen; |
} |
# endif |
# endif |
|
# ifndef yystpcpy |
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) |
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
# define yystpcpy stpcpy |
# else |
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in |
YYDEST. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static char * |
# if defined (__STDC__) || defined (__cplusplus) |
yystpcpy (char *yydest, const char *yysrc) |
# else |
#else |
static char * |
yystpcpy (yydest, yysrc) |
char *yydest; |
const char *yysrc; |
# endif |
char *yydest; |
const char *yysrc; |
#endif |
{ |
register char *yyd = yydest; |
register const char *yys = yysrc; |
char *yyd = yydest; |
const char *yys = yysrc; |
|
while ((*yyd++ = *yys++) != '\0') |
continue; |
1408,84 → 1631,204
# endif |
# endif |
|
#endif /* !YYERROR_VERBOSE */ |
# ifndef yytnamerr |
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary |
quotes and backslashes, so that it's suitable for yyerror. The |
heuristic is that double-quoting is unnecessary unless the string |
contains an apostrophe, a comma, or backslash (other than |
backslash-backslash). YYSTR is taken from yytname. If YYRES is |
null, do not copy; instead, return the length of what the result |
would have been. */ |
static YYSIZE_T |
yytnamerr (char *yyres, const char *yystr) |
{ |
if (*yystr == '"') |
{ |
YYSIZE_T yyn = 0; |
char const *yyp = yystr; |
|
|
for (;;) |
switch (*++yyp) |
{ |
case '\'': |
case ',': |
goto do_not_strip_quotes; |
|
#if YYDEBUG |
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
case '\\': |
if (*++yyp != '\\') |
goto do_not_strip_quotes; |
/* Fall through. */ |
default: |
if (yyres) |
yyres[yyn] = *yyp; |
yyn++; |
break; |
|
#if defined (__STDC__) || defined (__cplusplus) |
static void |
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yysymprint (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
case '"': |
if (yyres) |
yyres[yyn] = '\0'; |
return yyn; |
} |
do_not_strip_quotes: ; |
} |
|
if (! yyres) |
return yystrlen (yystr); |
|
return yystpcpy (yyres, yystr) - yyres; |
} |
# endif |
|
/* Copy into YYRESULT an error message about the unexpected token |
YYCHAR while in state YYSTATE. Return the number of bytes copied, |
including the terminating null byte. If YYRESULT is null, do not |
copy anything; just return the number of bytes that would be |
copied. As a special case, return 0 if an ordinary "syntax error" |
message will do. Return YYSIZE_MAXIMUM if overflow occurs during |
size calculation. */ |
static YYSIZE_T |
yysyntax_error (char *yyresult, int yystate, int yychar) |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
int yyn = yypact[yystate]; |
|
if (yytype < YYNTOKENS) |
if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) |
return 0; |
else |
{ |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
# ifdef YYPRINT |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
int yytype = YYTRANSLATE (yychar); |
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); |
YYSIZE_T yysize = yysize0; |
YYSIZE_T yysize1; |
int yysize_overflow = 0; |
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
int yyx; |
|
# if 0 |
/* This is so xgettext sees the translatable formats that are |
constructed on the fly. */ |
YY_("syntax error, unexpected %s"); |
YY_("syntax error, unexpected %s, expecting %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |
# endif |
} |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
char *yyfmt; |
char const *yyf; |
static char const yyunexpected[] = "syntax error, unexpected %s"; |
static char const yyexpecting[] = ", expecting %s"; |
static char const yyor[] = " or %s"; |
char yyformat[sizeof yyunexpected |
+ sizeof yyexpecting - 1 |
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) |
* (sizeof yyor - 1))]; |
char const *yyprefix = yyexpecting; |
|
switch (yytype) |
{ |
default: |
break; |
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn + 1; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 1; |
|
yyarg[0] = yytname[yytype]; |
yyfmt = yystpcpy (yyformat, yyunexpected); |
|
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
{ |
yycount = 1; |
yysize = yysize0; |
yyformat[sizeof yyunexpected - 1] = '\0'; |
break; |
} |
yyarg[yycount++] = yytname[yyx]; |
yysize1 = yysize + yytnamerr (0, yytname[yyx]); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
yyfmt = yystpcpy (yyfmt, yyprefix); |
yyprefix = yyor; |
} |
|
yyf = YY_(yyformat); |
yysize1 = yysize + yystrlen (yyf); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
|
if (yysize_overflow) |
return YYSIZE_MAXIMUM; |
|
if (yyresult) |
{ |
/* Avoid sprintf, as that infringes on the user's name space. |
Don't have undefined behavior even if the translation |
produced a string with the wrong number of "%s"s. */ |
char *yyp = yyresult; |
int yyi = 0; |
while ((*yyp = *yyf) != '\0') |
{ |
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) |
{ |
yyp += yytnamerr (yyp, yyarg[yyi++]); |
yyf += 2; |
} |
else |
{ |
yyp++; |
yyf++; |
} |
} |
} |
return yysize; |
} |
YYFPRINTF (yyoutput, ")"); |
} |
#endif /* YYERROR_VERBOSE */ |
|
|
#endif /* ! YYDEBUG */ |
/*-----------------------------------------------. |
| Release the memory associated to this symbol. | |
`-----------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yydestruct (int yytype, YYSTYPE *yyvaluep) |
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yydestruct (yytype, yyvaluep) |
yydestruct (yymsg, yytype, yyvaluep) |
const char *yymsg; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
YYUSE (yyvaluep); |
|
if (!yymsg) |
yymsg = "Deleting"; |
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); |
|
switch (yytype) |
{ |
|
default: |
break; |
break; |
} |
} |
|
|
/* Prevent warnings from -Wmissing-prototypes. */ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void *YYPARSE_PARAM); |
# else |
#else |
int yyparse (); |
# endif |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void); |
#else |
int yyparse (); |
1493,7 → 1836,6
#endif /* ! YYPARSE_PARAM */ |
|
|
|
/* The lookahead symbol. */ |
int yychar; |
|
1505,19 → 1847,23
|
|
|
/*----------. |
| yyparse. | |
`----------*/ |
/*-------------------------. |
| yyparse or yypush_parse. | |
`-------------------------*/ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
int yyparse (void *YYPARSE_PARAM) |
# else |
int yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
# endif |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void *YYPARSE_PARAM) |
#else |
int |
yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void) |
#else |
1527,60 → 1873,68
#endif |
#endif |
{ |
|
register int yystate; |
register int yyn; |
int yyresult; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken = 0; |
|
/* Three stacks and their tools: |
`yyss': related to states, |
`yyvs': related to semantic values, |
`yyls': related to locations. |
|
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
int yystate; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
|
/* The state stack. */ |
short yyssa[YYINITDEPTH]; |
short *yyss = yyssa; |
register short *yyssp; |
/* The stacks and their tools: |
`yyss': related to states. |
`yyvs': related to semantic values. |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs = yyvsa; |
register YYSTYPE *yyvsp; |
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
|
/* The state stack. */ |
yytype_int16 yyssa[YYINITDEPTH]; |
yytype_int16 *yyss; |
yytype_int16 *yyssp; |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs; |
YYSTYPE *yyvsp; |
|
#define YYPOPSTACK (yyvsp--, yyssp--) |
YYSIZE_T yystacksize; |
|
YYSIZE_T yystacksize = YYINITDEPTH; |
|
int yyn; |
int yyresult; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken; |
/* The variables used to return semantic value and location from the |
action routines. */ |
YYSTYPE yyval; |
|
#if YYERROR_VERBOSE |
/* Buffer for error messages, and its allocated size. */ |
char yymsgbuf[128]; |
char *yymsg = yymsgbuf; |
YYSIZE_T yymsg_alloc = sizeof yymsgbuf; |
#endif |
|
/* When reducing, the number of symbols on the RHS of the reduced |
rule. */ |
int yylen; |
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
|
/* The number of symbols on the RHS of the reduced rule. |
Keep to zero when no symbol should be popped. */ |
int yylen = 0; |
|
yytoken = 0; |
yyss = yyssa; |
yyvs = yyvsa; |
yystacksize = YYINITDEPTH; |
|
YYDPRINTF ((stderr, "Starting parse\n")); |
|
yystate = 0; |
yyerrstatus = 0; |
yynerrs = 0; |
yychar = YYEMPTY; /* Cause a token to be read. */ |
yychar = YYEMPTY; /* Cause a token to be read. */ |
|
/* Initialize stack pointers. |
Waste one element of value and location stack |
so that they stay on the same level as the state stack. |
The wasted elements are never initialized. */ |
|
yyssp = yyss; |
yyvsp = yyvs; |
|
1591,8 → 1945,7
`------------------------------------------------------------*/ |
yynewstate: |
/* In all cases, when you get here, the value and location stacks |
have just been pushed. so pushing a state here evens the stacks. |
*/ |
have just been pushed. So pushing a state here evens the stacks. */ |
yyssp++; |
|
yysetstate: |
1605,21 → 1958,19
|
#ifdef yyoverflow |
{ |
/* Give user a chance to xreallocate the stack. Use copies of |
/* Give user a chance to xreallocate the stack. Use copies of |
these so that the &'s don't force the real ones into |
memory. */ |
YYSTYPE *yyvs1 = yyvs; |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
|
|
/* Each stack pointer address is followed by the size of the |
data in use in that stack, in bytes. This used to be a |
conditional around just the two extra args, but that might |
be undefined if yyoverflow is a macro. */ |
yyoverflow ("parser stack overflow", |
yyoverflow (YY_("memory exhausted"), |
&yyss1, yysize * sizeof (*yyssp), |
&yyvs1, yysize * sizeof (*yyvsp), |
|
&yystacksize); |
|
yyss = yyss1; |
1627,24 → 1978,23
} |
#else /* no yyoverflow */ |
# ifndef YYSTACK_RELOCATE |
goto yyoverflowlab; |
goto yyexhaustedlab; |
# else |
/* Extend the stack our own way. */ |
if (YYMAXDEPTH <= yystacksize) |
goto yyoverflowlab; |
goto yyexhaustedlab; |
yystacksize *= 2; |
if (YYMAXDEPTH < yystacksize) |
yystacksize = YYMAXDEPTH; |
|
{ |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
union yyalloc *yyptr = |
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); |
if (! yyptr) |
goto yyoverflowlab; |
YYSTACK_RELOCATE (yyss); |
YYSTACK_RELOCATE (yyvs); |
|
goto yyexhaustedlab; |
YYSTACK_RELOCATE (yyss_alloc, yyss); |
YYSTACK_RELOCATE (yyvs_alloc, yyvs); |
# undef YYSTACK_RELOCATE |
if (yyss1 != yyssa) |
YYSTACK_FREE (yyss1); |
1655,7 → 2005,6
yyssp = yyss + yysize - 1; |
yyvsp = yyvs + yysize - 1; |
|
|
YYDPRINTF ((stderr, "Stack size increased to %lu\n", |
(unsigned long int) yystacksize)); |
|
1665,6 → 2014,9
|
YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
|
if (yystate == YYFINAL) |
YYACCEPT; |
|
goto yybackup; |
|
/*-----------. |
1672,12 → 2024,10
`-----------*/ |
yybackup: |
|
/* Do appropriate processing given the current state. */ |
/* Read a lookahead token if we need one and don't already have one. */ |
/* yyresume: */ |
/* Do appropriate processing given the current state. Read a |
lookahead token if we need one and don't already have one. */ |
|
/* First try to decide what to do without reference to lookahead token. */ |
|
yyn = yypact[yystate]; |
if (yyn == YYPACT_NINF) |
goto yydefault; |
1699,7 → 2049,7
else |
{ |
yytoken = YYTRANSLATE (yychar); |
YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); |
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); |
} |
|
/* If the proper action on seeing token YYTOKEN is to reduce or to |
1716,25 → 2066,20
goto yyreduce; |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
/* Shift the lookahead token. */ |
YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); |
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); |
|
/* Discard the token being shifted unless it is eof. */ |
if (yychar != YYEOF) |
yychar = YYEMPTY; |
/* Discard the shifted token. */ |
yychar = YYEMPTY; |
|
yystate = yyn; |
*++yyvsp = yylval; |
|
|
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
yystate = yyn; |
goto yynewstate; |
|
|
1770,1047 → 2115,1383
switch (yyn) |
{ |
case 2: |
|
/* Line 1455 of yacc.c */ |
#line 357 "cp-name-parser.y" |
{ global_result = yyvsp[0].comp; } |
{ global_result = (yyvsp[(1) - (1)].comp); } |
break; |
|
case 6: |
|
/* Line 1455 of yacc.c */ |
#line 369 "cp-name-parser.y" |
{ yyval.comp = NULL; } |
{ (yyval.comp) = NULL; } |
break; |
|
case 7: |
|
/* Line 1455 of yacc.c */ |
#line 371 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 8: |
|
/* Line 1455 of yacc.c */ |
#line 378 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].nested.comp; |
*yyvsp[0].nested.last = yyvsp[-1].comp; |
{ (yyval.comp) = (yyvsp[(2) - (2)].nested).comp; |
*(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].comp); |
} |
break; |
|
case 9: |
|
/* Line 1455 of yacc.c */ |
#line 387 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-2].comp, yyvsp[-1].nested.comp); |
if (yyvsp[0].comp) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp); |
if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 10: |
|
/* Line 1455 of yacc.c */ |
#line 390 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-2].comp, yyvsp[-1].nested.comp); |
if (yyvsp[0].comp) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (3)].comp), (yyvsp[(2) - (3)].nested).comp); |
if ((yyvsp[(3) - (3)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 11: |
|
/* Line 1455 of yacc.c */ |
#line 394 "cp-name-parser.y" |
{ yyval.comp = yyvsp[-1].nested.comp; |
if (yyvsp[0].comp) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].comp); } |
{ (yyval.comp) = (yyvsp[(1) - (2)].nested).comp; |
if ((yyvsp[(2) - (2)].comp)) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 12: |
|
/* Line 1455 of yacc.c */ |
#line 397 "cp-name-parser.y" |
{ if (yyvsp[0].abstract.last) |
{ if ((yyvsp[(2) - (2)].abstract).last) |
{ |
/* First complete the abstract_declarator's type using |
the typespec from the conversion_op_name. */ |
*yyvsp[0].abstract.last = *yyvsp[-1].nested.last; |
*(yyvsp[(2) - (2)].abstract).last = *(yyvsp[(1) - (2)].nested).last; |
/* Then complete the conversion_op_name with the type. */ |
*yyvsp[-1].nested.last = yyvsp[0].abstract.comp; |
*(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].abstract).comp; |
} |
/* If we have an arglist, build a function type. */ |
if (yyvsp[0].abstract.fn.comp) |
yyval.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-1].nested.comp, yyvsp[0].abstract.fn.comp); |
if ((yyvsp[(2) - (2)].abstract).fn.comp) |
(yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].nested).comp, (yyvsp[(2) - (2)].abstract).fn.comp); |
else |
yyval.comp = yyvsp[-1].nested.comp; |
if (yyvsp[0].abstract.start) yyval.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.comp, yyvsp[0].abstract.start); |
(yyval.comp) = (yyvsp[(1) - (2)].nested).comp; |
if ((yyvsp[(2) - (2)].abstract).start) (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.comp), (yyvsp[(2) - (2)].abstract).start); |
} |
break; |
|
case 13: |
|
/* Line 1455 of yacc.c */ |
#line 416 "cp-name-parser.y" |
{ yyval.comp = make_empty (yyvsp[-1].lval); |
d_left (yyval.comp) = yyvsp[0].comp; |
d_right (yyval.comp) = NULL; } |
{ (yyval.comp) = make_empty ((yyvsp[(1) - (2)].lval)); |
d_left ((yyval.comp)) = (yyvsp[(2) - (2)].comp); |
d_right ((yyval.comp)) = NULL; } |
break; |
|
case 14: |
|
/* Line 1455 of yacc.c */ |
#line 420 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE, (yyvsp[(2) - (4)].comp), (yyvsp[(4) - (4)].comp)); } |
break; |
|
case 15: |
|
/* Line 1455 of yacc.c */ |
#line 424 "cp-name-parser.y" |
{ yyval.comp = make_operator ("new", 1); } |
{ (yyval.comp) = make_operator ("new", 1); } |
break; |
|
case 16: |
|
/* Line 1455 of yacc.c */ |
#line 426 "cp-name-parser.y" |
{ yyval.comp = make_operator ("delete", 1); } |
{ (yyval.comp) = make_operator ("delete", 1); } |
break; |
|
case 17: |
|
/* Line 1455 of yacc.c */ |
#line 428 "cp-name-parser.y" |
{ yyval.comp = make_operator ("new[]", 1); } |
{ (yyval.comp) = make_operator ("new[]", 1); } |
break; |
|
case 18: |
|
/* Line 1455 of yacc.c */ |
#line 430 "cp-name-parser.y" |
{ yyval.comp = make_operator ("delete[]", 1); } |
{ (yyval.comp) = make_operator ("delete[]", 1); } |
break; |
|
case 19: |
|
/* Line 1455 of yacc.c */ |
#line 432 "cp-name-parser.y" |
{ yyval.comp = make_operator ("+", 2); } |
{ (yyval.comp) = make_operator ("+", 2); } |
break; |
|
case 20: |
|
/* Line 1455 of yacc.c */ |
#line 434 "cp-name-parser.y" |
{ yyval.comp = make_operator ("-", 2); } |
{ (yyval.comp) = make_operator ("-", 2); } |
break; |
|
case 21: |
|
/* Line 1455 of yacc.c */ |
#line 436 "cp-name-parser.y" |
{ yyval.comp = make_operator ("*", 2); } |
{ (yyval.comp) = make_operator ("*", 2); } |
break; |
|
case 22: |
|
/* Line 1455 of yacc.c */ |
#line 438 "cp-name-parser.y" |
{ yyval.comp = make_operator ("/", 2); } |
{ (yyval.comp) = make_operator ("/", 2); } |
break; |
|
case 23: |
|
/* Line 1455 of yacc.c */ |
#line 440 "cp-name-parser.y" |
{ yyval.comp = make_operator ("%", 2); } |
{ (yyval.comp) = make_operator ("%", 2); } |
break; |
|
case 24: |
|
/* Line 1455 of yacc.c */ |
#line 442 "cp-name-parser.y" |
{ yyval.comp = make_operator ("^", 2); } |
{ (yyval.comp) = make_operator ("^", 2); } |
break; |
|
case 25: |
|
/* Line 1455 of yacc.c */ |
#line 444 "cp-name-parser.y" |
{ yyval.comp = make_operator ("&", 2); } |
{ (yyval.comp) = make_operator ("&", 2); } |
break; |
|
case 26: |
|
/* Line 1455 of yacc.c */ |
#line 446 "cp-name-parser.y" |
{ yyval.comp = make_operator ("|", 2); } |
{ (yyval.comp) = make_operator ("|", 2); } |
break; |
|
case 27: |
|
/* Line 1455 of yacc.c */ |
#line 448 "cp-name-parser.y" |
{ yyval.comp = make_operator ("~", 1); } |
{ (yyval.comp) = make_operator ("~", 1); } |
break; |
|
case 28: |
|
/* Line 1455 of yacc.c */ |
#line 450 "cp-name-parser.y" |
{ yyval.comp = make_operator ("!", 1); } |
{ (yyval.comp) = make_operator ("!", 1); } |
break; |
|
case 29: |
|
/* Line 1455 of yacc.c */ |
#line 452 "cp-name-parser.y" |
{ yyval.comp = make_operator ("=", 2); } |
{ (yyval.comp) = make_operator ("=", 2); } |
break; |
|
case 30: |
|
/* Line 1455 of yacc.c */ |
#line 454 "cp-name-parser.y" |
{ yyval.comp = make_operator ("<", 2); } |
{ (yyval.comp) = make_operator ("<", 2); } |
break; |
|
case 31: |
|
/* Line 1455 of yacc.c */ |
#line 456 "cp-name-parser.y" |
{ yyval.comp = make_operator (">", 2); } |
{ (yyval.comp) = make_operator (">", 2); } |
break; |
|
case 32: |
|
/* Line 1455 of yacc.c */ |
#line 458 "cp-name-parser.y" |
{ yyval.comp = make_operator (yyvsp[0].opname, 2); } |
{ (yyval.comp) = make_operator ((yyvsp[(2) - (2)].opname), 2); } |
break; |
|
case 33: |
|
/* Line 1455 of yacc.c */ |
#line 460 "cp-name-parser.y" |
{ yyval.comp = make_operator ("<<", 2); } |
{ (yyval.comp) = make_operator ("<<", 2); } |
break; |
|
case 34: |
|
/* Line 1455 of yacc.c */ |
#line 462 "cp-name-parser.y" |
{ yyval.comp = make_operator (">>", 2); } |
{ (yyval.comp) = make_operator (">>", 2); } |
break; |
|
case 35: |
|
/* Line 1455 of yacc.c */ |
#line 464 "cp-name-parser.y" |
{ yyval.comp = make_operator ("==", 2); } |
{ (yyval.comp) = make_operator ("==", 2); } |
break; |
|
case 36: |
|
/* Line 1455 of yacc.c */ |
#line 466 "cp-name-parser.y" |
{ yyval.comp = make_operator ("!=", 2); } |
{ (yyval.comp) = make_operator ("!=", 2); } |
break; |
|
case 37: |
|
/* Line 1455 of yacc.c */ |
#line 468 "cp-name-parser.y" |
{ yyval.comp = make_operator ("<=", 2); } |
{ (yyval.comp) = make_operator ("<=", 2); } |
break; |
|
case 38: |
|
/* Line 1455 of yacc.c */ |
#line 470 "cp-name-parser.y" |
{ yyval.comp = make_operator (">=", 2); } |
{ (yyval.comp) = make_operator (">=", 2); } |
break; |
|
case 39: |
|
/* Line 1455 of yacc.c */ |
#line 472 "cp-name-parser.y" |
{ yyval.comp = make_operator ("&&", 2); } |
{ (yyval.comp) = make_operator ("&&", 2); } |
break; |
|
case 40: |
|
/* Line 1455 of yacc.c */ |
#line 474 "cp-name-parser.y" |
{ yyval.comp = make_operator ("||", 2); } |
{ (yyval.comp) = make_operator ("||", 2); } |
break; |
|
case 41: |
|
/* Line 1455 of yacc.c */ |
#line 476 "cp-name-parser.y" |
{ yyval.comp = make_operator ("++", 1); } |
{ (yyval.comp) = make_operator ("++", 1); } |
break; |
|
case 42: |
|
/* Line 1455 of yacc.c */ |
#line 478 "cp-name-parser.y" |
{ yyval.comp = make_operator ("--", 1); } |
{ (yyval.comp) = make_operator ("--", 1); } |
break; |
|
case 43: |
|
/* Line 1455 of yacc.c */ |
#line 480 "cp-name-parser.y" |
{ yyval.comp = make_operator (",", 2); } |
{ (yyval.comp) = make_operator (",", 2); } |
break; |
|
case 44: |
|
/* Line 1455 of yacc.c */ |
#line 482 "cp-name-parser.y" |
{ yyval.comp = make_operator ("->*", 2); } |
{ (yyval.comp) = make_operator ("->*", 2); } |
break; |
|
case 45: |
|
/* Line 1455 of yacc.c */ |
#line 484 "cp-name-parser.y" |
{ yyval.comp = make_operator ("->", 2); } |
{ (yyval.comp) = make_operator ("->", 2); } |
break; |
|
case 46: |
|
/* Line 1455 of yacc.c */ |
#line 486 "cp-name-parser.y" |
{ yyval.comp = make_operator ("()", 2); } |
{ (yyval.comp) = make_operator ("()", 2); } |
break; |
|
case 47: |
|
/* Line 1455 of yacc.c */ |
#line 488 "cp-name-parser.y" |
{ yyval.comp = make_operator ("[]", 2); } |
{ (yyval.comp) = make_operator ("[]", 2); } |
break; |
|
case 48: |
|
/* Line 1455 of yacc.c */ |
#line 496 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[0].comp, NULL); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(2) - (2)].comp), NULL); } |
break; |
|
case 49: |
|
/* Line 1455 of yacc.c */ |
#line 501 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested1.comp; |
d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; |
yyval.nested.last = &d_left (yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(1) - (2)].nested1).comp; |
d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); |
(yyval.nested).last = &d_left ((yyvsp[(2) - (2)].comp)); |
} |
break; |
|
case 50: |
|
/* Line 1455 of yacc.c */ |
#line 506 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[0].comp; |
yyval.nested.last = &d_left (yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(1) - (1)].comp); |
(yyval.nested).last = &d_left ((yyvsp[(1) - (1)].comp)); |
} |
break; |
|
case 51: |
|
/* Line 1455 of yacc.c */ |
#line 510 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested1.comp; |
d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; |
yyval.nested.last = &d_left (yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(2) - (3)].nested1).comp; |
d_right ((yyvsp[(2) - (3)].nested1).last) = (yyvsp[(3) - (3)].comp); |
(yyval.nested).last = &d_left ((yyvsp[(3) - (3)].comp)); |
} |
break; |
|
case 52: |
|
/* Line 1455 of yacc.c */ |
#line 515 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[0].comp; |
yyval.nested.last = &d_left (yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(2) - (2)].comp); |
(yyval.nested).last = &d_left ((yyvsp[(2) - (2)].comp)); |
} |
break; |
|
case 54: |
|
/* Line 1455 of yacc.c */ |
#line 524 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, yyvsp[-3].comp, yyvsp[-1].nested.comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); } |
break; |
|
case 55: |
|
/* Line 1455 of yacc.c */ |
#line 526 "cp-name-parser.y" |
{ yyval.comp = make_dtor (gnu_v3_complete_object_dtor, yyvsp[0].comp); } |
{ (yyval.comp) = make_dtor (gnu_v3_complete_object_dtor, (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 57: |
|
/* Line 1455 of yacc.c */ |
#line 539 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 58: |
|
/* Line 1455 of yacc.c */ |
#line 545 "cp-name-parser.y" |
{ yyval.comp = yyvsp[-1].nested1.comp; d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 60: |
|
/* Line 1455 of yacc.c */ |
#line 548 "cp-name-parser.y" |
{ yyval.comp = yyvsp[-1].nested1.comp; d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 65: |
|
/* Line 1455 of yacc.c */ |
#line 558 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 66: |
|
/* Line 1455 of yacc.c */ |
#line 562 "cp-name-parser.y" |
{ yyval.comp = yyvsp[-1].nested1.comp; d_right (yyvsp[-1].nested1.last) = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(1) - (2)].nested1).comp; d_right ((yyvsp[(1) - (2)].nested1).last) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 68: |
|
/* Line 1455 of yacc.c */ |
#line 567 "cp-name-parser.y" |
{ yyval.nested1.comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
d_left (yyval.nested1.comp) = yyvsp[-1].comp; |
d_right (yyval.nested1.comp) = NULL; |
yyval.nested1.last = yyval.nested1.comp; |
{ (yyval.nested1).comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
d_left ((yyval.nested1).comp) = (yyvsp[(1) - (2)].comp); |
d_right ((yyval.nested1).comp) = NULL; |
(yyval.nested1).last = (yyval.nested1).comp; |
} |
break; |
|
case 69: |
|
/* Line 1455 of yacc.c */ |
#line 573 "cp-name-parser.y" |
{ yyval.nested1.comp = yyvsp[-2].nested1.comp; |
d_right (yyvsp[-2].nested1.last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
yyval.nested1.last = d_right (yyvsp[-2].nested1.last); |
d_left (yyval.nested1.last) = yyvsp[-1].comp; |
d_right (yyval.nested1.last) = NULL; |
{ (yyval.nested1).comp = (yyvsp[(1) - (3)].nested1).comp; |
d_right ((yyvsp[(1) - (3)].nested1).last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
(yyval.nested1).last = d_right ((yyvsp[(1) - (3)].nested1).last); |
d_left ((yyval.nested1).last) = (yyvsp[(2) - (3)].comp); |
d_right ((yyval.nested1).last) = NULL; |
} |
break; |
|
case 70: |
|
/* Line 1455 of yacc.c */ |
#line 580 "cp-name-parser.y" |
{ yyval.nested1.comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
d_left (yyval.nested1.comp) = yyvsp[-1].comp; |
d_right (yyval.nested1.comp) = NULL; |
yyval.nested1.last = yyval.nested1.comp; |
{ (yyval.nested1).comp = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
d_left ((yyval.nested1).comp) = (yyvsp[(1) - (2)].comp); |
d_right ((yyval.nested1).comp) = NULL; |
(yyval.nested1).last = (yyval.nested1).comp; |
} |
break; |
|
case 71: |
|
/* Line 1455 of yacc.c */ |
#line 586 "cp-name-parser.y" |
{ yyval.nested1.comp = yyvsp[-2].nested1.comp; |
d_right (yyvsp[-2].nested1.last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
yyval.nested1.last = d_right (yyvsp[-2].nested1.last); |
d_left (yyval.nested1.last) = yyvsp[-1].comp; |
d_right (yyval.nested1.last) = NULL; |
{ (yyval.nested1).comp = (yyvsp[(1) - (3)].nested1).comp; |
d_right ((yyvsp[(1) - (3)].nested1).last) = make_empty (DEMANGLE_COMPONENT_QUAL_NAME); |
(yyval.nested1).last = d_right ((yyvsp[(1) - (3)].nested1).last); |
d_left ((yyval.nested1).last) = (yyvsp[(2) - (3)].comp); |
d_right ((yyval.nested1).last) = NULL; |
} |
break; |
|
case 72: |
|
/* Line 1455 of yacc.c */ |
#line 597 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, yyvsp[-3].comp, yyvsp[-1].nested.comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TEMPLATE, (yyvsp[(1) - (4)].comp), (yyvsp[(3) - (4)].nested).comp); } |
break; |
|
case 73: |
|
/* Line 1455 of yacc.c */ |
#line 601 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, yyvsp[0].comp, NULL); |
yyval.nested.last = &d_right (yyval.nested.comp); } |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(1) - (1)].comp), NULL); |
(yyval.nested).last = &d_right ((yyval.nested).comp); } |
break; |
|
case 74: |
|
/* Line 1455 of yacc.c */ |
#line 604 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-2].nested.comp; |
*yyvsp[-2].nested.last = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, yyvsp[0].comp, NULL); |
yyval.nested.last = &d_right (*yyvsp[-2].nested.last); |
{ (yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp; |
*(yyvsp[(1) - (3)].nested).last = fill_comp (DEMANGLE_COMPONENT_TEMPLATE_ARGLIST, (yyvsp[(3) - (3)].comp), NULL); |
(yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last); |
} |
break; |
|
case 76: |
|
/* Line 1455 of yacc.c */ |
#line 616 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].abstract.comp; |
*yyvsp[0].abstract.last = yyvsp[-1].comp; |
{ (yyval.comp) = (yyvsp[(2) - (2)].abstract).comp; |
*(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp); |
} |
break; |
|
case 77: |
|
/* Line 1455 of yacc.c */ |
#line 620 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[0].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 78: |
|
/* Line 1455 of yacc.c */ |
#line 622 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[-1].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); } |
break; |
|
case 80: |
|
/* Line 1455 of yacc.c */ |
#line 627 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].comp, NULL); |
yyval.nested.last = &d_right (yyval.nested.comp); |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(1) - (1)].comp), NULL); |
(yyval.nested).last = &d_right ((yyval.nested).comp); |
} |
break; |
|
case 81: |
|
/* Line 1455 of yacc.c */ |
#line 631 "cp-name-parser.y" |
{ *yyvsp[0].abstract.last = yyvsp[-1].comp; |
yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].abstract.comp, NULL); |
yyval.nested.last = &d_right (yyval.nested.comp); |
{ *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp); |
(yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(2) - (2)].abstract).comp, NULL); |
(yyval.nested).last = &d_right ((yyval.nested).comp); |
} |
break; |
|
case 82: |
|
/* Line 1455 of yacc.c */ |
#line 636 "cp-name-parser.y" |
{ *yyvsp[-2].nested.last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].comp, NULL); |
yyval.nested.comp = yyvsp[-2].nested.comp; |
yyval.nested.last = &d_right (*yyvsp[-2].nested.last); |
{ *(yyvsp[(1) - (3)].nested).last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(3) - (3)].comp), NULL); |
(yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp; |
(yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last); |
} |
break; |
|
case 83: |
|
/* Line 1455 of yacc.c */ |
#line 641 "cp-name-parser.y" |
{ *yyvsp[0].abstract.last = yyvsp[-1].comp; |
*yyvsp[-3].nested.last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, yyvsp[0].abstract.comp, NULL); |
yyval.nested.comp = yyvsp[-3].nested.comp; |
yyval.nested.last = &d_right (*yyvsp[-3].nested.last); |
{ *(yyvsp[(4) - (4)].abstract).last = (yyvsp[(3) - (4)].comp); |
*(yyvsp[(1) - (4)].nested).last = fill_comp (DEMANGLE_COMPONENT_ARGLIST, (yyvsp[(4) - (4)].abstract).comp, NULL); |
(yyval.nested).comp = (yyvsp[(1) - (4)].nested).comp; |
(yyval.nested).last = &d_right (*(yyvsp[(1) - (4)].nested).last); |
} |
break; |
|
case 84: |
|
/* Line 1455 of yacc.c */ |
#line 647 "cp-name-parser.y" |
{ *yyvsp[-2].nested.last |
{ *(yyvsp[(1) - (3)].nested).last |
= fill_comp (DEMANGLE_COMPONENT_ARGLIST, |
make_builtin_type ("..."), |
NULL); |
yyval.nested.comp = yyvsp[-2].nested.comp; |
yyval.nested.last = &d_right (*yyvsp[-2].nested.last); |
(yyval.nested).comp = (yyvsp[(1) - (3)].nested).comp; |
(yyval.nested).last = &d_right (*(yyvsp[(1) - (3)].nested).last); |
} |
break; |
|
case 85: |
|
/* Line 1455 of yacc.c */ |
#line 657 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, yyvsp[-2].nested.comp); |
yyval.nested.last = &d_left (yyval.nested.comp); |
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 1); } |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, (yyvsp[(2) - (4)].nested).comp); |
(yyval.nested).last = &d_left ((yyval.nested).comp); |
(yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); } |
break; |
|
case 86: |
|
/* Line 1455 of yacc.c */ |
#line 661 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL); |
yyval.nested.last = &d_left (yyval.nested.comp); |
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 1); } |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL); |
(yyval.nested).last = &d_left ((yyval.nested).comp); |
(yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 1); } |
break; |
|
case 87: |
|
/* Line 1455 of yacc.c */ |
#line 665 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL); |
yyval.nested.last = &d_left (yyval.nested.comp); |
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 1); } |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE, NULL, NULL); |
(yyval.nested).last = &d_left ((yyval.nested).comp); |
(yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 1); } |
break; |
|
case 88: |
|
/* Line 1455 of yacc.c */ |
#line 672 "cp-name-parser.y" |
{ yyval.lval = 0; } |
{ (yyval.lval) = 0; } |
break; |
|
case 90: |
|
/* Line 1455 of yacc.c */ |
#line 677 "cp-name-parser.y" |
{ yyval.lval = QUAL_RESTRICT; } |
{ (yyval.lval) = QUAL_RESTRICT; } |
break; |
|
case 91: |
|
/* Line 1455 of yacc.c */ |
#line 679 "cp-name-parser.y" |
{ yyval.lval = QUAL_VOLATILE; } |
{ (yyval.lval) = QUAL_VOLATILE; } |
break; |
|
case 92: |
|
/* Line 1455 of yacc.c */ |
#line 681 "cp-name-parser.y" |
{ yyval.lval = QUAL_CONST; } |
{ (yyval.lval) = QUAL_CONST; } |
break; |
|
case 94: |
|
/* Line 1455 of yacc.c */ |
#line 686 "cp-name-parser.y" |
{ yyval.lval = yyvsp[-1].lval | yyvsp[0].lval; } |
{ (yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval); } |
break; |
|
case 95: |
|
/* Line 1455 of yacc.c */ |
#line 693 "cp-name-parser.y" |
{ yyval.lval = 0; } |
{ (yyval.lval) = 0; } |
break; |
|
case 96: |
|
/* Line 1455 of yacc.c */ |
#line 695 "cp-name-parser.y" |
{ yyval.lval = INT_SIGNED; } |
{ (yyval.lval) = INT_SIGNED; } |
break; |
|
case 97: |
|
/* Line 1455 of yacc.c */ |
#line 697 "cp-name-parser.y" |
{ yyval.lval = INT_UNSIGNED; } |
{ (yyval.lval) = INT_UNSIGNED; } |
break; |
|
case 98: |
|
/* Line 1455 of yacc.c */ |
#line 699 "cp-name-parser.y" |
{ yyval.lval = INT_CHAR; } |
{ (yyval.lval) = INT_CHAR; } |
break; |
|
case 99: |
|
/* Line 1455 of yacc.c */ |
#line 701 "cp-name-parser.y" |
{ yyval.lval = INT_LONG; } |
{ (yyval.lval) = INT_LONG; } |
break; |
|
case 100: |
|
/* Line 1455 of yacc.c */ |
#line 703 "cp-name-parser.y" |
{ yyval.lval = INT_SHORT; } |
{ (yyval.lval) = INT_SHORT; } |
break; |
|
case 102: |
|
/* Line 1455 of yacc.c */ |
#line 708 "cp-name-parser.y" |
{ yyval.lval = yyvsp[-1].lval | yyvsp[0].lval; if (yyvsp[-1].lval & yyvsp[0].lval & INT_LONG) yyval.lval = yyvsp[-1].lval | INT_LLONG; } |
{ (yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval); if ((yyvsp[(1) - (2)].lval) & (yyvsp[(2) - (2)].lval) & INT_LONG) (yyval.lval) = (yyvsp[(1) - (2)].lval) | INT_LLONG; } |
break; |
|
case 103: |
|
/* Line 1455 of yacc.c */ |
#line 712 "cp-name-parser.y" |
{ yyval.comp = d_int_type (yyvsp[0].lval); } |
{ (yyval.comp) = d_int_type ((yyvsp[(1) - (1)].lval)); } |
break; |
|
case 104: |
|
/* Line 1455 of yacc.c */ |
#line 714 "cp-name-parser.y" |
{ yyval.comp = make_builtin_type ("float"); } |
{ (yyval.comp) = make_builtin_type ("float"); } |
break; |
|
case 105: |
|
/* Line 1455 of yacc.c */ |
#line 716 "cp-name-parser.y" |
{ yyval.comp = make_builtin_type ("double"); } |
{ (yyval.comp) = make_builtin_type ("double"); } |
break; |
|
case 106: |
|
/* Line 1455 of yacc.c */ |
#line 718 "cp-name-parser.y" |
{ yyval.comp = make_builtin_type ("long double"); } |
{ (yyval.comp) = make_builtin_type ("long double"); } |
break; |
|
case 107: |
|
/* Line 1455 of yacc.c */ |
#line 720 "cp-name-parser.y" |
{ yyval.comp = make_builtin_type ("bool"); } |
{ (yyval.comp) = make_builtin_type ("bool"); } |
break; |
|
case 108: |
|
/* Line 1455 of yacc.c */ |
#line 722 "cp-name-parser.y" |
{ yyval.comp = make_builtin_type ("wchar_t"); } |
{ (yyval.comp) = make_builtin_type ("wchar_t"); } |
break; |
|
case 109: |
|
/* Line 1455 of yacc.c */ |
#line 724 "cp-name-parser.y" |
{ yyval.comp = make_builtin_type ("void"); } |
{ (yyval.comp) = make_builtin_type ("void"); } |
break; |
|
case 110: |
|
/* Line 1455 of yacc.c */ |
#line 728 "cp-name-parser.y" |
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_POINTER); |
yyval.nested.comp->u.s_binary.left = yyval.nested.comp->u.s_binary.right = NULL; |
yyval.nested.last = &d_left (yyval.nested.comp); |
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 0); } |
{ (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_POINTER); |
(yyval.nested).comp->u.s_binary.left = (yyval.nested).comp->u.s_binary.right = NULL; |
(yyval.nested).last = &d_left ((yyval.nested).comp); |
(yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(2) - (2)].lval), 0); } |
break; |
|
case 111: |
|
/* Line 1455 of yacc.c */ |
#line 734 "cp-name-parser.y" |
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_REFERENCE); |
yyval.nested.comp->u.s_binary.left = yyval.nested.comp->u.s_binary.right = NULL; |
yyval.nested.last = &d_left (yyval.nested.comp); } |
{ (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_REFERENCE); |
(yyval.nested).comp->u.s_binary.left = (yyval.nested).comp->u.s_binary.right = NULL; |
(yyval.nested).last = &d_left ((yyval.nested).comp); } |
break; |
|
case 112: |
|
/* Line 1455 of yacc.c */ |
#line 738 "cp-name-parser.y" |
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE); |
yyval.nested.comp->u.s_binary.left = yyvsp[-2].nested1.comp; |
{ (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE); |
(yyval.nested).comp->u.s_binary.left = (yyvsp[(1) - (3)].nested1).comp; |
/* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME. */ |
*yyvsp[-2].nested1.last = *d_left (yyvsp[-2].nested1.last); |
yyval.nested.comp->u.s_binary.right = NULL; |
yyval.nested.last = &d_right (yyval.nested.comp); |
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 0); } |
*(yyvsp[(1) - (3)].nested1).last = *d_left ((yyvsp[(1) - (3)].nested1).last); |
(yyval.nested).comp->u.s_binary.right = NULL; |
(yyval.nested).last = &d_right ((yyval.nested).comp); |
(yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(3) - (3)].lval), 0); } |
break; |
|
case 113: |
|
/* Line 1455 of yacc.c */ |
#line 746 "cp-name-parser.y" |
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE); |
yyval.nested.comp->u.s_binary.left = yyvsp[-2].nested1.comp; |
{ (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_PTRMEM_TYPE); |
(yyval.nested).comp->u.s_binary.left = (yyvsp[(2) - (4)].nested1).comp; |
/* Convert the innermost DEMANGLE_COMPONENT_QUAL_NAME to a DEMANGLE_COMPONENT_NAME. */ |
*yyvsp[-2].nested1.last = *d_left (yyvsp[-2].nested1.last); |
yyval.nested.comp->u.s_binary.right = NULL; |
yyval.nested.last = &d_right (yyval.nested.comp); |
yyval.nested.comp = d_qualify (yyval.nested.comp, yyvsp[0].lval, 0); } |
*(yyvsp[(2) - (4)].nested1).last = *d_left ((yyvsp[(2) - (4)].nested1).last); |
(yyval.nested).comp->u.s_binary.right = NULL; |
(yyval.nested).last = &d_right ((yyval.nested).comp); |
(yyval.nested).comp = d_qualify ((yyval.nested).comp, (yyvsp[(4) - (4)].lval), 0); } |
break; |
|
case 114: |
|
/* Line 1455 of yacc.c */ |
#line 756 "cp-name-parser.y" |
{ yyval.comp = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE); |
d_left (yyval.comp) = NULL; |
{ (yyval.comp) = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE); |
d_left ((yyval.comp)) = NULL; |
} |
break; |
|
case 115: |
|
/* Line 1455 of yacc.c */ |
#line 760 "cp-name-parser.y" |
{ yyval.comp = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE); |
d_left (yyval.comp) = yyvsp[-1].comp; |
{ (yyval.comp) = make_empty (DEMANGLE_COMPONENT_ARRAY_TYPE); |
d_left ((yyval.comp)) = (yyvsp[(2) - (3)].comp); |
} |
break; |
|
case 116: |
|
/* Line 1455 of yacc.c */ |
#line 776 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[0].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); } |
break; |
|
case 118: |
|
/* Line 1455 of yacc.c */ |
#line 779 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[-2].lval | yyvsp[0].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); } |
break; |
|
case 119: |
|
/* Line 1455 of yacc.c */ |
#line 781 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[0].comp, yyvsp[-1].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); } |
break; |
|
case 120: |
|
/* Line 1455 of yacc.c */ |
#line 784 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[0].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].lval), 0); } |
break; |
|
case 122: |
|
/* Line 1455 of yacc.c */ |
#line 787 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[-2].lval | yyvsp[0].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval), 0); } |
break; |
|
case 123: |
|
/* Line 1455 of yacc.c */ |
#line 789 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[0].comp, yyvsp[-1].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(2) - (2)].comp), (yyvsp[(1) - (2)].lval), 0); } |
break; |
|
case 124: |
|
/* Line 1455 of yacc.c */ |
#line 792 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[0].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(2) - (3)].comp), (yyvsp[(3) - (3)].lval), 0); } |
break; |
|
case 125: |
|
/* Line 1455 of yacc.c */ |
#line 794 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].comp; } |
{ (yyval.comp) = (yyvsp[(2) - (2)].comp); } |
break; |
|
case 126: |
|
/* Line 1455 of yacc.c */ |
#line 796 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[-1].comp, yyvsp[-3].lval | yyvsp[0].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(3) - (4)].comp), (yyvsp[(1) - (4)].lval) | (yyvsp[(4) - (4)].lval), 0); } |
break; |
|
case 127: |
|
/* Line 1455 of yacc.c */ |
#line 798 "cp-name-parser.y" |
{ yyval.comp = d_qualify (yyvsp[0].comp, yyvsp[-2].lval, 0); } |
{ (yyval.comp) = d_qualify ((yyvsp[(3) - (3)].comp), (yyvsp[(1) - (3)].lval), 0); } |
break; |
|
case 128: |
|
/* Line 1455 of yacc.c */ |
#line 803 "cp-name-parser.y" |
{ yyval.abstract.comp = yyvsp[0].nested.comp; yyval.abstract.last = yyvsp[0].nested.last; |
yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; } |
{ (yyval.abstract).comp = (yyvsp[(1) - (1)].nested).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].nested).last; |
(yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; } |
break; |
|
case 129: |
|
/* Line 1455 of yacc.c */ |
#line 806 "cp-name-parser.y" |
{ yyval.abstract = yyvsp[0].abstract; yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; |
if (yyvsp[0].abstract.fn.comp) { yyval.abstract.last = yyvsp[0].abstract.fn.last; *yyvsp[0].abstract.last = yyvsp[0].abstract.fn.comp; } |
*yyval.abstract.last = yyvsp[-1].nested.comp; |
yyval.abstract.last = yyvsp[-1].nested.last; } |
{ (yyval.abstract) = (yyvsp[(2) - (2)].abstract); (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; |
if ((yyvsp[(2) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(2) - (2)].abstract).fn.last; *(yyvsp[(2) - (2)].abstract).last = (yyvsp[(2) - (2)].abstract).fn.comp; } |
*(yyval.abstract).last = (yyvsp[(1) - (2)].nested).comp; |
(yyval.abstract).last = (yyvsp[(1) - (2)].nested).last; } |
break; |
|
case 130: |
|
/* Line 1455 of yacc.c */ |
#line 811 "cp-name-parser.y" |
{ yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; |
if (yyvsp[0].abstract.fn.comp) { yyval.abstract.last = yyvsp[0].abstract.fn.last; *yyvsp[0].abstract.last = yyvsp[0].abstract.fn.comp; } |
{ (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; |
if ((yyvsp[(1) - (1)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (1)].abstract).fn.last; *(yyvsp[(1) - (1)].abstract).last = (yyvsp[(1) - (1)].abstract).fn.comp; } |
} |
break; |
|
case 131: |
|
/* Line 1455 of yacc.c */ |
#line 818 "cp-name-parser.y" |
{ yyval.abstract = yyvsp[-1].abstract; yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.fold_flag = 1; |
if (yyvsp[-1].abstract.fn.comp) { yyval.abstract.last = yyvsp[-1].abstract.fn.last; *yyvsp[-1].abstract.last = yyvsp[-1].abstract.fn.comp; } |
{ (yyval.abstract) = (yyvsp[(2) - (3)].abstract); (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 1; |
if ((yyvsp[(2) - (3)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(2) - (3)].abstract).fn.last; *(yyvsp[(2) - (3)].abstract).last = (yyvsp[(2) - (3)].abstract).fn.comp; } |
} |
break; |
|
case 132: |
|
/* Line 1455 of yacc.c */ |
#line 822 "cp-name-parser.y" |
{ yyval.abstract.fold_flag = 0; |
if (yyvsp[-1].abstract.fn.comp) { yyval.abstract.last = yyvsp[-1].abstract.fn.last; *yyvsp[-1].abstract.last = yyvsp[-1].abstract.fn.comp; } |
if (yyvsp[-1].abstract.fold_flag) |
{ (yyval.abstract).fold_flag = 0; |
if ((yyvsp[(1) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (2)].abstract).fn.last; *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(1) - (2)].abstract).fn.comp; } |
if ((yyvsp[(1) - (2)].abstract).fold_flag) |
{ |
*yyval.abstract.last = yyvsp[0].nested.comp; |
yyval.abstract.last = yyvsp[0].nested.last; |
*(yyval.abstract).last = (yyvsp[(2) - (2)].nested).comp; |
(yyval.abstract).last = (yyvsp[(2) - (2)].nested).last; |
} |
else |
yyval.abstract.fn = yyvsp[0].nested; |
(yyval.abstract).fn = (yyvsp[(2) - (2)].nested); |
} |
break; |
|
case 133: |
|
/* Line 1455 of yacc.c */ |
#line 833 "cp-name-parser.y" |
{ yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.fold_flag = 0; |
if (yyvsp[-1].abstract.fn.comp) { yyval.abstract.last = yyvsp[-1].abstract.fn.last; *yyvsp[-1].abstract.last = yyvsp[-1].abstract.fn.comp; } |
*yyvsp[-1].abstract.last = yyvsp[0].comp; |
yyval.abstract.last = &d_right (yyvsp[0].comp); |
{ (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 0; |
if ((yyvsp[(1) - (2)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (2)].abstract).fn.last; *(yyvsp[(1) - (2)].abstract).last = (yyvsp[(1) - (2)].abstract).fn.comp; } |
*(yyvsp[(1) - (2)].abstract).last = (yyvsp[(2) - (2)].comp); |
(yyval.abstract).last = &d_right ((yyvsp[(2) - (2)].comp)); |
} |
break; |
|
case 134: |
|
/* Line 1455 of yacc.c */ |
#line 839 "cp-name-parser.y" |
{ yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.fold_flag = 0; |
yyval.abstract.comp = yyvsp[0].comp; |
yyval.abstract.last = &d_right (yyvsp[0].comp); |
{ (yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).fold_flag = 0; |
(yyval.abstract).comp = (yyvsp[(1) - (1)].comp); |
(yyval.abstract).last = &d_right ((yyvsp[(1) - (1)].comp)); |
} |
break; |
|
case 135: |
|
/* Line 1455 of yacc.c */ |
#line 857 "cp-name-parser.y" |
{ yyval.abstract.comp = yyvsp[0].nested.comp; yyval.abstract.last = yyvsp[0].nested.last; |
yyval.abstract.fn.comp = NULL; yyval.abstract.fn.last = NULL; yyval.abstract.start = NULL; } |
{ (yyval.abstract).comp = (yyvsp[(1) - (1)].nested).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].nested).last; |
(yyval.abstract).fn.comp = NULL; (yyval.abstract).fn.last = NULL; (yyval.abstract).start = NULL; } |
break; |
|
case 136: |
|
/* Line 1455 of yacc.c */ |
#line 860 "cp-name-parser.y" |
{ yyval.abstract = yyvsp[0].abstract; |
if (yyvsp[0].abstract.last) |
*yyval.abstract.last = yyvsp[-1].nested.comp; |
{ (yyval.abstract) = (yyvsp[(2) - (2)].abstract); |
if ((yyvsp[(2) - (2)].abstract).last) |
*(yyval.abstract).last = (yyvsp[(1) - (2)].nested).comp; |
else |
yyval.abstract.comp = yyvsp[-1].nested.comp; |
yyval.abstract.last = yyvsp[-1].nested.last; |
(yyval.abstract).comp = (yyvsp[(1) - (2)].nested).comp; |
(yyval.abstract).last = (yyvsp[(1) - (2)].nested).last; |
} |
break; |
|
case 137: |
|
/* Line 1455 of yacc.c */ |
#line 868 "cp-name-parser.y" |
{ yyval.abstract.comp = yyvsp[0].abstract.comp; yyval.abstract.last = yyvsp[0].abstract.last; yyval.abstract.fn = yyvsp[0].abstract.fn; yyval.abstract.start = NULL; } |
{ (yyval.abstract).comp = (yyvsp[(1) - (1)].abstract).comp; (yyval.abstract).last = (yyvsp[(1) - (1)].abstract).last; (yyval.abstract).fn = (yyvsp[(1) - (1)].abstract).fn; (yyval.abstract).start = NULL; } |
break; |
|
case 138: |
|
/* Line 1455 of yacc.c */ |
#line 870 "cp-name-parser.y" |
{ yyval.abstract.start = yyvsp[0].comp; |
if (yyvsp[-3].abstract.fn.comp) { yyval.abstract.last = yyvsp[-3].abstract.fn.last; *yyvsp[-3].abstract.last = yyvsp[-3].abstract.fn.comp; } |
if (yyvsp[-3].abstract.fold_flag) |
{ (yyval.abstract).start = (yyvsp[(4) - (4)].comp); |
if ((yyvsp[(1) - (4)].abstract).fn.comp) { (yyval.abstract).last = (yyvsp[(1) - (4)].abstract).fn.last; *(yyvsp[(1) - (4)].abstract).last = (yyvsp[(1) - (4)].abstract).fn.comp; } |
if ((yyvsp[(1) - (4)].abstract).fold_flag) |
{ |
*yyval.abstract.last = yyvsp[-2].nested.comp; |
yyval.abstract.last = yyvsp[-2].nested.last; |
*(yyval.abstract).last = (yyvsp[(2) - (4)].nested).comp; |
(yyval.abstract).last = (yyvsp[(2) - (4)].nested).last; |
} |
else |
yyval.abstract.fn = yyvsp[-2].nested; |
(yyval.abstract).fn = (yyvsp[(2) - (4)].nested); |
} |
break; |
|
case 139: |
|
/* Line 1455 of yacc.c */ |
#line 881 "cp-name-parser.y" |
{ yyval.abstract.fn = yyvsp[-1].nested; |
yyval.abstract.start = yyvsp[0].comp; |
yyval.abstract.comp = NULL; yyval.abstract.last = NULL; |
{ (yyval.abstract).fn = (yyvsp[(1) - (2)].nested); |
(yyval.abstract).start = (yyvsp[(2) - (2)].comp); |
(yyval.abstract).comp = NULL; (yyval.abstract).last = NULL; |
} |
break; |
|
case 141: |
|
/* Line 1455 of yacc.c */ |
#line 889 "cp-name-parser.y" |
{ yyval.comp = yyvsp[0].abstract.comp; |
*yyvsp[0].abstract.last = yyvsp[-1].comp; |
{ (yyval.comp) = (yyvsp[(2) - (2)].abstract).comp; |
*(yyvsp[(2) - (2)].abstract).last = (yyvsp[(1) - (2)].comp); |
} |
break; |
|
case 142: |
|
/* Line 1455 of yacc.c */ |
#line 895 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[0].nested.comp; |
yyval.nested.last = yyvsp[-1].nested.last; |
*yyvsp[0].nested.last = yyvsp[-1].nested.comp; } |
{ (yyval.nested).comp = (yyvsp[(2) - (2)].nested).comp; |
(yyval.nested).last = (yyvsp[(1) - (2)].nested).last; |
*(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].nested).comp; } |
break; |
|
case 144: |
|
/* Line 1455 of yacc.c */ |
#line 903 "cp-name-parser.y" |
{ yyval.nested = yyvsp[-1].nested; } |
{ (yyval.nested) = (yyvsp[(2) - (3)].nested); } |
break; |
|
case 145: |
|
/* Line 1455 of yacc.c */ |
#line 905 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested.comp; |
*yyvsp[-1].nested.last = yyvsp[0].nested.comp; |
yyval.nested.last = yyvsp[0].nested.last; |
{ (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp; |
*(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].nested).comp; |
(yyval.nested).last = (yyvsp[(2) - (2)].nested).last; |
} |
break; |
|
case 146: |
|
/* Line 1455 of yacc.c */ |
#line 910 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested.comp; |
*yyvsp[-1].nested.last = yyvsp[0].comp; |
yyval.nested.last = &d_right (yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp; |
*(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].comp); |
(yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp)); |
} |
break; |
|
case 147: |
|
/* Line 1455 of yacc.c */ |
#line 915 "cp-name-parser.y" |
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME); |
d_left (yyval.nested.comp) = yyvsp[0].comp; |
yyval.nested.last = &d_right (yyval.nested.comp); |
{ (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME); |
d_left ((yyval.nested).comp) = (yyvsp[(1) - (1)].comp); |
(yyval.nested).last = &d_right ((yyval.nested).comp); |
} |
break; |
|
case 148: |
|
/* Line 1455 of yacc.c */ |
#line 928 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[0].nested.comp; |
yyval.nested.last = yyvsp[-1].nested.last; |
*yyvsp[0].nested.last = yyvsp[-1].nested.comp; } |
{ (yyval.nested).comp = (yyvsp[(2) - (2)].nested).comp; |
(yyval.nested).last = (yyvsp[(1) - (2)].nested).last; |
*(yyvsp[(2) - (2)].nested).last = (yyvsp[(1) - (2)].nested).comp; } |
break; |
|
case 149: |
|
/* Line 1455 of yacc.c */ |
#line 932 "cp-name-parser.y" |
{ yyval.nested.comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME); |
d_left (yyval.nested.comp) = yyvsp[0].comp; |
yyval.nested.last = &d_right (yyval.nested.comp); |
{ (yyval.nested).comp = make_empty (DEMANGLE_COMPONENT_TYPED_NAME); |
d_left ((yyval.nested).comp) = (yyvsp[(1) - (1)].comp); |
(yyval.nested).last = &d_right ((yyval.nested).comp); |
} |
break; |
|
case 151: |
|
/* Line 1455 of yacc.c */ |
#line 945 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-3].comp, yyvsp[-2].nested.comp); |
yyval.nested.last = yyvsp[-2].nested.last; |
yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.nested.comp, yyvsp[0].comp); |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (4)].comp), (yyvsp[(2) - (4)].nested).comp); |
(yyval.nested).last = (yyvsp[(2) - (4)].nested).last; |
(yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp)); |
} |
break; |
|
case 152: |
|
/* Line 1455 of yacc.c */ |
#line 950 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-3].nested.comp; |
*yyvsp[-3].nested.last = yyvsp[-2].nested.comp; |
yyval.nested.last = yyvsp[-2].nested.last; |
yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, yyval.nested.comp, yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(1) - (4)].nested).comp; |
*(yyvsp[(1) - (4)].nested).last = (yyvsp[(2) - (4)].nested).comp; |
(yyval.nested).last = (yyvsp[(2) - (4)].nested).last; |
(yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, (yyval.nested).comp, (yyvsp[(4) - (4)].comp)); |
} |
break; |
|
case 153: |
|
/* Line 1455 of yacc.c */ |
#line 959 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested.comp; |
yyval.nested.last = yyvsp[-2].nested.last; |
*yyvsp[-1].nested.last = yyvsp[-2].nested.comp; } |
{ (yyval.nested).comp = (yyvsp[(3) - (4)].nested).comp; |
(yyval.nested).last = (yyvsp[(2) - (4)].nested).last; |
*(yyvsp[(3) - (4)].nested).last = (yyvsp[(2) - (4)].nested).comp; } |
break; |
|
case 154: |
|
/* Line 1455 of yacc.c */ |
#line 963 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested.comp; |
*yyvsp[-1].nested.last = yyvsp[0].nested.comp; |
yyval.nested.last = yyvsp[0].nested.last; |
{ (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp; |
*(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].nested).comp; |
(yyval.nested).last = (yyvsp[(2) - (2)].nested).last; |
} |
break; |
|
case 155: |
|
/* Line 1455 of yacc.c */ |
#line 968 "cp-name-parser.y" |
{ yyval.nested.comp = yyvsp[-1].nested.comp; |
*yyvsp[-1].nested.last = yyvsp[0].comp; |
yyval.nested.last = &d_right (yyvsp[0].comp); |
{ (yyval.nested).comp = (yyvsp[(1) - (2)].nested).comp; |
*(yyvsp[(1) - (2)].nested).last = (yyvsp[(2) - (2)].comp); |
(yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp)); |
} |
break; |
|
case 156: |
|
/* Line 1455 of yacc.c */ |
#line 973 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-1].comp, yyvsp[0].nested.comp); |
yyval.nested.last = yyvsp[0].nested.last; |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].nested).comp); |
(yyval.nested).last = (yyvsp[(2) - (2)].nested).last; |
} |
break; |
|
case 157: |
|
/* Line 1455 of yacc.c */ |
#line 977 "cp-name-parser.y" |
{ yyval.nested.comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, yyvsp[-1].comp, yyvsp[0].comp); |
yyval.nested.last = &d_right (yyvsp[0].comp); |
{ (yyval.nested).comp = fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, (yyvsp[(1) - (2)].comp), (yyvsp[(2) - (2)].comp)); |
(yyval.nested).last = &d_right ((yyvsp[(2) - (2)].comp)); |
} |
break; |
|
case 158: |
|
/* Line 1455 of yacc.c */ |
#line 983 "cp-name-parser.y" |
{ yyval.comp = yyvsp[-1].comp; } |
{ (yyval.comp) = (yyvsp[(2) - (3)].comp); } |
break; |
|
case 160: |
|
/* Line 1455 of yacc.c */ |
#line 992 "cp-name-parser.y" |
{ yyval.comp = d_binary (">", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary (">", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 161: |
|
/* Line 1455 of yacc.c */ |
#line 999 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[0].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 162: |
|
/* Line 1455 of yacc.c */ |
#line 1001 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), yyvsp[-1].comp); } |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, make_operator ("&", 1), (yyvsp[(3) - (4)].comp)); } |
break; |
|
case 163: |
|
/* Line 1455 of yacc.c */ |
#line 1006 "cp-name-parser.y" |
{ yyval.comp = d_unary ("-", yyvsp[0].comp); } |
{ (yyval.comp) = d_unary ("-", (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 164: |
|
/* Line 1455 of yacc.c */ |
#line 1010 "cp-name-parser.y" |
{ yyval.comp = d_unary ("!", yyvsp[0].comp); } |
{ (yyval.comp) = d_unary ("!", (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 165: |
|
/* Line 1455 of yacc.c */ |
#line 1014 "cp-name-parser.y" |
{ yyval.comp = d_unary ("~", yyvsp[0].comp); } |
{ (yyval.comp) = d_unary ("~", (yyvsp[(2) - (2)].comp)); } |
break; |
|
case 166: |
|
/* Line 1455 of yacc.c */ |
#line 1021 "cp-name-parser.y" |
{ if (yyvsp[0].comp->type == DEMANGLE_COMPONENT_LITERAL |
|| yyvsp[0].comp->type == DEMANGLE_COMPONENT_LITERAL_NEG) |
{ if ((yyvsp[(4) - (4)].comp)->type == DEMANGLE_COMPONENT_LITERAL |
|| (yyvsp[(4) - (4)].comp)->type == DEMANGLE_COMPONENT_LITERAL_NEG) |
{ |
yyval.comp = yyvsp[0].comp; |
d_left (yyvsp[0].comp) = yyvsp[-2].comp; |
(yyval.comp) = (yyvsp[(4) - (4)].comp); |
d_left ((yyvsp[(4) - (4)].comp)) = (yyvsp[(2) - (4)].comp); |
} |
else |
yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-2].comp, NULL), |
yyvsp[0].comp); |
(yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(2) - (4)].comp), NULL), |
(yyvsp[(4) - (4)].comp)); |
} |
break; |
|
case 167: |
|
/* Line 1455 of yacc.c */ |
#line 1037 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-4].comp, NULL), |
yyvsp[-1].comp); |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL), |
(yyvsp[(6) - (7)].comp)); |
} |
break; |
|
case 168: |
|
/* Line 1455 of yacc.c */ |
#line 1044 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-4].comp, NULL), |
yyvsp[-1].comp); |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL), |
(yyvsp[(6) - (7)].comp)); |
} |
break; |
|
case 169: |
|
/* Line 1455 of yacc.c */ |
#line 1051 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, yyvsp[-4].comp, NULL), |
yyvsp[-1].comp); |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_UNARY, |
fill_comp (DEMANGLE_COMPONENT_CAST, (yyvsp[(3) - (7)].comp), NULL), |
(yyvsp[(6) - (7)].comp)); |
} |
break; |
|
case 170: |
|
/* Line 1455 of yacc.c */ |
#line 1070 "cp-name-parser.y" |
{ yyval.comp = d_binary ("*", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("*", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 171: |
|
/* Line 1455 of yacc.c */ |
#line 1074 "cp-name-parser.y" |
{ yyval.comp = d_binary ("/", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("/", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 172: |
|
/* Line 1455 of yacc.c */ |
#line 1078 "cp-name-parser.y" |
{ yyval.comp = d_binary ("%", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("%", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 173: |
|
/* Line 1455 of yacc.c */ |
#line 1082 "cp-name-parser.y" |
{ yyval.comp = d_binary ("+", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("+", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 174: |
|
/* Line 1455 of yacc.c */ |
#line 1086 "cp-name-parser.y" |
{ yyval.comp = d_binary ("-", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("-", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 175: |
|
/* Line 1455 of yacc.c */ |
#line 1090 "cp-name-parser.y" |
{ yyval.comp = d_binary ("<<", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("<<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 176: |
|
/* Line 1455 of yacc.c */ |
#line 1094 "cp-name-parser.y" |
{ yyval.comp = d_binary (">>", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary (">>", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 177: |
|
/* Line 1455 of yacc.c */ |
#line 1098 "cp-name-parser.y" |
{ yyval.comp = d_binary ("==", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("==", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 178: |
|
/* Line 1455 of yacc.c */ |
#line 1102 "cp-name-parser.y" |
{ yyval.comp = d_binary ("!=", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("!=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 179: |
|
/* Line 1455 of yacc.c */ |
#line 1106 "cp-name-parser.y" |
{ yyval.comp = d_binary ("<=", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("<=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 180: |
|
/* Line 1455 of yacc.c */ |
#line 1110 "cp-name-parser.y" |
{ yyval.comp = d_binary (">=", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary (">=", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 181: |
|
/* Line 1455 of yacc.c */ |
#line 1114 "cp-name-parser.y" |
{ yyval.comp = d_binary ("<", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("<", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 182: |
|
/* Line 1455 of yacc.c */ |
#line 1118 "cp-name-parser.y" |
{ yyval.comp = d_binary ("&", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 183: |
|
/* Line 1455 of yacc.c */ |
#line 1122 "cp-name-parser.y" |
{ yyval.comp = d_binary ("^", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("^", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 184: |
|
/* Line 1455 of yacc.c */ |
#line 1126 "cp-name-parser.y" |
{ yyval.comp = d_binary ("|", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("|", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 185: |
|
/* Line 1455 of yacc.c */ |
#line 1130 "cp-name-parser.y" |
{ yyval.comp = d_binary ("&&", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("&&", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 186: |
|
/* Line 1455 of yacc.c */ |
#line 1134 "cp-name-parser.y" |
{ yyval.comp = d_binary ("||", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("||", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 187: |
|
/* Line 1455 of yacc.c */ |
#line 1139 "cp-name-parser.y" |
{ yyval.comp = d_binary ("->", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary ("->", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 188: |
|
/* Line 1455 of yacc.c */ |
#line 1143 "cp-name-parser.y" |
{ yyval.comp = d_binary (".", yyvsp[-2].comp, yyvsp[0].comp); } |
{ (yyval.comp) = d_binary (".", (yyvsp[(1) - (3)].comp), (yyvsp[(3) - (3)].comp)); } |
break; |
|
case 189: |
|
/* Line 1455 of yacc.c */ |
#line 1147 "cp-name-parser.y" |
{ yyval.comp = fill_comp (DEMANGLE_COMPONENT_TRINARY, make_operator ("?", 3), |
fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, yyvsp[-4].comp, |
fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, yyvsp[-2].comp, yyvsp[0].comp))); |
{ (yyval.comp) = fill_comp (DEMANGLE_COMPONENT_TRINARY, make_operator ("?", 3), |
fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG1, (yyvsp[(1) - (5)].comp), |
fill_comp (DEMANGLE_COMPONENT_TRINARY_ARG2, (yyvsp[(3) - (5)].comp), (yyvsp[(5) - (5)].comp)))); |
} |
break; |
|
case 192: |
|
/* Line 1455 of yacc.c */ |
#line 1161 "cp-name-parser.y" |
{ yyval.comp = d_unary ("sizeof", yyvsp[-1].comp); } |
{ (yyval.comp) = d_unary ("sizeof", (yyvsp[(3) - (4)].comp)); } |
break; |
|
case 193: |
|
/* Line 1455 of yacc.c */ |
#line 1166 "cp-name-parser.y" |
{ struct demangle_component *i; |
i = make_name ("1", 1); |
yyval.comp = fill_comp (DEMANGLE_COMPONENT_LITERAL, |
(yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LITERAL, |
make_builtin_type ("bool"), |
i); |
} |
2817,10 → 3498,12
break; |
|
case 194: |
|
/* Line 1455 of yacc.c */ |
#line 1175 "cp-name-parser.y" |
{ struct demangle_component *i; |
i = make_name ("0", 1); |
yyval.comp = fill_comp (DEMANGLE_COMPONENT_LITERAL, |
(yyval.comp) = fill_comp (DEMANGLE_COMPONENT_LITERAL, |
make_builtin_type ("bool"), |
i); |
} |
2827,20 → 3510,19
break; |
|
|
|
/* Line 1455 of yacc.c */ |
#line 3517 "cp-name-parser.c.tmp" |
default: break; |
} |
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
|
/* Line 1000 of yacc.c. */ |
#line 2834 "cp-name-parser.c.tmp" |
|
yyvsp -= yylen; |
yyssp -= yylen; |
|
|
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
|
*++yyvsp = yyval; |
|
|
/* Now `shift' the result of the reduction. Determine what state |
that goes to, based on the state we popped back to and the rule |
number reduced by. */ |
2864,66 → 3546,41
if (!yyerrstatus) |
{ |
++yynerrs; |
#if YYERROR_VERBOSE |
yyn = yypact[yystate]; |
|
if (YYPACT_NINF < yyn && yyn < YYLAST) |
{ |
YYSIZE_T yysize = 0; |
int yytype = YYTRANSLATE (yychar); |
const char* yyprefix; |
char *yymsg; |
int yyx; |
|
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 0; |
|
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
#if ! YYERROR_VERBOSE |
yyerror (YY_("syntax error")); |
#else |
{ |
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); |
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) |
{ |
YYSIZE_T yyalloc = 2 * yysize; |
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) |
yyalloc = YYSTACK_ALLOC_MAXIMUM; |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
yymsg = (char *) YYSTACK_ALLOC (yyalloc); |
if (yymsg) |
yymsg_alloc = yyalloc; |
else |
{ |
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); |
yycount += 1; |
if (yycount == 5) |
{ |
yysize = 0; |
break; |
} |
yymsg = yymsgbuf; |
yymsg_alloc = sizeof yymsgbuf; |
} |
yysize += (sizeof ("syntax error, unexpected ") |
+ yystrlen (yytname[yytype])); |
yymsg = (char *) YYSTACK_ALLOC (yysize); |
if (yymsg != 0) |
{ |
char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); |
yyp = yystpcpy (yyp, yytname[yytype]); |
} |
|
if (yycount < 5) |
{ |
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
yyp = yystpcpy (yyp, yyprefix); |
yyp = yystpcpy (yyp, yytname[yyx]); |
yyprefix = " or "; |
} |
} |
yyerror (yymsg); |
YYSTACK_FREE (yymsg); |
} |
else |
yyerror ("syntax error; also virtual memory exhausted"); |
} |
else |
#endif /* YYERROR_VERBOSE */ |
yyerror ("syntax error"); |
if (0 < yysize && yysize <= yymsg_alloc) |
{ |
(void) yysyntax_error (yymsg, yystate, yychar); |
yyerror (yymsg); |
} |
else |
{ |
yyerror (YY_("syntax error")); |
if (yysize != 0) |
goto yyexhaustedlab; |
} |
} |
#endif |
} |
|
|
2934,25 → 3591,16
error, discard it. */ |
|
if (yychar <= YYEOF) |
{ |
/* If at end of input, pop the error token, |
then the rest of the stack, then return failure. */ |
{ |
/* Return failure if at end of input. */ |
if (yychar == YYEOF) |
for (;;) |
{ |
YYPOPSTACK; |
if (yyssp == yyss) |
YYABORT; |
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[*yyssp], yyvsp); |
} |
} |
YYABORT; |
} |
else |
{ |
YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); |
yydestruct (yytoken, &yylval); |
yydestruct ("Error: discarding", |
yytoken, &yylval); |
yychar = YYEMPTY; |
|
} |
} |
|
2966,15 → 3614,17
`---------------------------------------------------*/ |
yyerrorlab: |
|
#ifdef __GNUC__ |
/* Pacify GCC when the user code never invokes YYERROR and the label |
yyerrorlab therefore never appears in user code. */ |
if (0) |
/* Pacify compilers like GCC when the user code never invokes |
YYERROR and the label yyerrorlab therefore never appears in user |
code. */ |
if (/*CONSTCOND*/ 0) |
goto yyerrorlab; |
#endif |
|
yyvsp -= yylen; |
yyssp -= yylen; |
/* Do not reclaim the symbols of the rule which action triggered |
this YYERROR. */ |
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
yystate = *yyssp; |
goto yyerrlab1; |
|
3003,21 → 3653,20
if (yyssp == yyss) |
YYABORT; |
|
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[yystate], yyvsp); |
YYPOPSTACK; |
|
yydestruct ("Error: popping", |
yystos[yystate], yyvsp); |
YYPOPSTACK (1); |
yystate = *yyssp; |
YY_STACK_PRINT (yyss, yyssp); |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
*++yyvsp = yylval; |
|
YYDPRINTF ((stderr, "Shifting error token, ")); |
|
*++yyvsp = yylval; |
/* Shift the error token. */ |
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); |
|
|
yystate = yyn; |
goto yynewstate; |
|
3036,25 → 3685,45
yyresult = 1; |
goto yyreturn; |
|
#ifndef yyoverflow |
/*----------------------------------------------. |
| yyoverflowlab -- parser overflow comes here. | |
`----------------------------------------------*/ |
yyoverflowlab: |
yyerror ("parser stack overflow"); |
#if !defined(yyoverflow) || YYERROR_VERBOSE |
/*-------------------------------------------------. |
| yyexhaustedlab -- memory exhaustion comes here. | |
`-------------------------------------------------*/ |
yyexhaustedlab: |
yyerror (YY_("memory exhausted")); |
yyresult = 2; |
/* Fall through. */ |
#endif |
|
yyreturn: |
if (yychar != YYEMPTY) |
yydestruct ("Cleanup: discarding lookahead", |
yytoken, &yylval); |
/* Do not reclaim the symbols of the rule which action triggered |
this YYABORT or YYACCEPT. */ |
YYPOPSTACK (yylen); |
YY_STACK_PRINT (yyss, yyssp); |
while (yyssp != yyss) |
{ |
yydestruct ("Cleanup: popping", |
yystos[*yyssp], yyvsp); |
YYPOPSTACK (1); |
} |
#ifndef yyoverflow |
if (yyss != yyssa) |
YYSTACK_FREE (yyss); |
#endif |
return yyresult; |
#if YYERROR_VERBOSE |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
#endif |
/* Make sure YYID is used. */ |
return YYID (yyresult); |
} |
|
|
|
/* Line 1675 of yacc.c */ |
#line 1185 "cp-name-parser.y" |
|
|
3987,4 → 4656,3
|
#endif |
|
|
/openrisc/trunk/gnu-src/gdb-7.2/gdb/po/gdb.pot
8,10 → 8,11
msgstr "" |
"Project-Id-Version: PACKAGE VERSION\n" |
"Report-Msgid-Bugs-To: \n" |
"POT-Creation-Date: 2010-09-02 23:45+0000\n" |
"POT-Creation-Date: 2010-09-06 11:53+0100\n" |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
"Language-Team: LANGUAGE <LL@li.org>\n" |
"Language: \n" |
"MIME-Version: 1.0\n" |
"Content-Type: text/plain; charset=CHARSET\n" |
"Content-Transfer-Encoding: 8bit\n" |
519,8 → 520,8
#: ada-lang.c:9702 |
#, possible-c-format |
msgid "" |
"Undefined name, ambiguous name, or renaming used in component association: %" |
"s." |
"Undefined name, ambiguous name, or renaming used in component association: " |
"%s." |
msgstr "" |
|
#: ada-lang.c:9705 |
689,39 → 690,39
"this option to \"off\" unless necessary." |
msgstr "" |
|
#: ada-lex.l:129 ada-lex.l:133 |
#: ../../gdb-7.2/gdb/ada-lex.l:129 ../../gdb-7.2/gdb/ada-lex.l:133 |
msgid "Based real literals not implemented yet." |
msgstr "" |
|
#: ada-lex.l:156 |
#: ../../gdb-7.2/gdb/ada-lex.l:156 |
msgid "ill-formed or non-terminated string literal" |
msgstr "" |
|
#: ada-lex.l:288 |
#: ../../gdb-7.2/gdb/ada-lex.l:288 |
#, possible-c-format |
msgid "Invalid character '%s' in expression." |
msgstr "" |
|
#: ada-lex.l:342 |
#: ../../gdb-7.2/gdb/ada-lex.l:343 |
#, possible-c-format |
msgid "Invalid base: %d." |
msgstr "" |
|
#: ada-lex.l:353 ada-lex.l:360 |
#: ../../gdb-7.2/gdb/ada-lex.l:354 ../../gdb-7.2/gdb/ada-lex.l:361 |
msgid "Integer literal out of range" |
msgstr "" |
|
#: ada-lex.l:355 |
#: ../../gdb-7.2/gdb/ada-lex.l:356 |
#, possible-c-format |
msgid "Invalid digit `%c' in based literal" |
msgstr "" |
|
#: ada-lex.l:601 |
#: ../../gdb-7.2/gdb/ada-lex.l:602 |
#, possible-c-format |
msgid "ambiguous attribute name: `%s'" |
msgstr "" |
|
#: ada-lex.l:604 |
#: ../../gdb-7.2/gdb/ada-lex.l:605 |
#, possible-c-format |
msgid "unrecognized attribute: `%s'" |
msgstr "" |
3393,12 → 3394,6
"\n" |
msgstr "" |
|
#: breakpoint.c:11868 breakpoint.c:11880 |
msgid "" |
"\n" |
"Do \"help tracepoints\" for info on other tracepoint commands." |
msgstr "" |
|
#: breakpoint.c:11877 |
msgid "" |
"Set a fast tracepoint at specified line or function.\n" |
3790,6 → 3785,187
msgid "Could not convert character constant to target character set" |
msgstr "" |
|
#: cli/cli-decode.c:1291 |
#, possible-c-format |
msgid "Undefined %scommand: \"%s\". Try \"help%s%.*s\"." |
msgstr "" |
|
#: cli/cli-decode.c:1324 |
#, possible-c-format |
msgid "Lack of needed %scommand" |
msgstr "" |
|
#: cli/cli-decode.c:1388 |
#, possible-c-format |
msgid "Ambiguous %scommand \"%s\": %s." |
msgstr "" |
|
#: cli/cli-decode.c:1773 |
msgid "Invalid command" |
msgstr "" |
|
#: cli/cli-setshow.c:60 |
msgid "\"on\", \"off\" or \"auto\" expected." |
msgstr "" |
|
#: cli/cli-setshow.c:89 |
msgid "\"on\" or \"off\" expected." |
msgstr "" |
|
#: cli/cli-setshow.c:193 |
msgid "filename to set it to." |
msgstr "" |
|
#: cli/cli-setshow.c:214 cli/cli-setshow.c:224 cli/cli-setshow.c:236 |
#: cli/cli-setshow.c:241 |
msgid "integer to set it to." |
msgstr "" |
|
#: cli/cli-setshow.c:229 |
#, possible-c-format |
msgid "integer %u out of range" |
msgstr "" |
|
#: cli/cli-setshow.c:271 |
#, possible-c-format |
msgid "Requires an argument. Valid arguments are %s." |
msgstr "" |
|
#: cli/cli-setshow.c:299 |
#, possible-c-format |
msgid "Undefined item: \"%s\"." |
msgstr "" |
|
#: cli/cli-setshow.c:302 |
#, possible-c-format |
msgid "Ambiguous item \"%s\"." |
msgstr "" |
|
#: cli/cli-setshow.c:308 cli/cli-setshow.c:378 |
msgid "gdb internal error: bad var_type in do_setshow_command" |
msgstr "" |
|
#: cli/cli-setshow.c:353 |
msgid "do_setshow_command: invalid var_auto_boolean" |
msgstr "" |
|
#: cli/cli-setshow.c:402 |
msgid "gdb internal error: bad cmd_type in do_setshow_command" |
msgstr "" |
|
#: cli/cli-logging.c:44 |
#, possible-c-format |
msgid "The current logfile is \"%s\".\n" |
msgstr "" |
|
#: cli/cli-logging.c:53 |
#, possible-c-format |
msgid "Whether logging overwrites or appends to the log file is %s.\n" |
msgstr "" |
|
#: cli/cli-logging.c:63 |
#, possible-c-format |
msgid "The logging output mode is %s.\n" |
msgstr "" |
|
#: cli/cli-logging.c:101 cli/cli-logging.c:109 |
msgid "set logging" |
msgstr "" |
|
#: cli/cli-logging.c:134 |
msgid "Current output protocol does not support redirection" |
msgstr "" |
|
#: cli/cli-logging.c:166 |
msgid "" |
"\"set logging\" lets you log output to a file.\n" |
"Usage: set logging on [FILENAME]\n" |
" set logging off\n" |
" set logging file FILENAME\n" |
" set logging overwrite [on|off]\n" |
" set logging redirect [on|off]\n" |
msgstr "" |
|
#: cli/cli-logging.c:179 |
#, possible-c-format |
msgid "Currently logging to \"%s\".\n" |
msgstr "" |
|
#: cli/cli-logging.c:182 |
#, possible-c-format |
msgid "Future logs will be written to %s.\n" |
msgstr "" |
|
#: cli/cli-logging.c:186 |
msgid "Logs will overwrite the log file.\n" |
msgstr "" |
|
#: cli/cli-logging.c:188 |
msgid "Logs will be appended to the log file.\n" |
msgstr "" |
|
#: cli/cli-logging.c:191 |
msgid "Output will be sent only to the log file.\n" |
msgstr "" |
|
#: cli/cli-logging.c:193 |
msgid "Output will be logged and displayed.\n" |
msgstr "" |
|
#: cli/cli-logging.c:205 |
msgid "Set logging options" |
msgstr "" |
|
#: cli/cli-logging.c:208 |
msgid "Show logging options" |
msgstr "" |
|
#: cli/cli-logging.c:210 |
msgid "Set whether logging overwrites or appends to the log file." |
msgstr "" |
|
#: cli/cli-logging.c:211 |
msgid "Show whether logging overwrites or appends to the log file." |
msgstr "" |
|
#: cli/cli-logging.c:212 |
msgid "If set, logging overrides the log file." |
msgstr "" |
|
#: cli/cli-logging.c:217 |
msgid "Set the logging output mode." |
msgstr "" |
|
#: cli/cli-logging.c:218 |
msgid "Show the logging output mode." |
msgstr "" |
|
#: cli/cli-logging.c:219 |
msgid "" |
"If redirect is off, output will go to both the screen and the log file.\n" |
"If redirect is on, output will go only to the log file." |
msgstr "" |
|
#: cli/cli-logging.c:225 |
msgid "Set the current logfile." |
msgstr "" |
|
#: cli/cli-logging.c:226 |
msgid "Show the current logfile." |
msgstr "" |
|
#: cli/cli-logging.c:227 |
msgid "The logfile is used when directing GDB's output." |
msgstr "" |
|
#: cli/cli-logging.c:233 |
msgid "Enable logging." |
msgstr "" |
|
#: cli/cli-logging.c:235 |
msgid "Disable logging." |
msgstr "" |
|
#: cli/cli-cmds.c:214 |
#, possible-c-format |
msgid "Argument required (%s)." |
4301,25 → 4477,6
msgid "When 'on', each command is displayed as it is executed." |
msgstr "" |
|
#: cli/cli-decode.c:1291 |
#, possible-c-format |
msgid "Undefined %scommand: \"%s\". Try \"help%s%.*s\"." |
msgstr "" |
|
#: cli/cli-decode.c:1324 |
#, possible-c-format |
msgid "Lack of needed %scommand" |
msgstr "" |
|
#: cli/cli-decode.c:1388 |
#, possible-c-format |
msgid "Ambiguous %scommand \"%s\": %s." |
msgstr "" |
|
#: cli/cli-decode.c:1773 |
msgid "Invalid command" |
msgstr "" |
|
#: cli/cli-dump.c:85 |
msgid "Missing filename." |
msgstr "" |
4519,119 → 4676,6
"(file relative) will be restored to target memory." |
msgstr "" |
|
#: cli/cli-logging.c:44 |
#, possible-c-format |
msgid "The current logfile is \"%s\".\n" |
msgstr "" |
|
#: cli/cli-logging.c:53 |
#, possible-c-format |
msgid "Whether logging overwrites or appends to the log file is %s.\n" |
msgstr "" |
|
#: cli/cli-logging.c:63 |
#, possible-c-format |
msgid "The logging output mode is %s.\n" |
msgstr "" |
|
#: cli/cli-logging.c:101 cli/cli-logging.c:109 |
msgid "set logging" |
msgstr "" |
|
#: cli/cli-logging.c:134 |
msgid "Current output protocol does not support redirection" |
msgstr "" |
|
#: cli/cli-logging.c:166 |
msgid "" |
"\"set logging\" lets you log output to a file.\n" |
"Usage: set logging on [FILENAME]\n" |
" set logging off\n" |
" set logging file FILENAME\n" |
" set logging overwrite [on|off]\n" |
" set logging redirect [on|off]\n" |
msgstr "" |
|
#: cli/cli-logging.c:179 |
#, possible-c-format |
msgid "Currently logging to \"%s\".\n" |
msgstr "" |
|
#: cli/cli-logging.c:182 |
#, possible-c-format |
msgid "Future logs will be written to %s.\n" |
msgstr "" |
|
#: cli/cli-logging.c:186 |
msgid "Logs will overwrite the log file.\n" |
msgstr "" |
|
#: cli/cli-logging.c:188 |
msgid "Logs will be appended to the log file.\n" |
msgstr "" |
|
#: cli/cli-logging.c:191 |
msgid "Output will be sent only to the log file.\n" |
msgstr "" |
|
#: cli/cli-logging.c:193 |
msgid "Output will be logged and displayed.\n" |
msgstr "" |
|
#: cli/cli-logging.c:205 |
msgid "Set logging options" |
msgstr "" |
|
#: cli/cli-logging.c:208 |
msgid "Show logging options" |
msgstr "" |
|
#: cli/cli-logging.c:210 |
msgid "Set whether logging overwrites or appends to the log file." |
msgstr "" |
|
#: cli/cli-logging.c:211 |
msgid "Show whether logging overwrites or appends to the log file." |
msgstr "" |
|
#: cli/cli-logging.c:212 |
msgid "If set, logging overrides the log file." |
msgstr "" |
|
#: cli/cli-logging.c:217 |
msgid "Set the logging output mode." |
msgstr "" |
|
#: cli/cli-logging.c:218 |
msgid "Show the logging output mode." |
msgstr "" |
|
#: cli/cli-logging.c:219 |
msgid "" |
"If redirect is off, output will go to both the screen and the log file.\n" |
"If redirect is on, output will go only to the log file." |
msgstr "" |
|
#: cli/cli-logging.c:225 |
msgid "Set the current logfile." |
msgstr "" |
|
#: cli/cli-logging.c:226 |
msgid "Show the current logfile." |
msgstr "" |
|
#: cli/cli-logging.c:227 |
msgid "The logfile is used when directing GDB's output." |
msgstr "" |
|
#: cli/cli-logging.c:233 |
msgid "Enable logging." |
msgstr "" |
|
#: cli/cli-logging.c:235 |
msgid "Disable logging." |
msgstr "" |
|
#: cli/cli-script.c:90 |
msgid "if/while commands require arguments." |
msgstr "" |
4746,55 → 4790,6
msgid "bad reason" |
msgstr "" |
|
#: cli/cli-setshow.c:60 |
msgid "\"on\", \"off\" or \"auto\" expected." |
msgstr "" |
|
#: cli/cli-setshow.c:89 |
msgid "\"on\" or \"off\" expected." |
msgstr "" |
|
#: cli/cli-setshow.c:193 |
msgid "filename to set it to." |
msgstr "" |
|
#: cli/cli-setshow.c:214 cli/cli-setshow.c:224 cli/cli-setshow.c:236 |
#: cli/cli-setshow.c:241 |
msgid "integer to set it to." |
msgstr "" |
|
#: cli/cli-setshow.c:229 |
#, possible-c-format |
msgid "integer %u out of range" |
msgstr "" |
|
#: cli/cli-setshow.c:271 |
#, possible-c-format |
msgid "Requires an argument. Valid arguments are %s." |
msgstr "" |
|
#: cli/cli-setshow.c:299 |
#, possible-c-format |
msgid "Undefined item: \"%s\"." |
msgstr "" |
|
#: cli/cli-setshow.c:302 |
#, possible-c-format |
msgid "Ambiguous item \"%s\"." |
msgstr "" |
|
#: cli/cli-setshow.c:308 cli/cli-setshow.c:378 |
msgid "gdb internal error: bad var_type in do_setshow_command" |
msgstr "" |
|
#: cli/cli-setshow.c:353 |
msgid "do_setshow_command: invalid var_auto_boolean" |
msgstr "" |
|
#: cli/cli-setshow.c:402 |
msgid "gdb internal error: bad cmd_type in do_setshow_command" |
msgstr "" |
|
#: coffread.c:584 |
#, possible-c-format |
msgid "\"%s\": error reading line numbers." |
5585,8 → 5580,8
#: darwin-nat.c:1704 |
#, possible-c-format |
msgid "" |
"darwin_read_write_inferior: mach_vm_region_recurse addr=%s, start=%s, len=%" |
"s\n" |
"darwin_read_write_inferior: mach_vm_region_recurse addr=%s, start=%s, len=" |
"%s\n" |
msgstr "" |
|
#: darwin-nat.c:1713 |
7117,8 → 7112,8
#: dwarf2read.c:10940 |
#, possible-c-format |
msgid "" |
"Dwarf Error: Cannot find DIE at 0x%x referenced from DIE at 0x%x [in module %" |
"s]" |
"Dwarf Error: Cannot find DIE at 0x%x referenced from DIE at 0x%x [in module " |
"%s]" |
msgstr "" |
|
#: dwarf2read.c:10961 |
7230,8 → 7225,8
#: dwarf2read.c:12145 |
#, possible-c-format |
msgid "" |
"Dwarf Error: could not find partial DIE containing offset 0x%lx [in module %" |
"s]" |
"Dwarf Error: could not find partial DIE containing offset 0x%lx [in module " |
"%s]" |
msgstr "" |
|
#: dwarf2read.c:12157 |
13275,90 → 13270,11
msgid "mi_cmd_disassemble: No function contains specified address" |
msgstr "" |
|
#: mi/mi-cmd-env.c:73 |
msgid "mi_cmd_env_pwd: No arguments required" |
msgstr "" |
|
#: mi/mi-cmd-env.c:84 |
#: mi/mi-cmds.c:210 |
#, possible-c-format |
msgid "mi_cmd_env_pwd: error finding name of working directory: %s" |
msgid "command `%s' appears to be duplicated" |
msgstr "" |
|
#: mi/mi-cmd-env.c:95 |
msgid "mi_cmd_env_cd: Usage DIRECTORY" |
msgstr "" |
|
#: mi/mi-cmd-env.c:257 |
msgid "mi_cmd_inferior_tty_show: Usage: No args" |
msgstr "" |
|
#: mi/mi-cmd-file.c:39 |
msgid "mi_cmd_file_list_exec_source_file: Usage: No args" |
msgstr "" |
|
#: mi/mi-cmd-file.c:49 |
msgid "mi_cmd_file_list_exec_source_file: No symtab" |
msgstr "" |
|
#: mi/mi-cmd-file.c:87 |
msgid "mi_cmd_file_list_exec_source_files: Usage: No args" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:56 |
msgid "mi_cmd_stack_list_frames: Usage: [FRAME_LOW FRAME_HIGH]" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:79 |
msgid "mi_cmd_stack_list_frames: Not enough frames in stack." |
msgstr "" |
|
#: mi/mi-cmd-stack.c:106 |
msgid "mi_cmd_stack_info_depth: Usage: [MAX_DEPTH]" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:136 |
#, possible-c-format |
msgid "" |
"Unknown value for PRINT_VALUES: must be: 0 or \"%s\", 1 or \"%s\", 2 or \"%s" |
"\"" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:150 |
msgid "mi_cmd_stack_list_locals: Usage: PRINT_VALUES" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:171 |
msgid "mi_cmd_stack_list_args: Usage: PRINT_VALUES [FRAME_LOW FRAME_HIGH]" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:196 |
msgid "mi_cmd_stack_list_args: Not enough frames in stack." |
msgstr "" |
|
#: mi/mi-cmd-stack.c:228 |
msgid "Usage: PRINT_VALUES" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:380 |
msgid "mi_cmd_stack_select_frame: Usage: FRAME_SPEC" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:389 |
msgid "mi_cmd_stack_info_frame: No arguments required" |
msgstr "" |
|
#: mi/mi-cmd-target.c:40 |
msgid "mi_cmd_target_file_get: Usage: REMOTE_FILE LOCAL_FILE" |
msgstr "" |
|
#: mi/mi-cmd-target.c:64 |
msgid "mi_cmd_target_file_put: Usage: LOCAL_FILE REMOTE_FILE" |
msgstr "" |
|
#: mi/mi-cmd-target.c:88 |
msgid "mi_cmd_target_file_delete: Usage: REMOTE_FILE" |
msgstr "" |
|
#. mi_error_message = xstrprintf ("mi_cmd_var_create: Usage: |
#. ...."); return MI_CMD_ERROR; |
#: mi/mi-cmd-var.c:112 |
13479,15 → 13395,23
msgid "mi_cmd_var_set_update_range: Usage: VAROBJ FROM TO" |
msgstr "" |
|
#: mi/mi-cmds.c:210 |
#: mi/mi-cmd-env.c:73 |
msgid "mi_cmd_env_pwd: No arguments required" |
msgstr "" |
|
#: mi/mi-cmd-env.c:84 |
#, possible-c-format |
msgid "command `%s' appears to be duplicated" |
msgid "mi_cmd_env_pwd: error finding name of working directory: %s" |
msgstr "" |
|
#: mi/mi-common.c:53 |
msgid "async_reason_string_lookup is inconsistent" |
#: mi/mi-cmd-env.c:95 |
msgid "mi_cmd_env_cd: Usage DIRECTORY" |
msgstr "" |
|
#: mi/mi-cmd-env.c:257 |
msgid "mi_cmd_inferior_tty_show: Usage: No args" |
msgstr "" |
|
#: mi/mi-console.c:69 |
msgid "mi_console_file_delete: bad magic number" |
msgstr "" |
13500,6 → 13424,63
msgid "mi_console_file_flush: bad magic number" |
msgstr "" |
|
#: mi/mi-common.c:53 |
msgid "async_reason_string_lookup is inconsistent" |
msgstr "" |
|
#: mi/mi-parse.c:315 |
msgid "Duplicate '--thread-group' option" |
msgstr "" |
|
#: mi/mi-parse.c:318 |
msgid "Invalid thread group id" |
msgstr "" |
|
#: mi/mi-parse.c:325 |
msgid "Duplicate '--thread' option" |
msgstr "" |
|
#: mi/mi-parse.c:332 |
msgid "Duplicate '--frame' option" |
msgstr "" |
|
#: mi/mi-parse.c:340 |
#, possible-c-format |
msgid "Invalid value for the '%s' option" |
msgstr "" |
|
#: mi/mi-cmd-file.c:39 |
msgid "mi_cmd_file_list_exec_source_file: Usage: No args" |
msgstr "" |
|
#: mi/mi-cmd-file.c:49 |
msgid "mi_cmd_file_list_exec_source_file: No symtab" |
msgstr "" |
|
#: mi/mi-cmd-file.c:87 |
msgid "mi_cmd_file_list_exec_source_files: Usage: No args" |
msgstr "" |
|
#: mi/mi-symbol-cmds.c:41 |
msgid "mi_cmd_symbol_list_lines: Usage: SOURCE_FILENAME" |
msgstr "" |
|
#: mi/mi-symbol-cmds.c:47 |
msgid "mi_cmd_symbol_list_lines: Unknown source file name." |
msgstr "" |
|
#: mi/mi-cmd-target.c:40 |
msgid "mi_cmd_target_file_get: Usage: REMOTE_FILE LOCAL_FILE" |
msgstr "" |
|
#: mi/mi-cmd-target.c:64 |
msgid "mi_cmd_target_file_put: Usage: LOCAL_FILE REMOTE_FILE" |
msgstr "" |
|
#: mi/mi-cmd-target.c:88 |
msgid "mi_cmd_target_file_delete: Usage: REMOTE_FILE" |
msgstr "" |
|
#: mi/mi-getopt.c:37 |
msgid "mi_getopt_long: optind out of bounds" |
msgstr "" |
13629,35 → 13610,49
msgid "Invalid option: %s" |
msgstr "" |
|
#: mi/mi-parse.c:315 |
msgid "Duplicate '--thread-group' option" |
#: mi/mi-cmd-stack.c:56 |
msgid "mi_cmd_stack_list_frames: Usage: [FRAME_LOW FRAME_HIGH]" |
msgstr "" |
|
#: mi/mi-parse.c:318 |
msgid "Invalid thread group id" |
#: mi/mi-cmd-stack.c:79 |
msgid "mi_cmd_stack_list_frames: Not enough frames in stack." |
msgstr "" |
|
#: mi/mi-parse.c:325 |
msgid "Duplicate '--thread' option" |
#: mi/mi-cmd-stack.c:106 |
msgid "mi_cmd_stack_info_depth: Usage: [MAX_DEPTH]" |
msgstr "" |
|
#: mi/mi-parse.c:332 |
msgid "Duplicate '--frame' option" |
#: mi/mi-cmd-stack.c:136 |
#, possible-c-format |
msgid "" |
"Unknown value for PRINT_VALUES: must be: 0 or \"%s\", 1 or \"%s\", 2 or \"%s" |
"\"" |
msgstr "" |
|
#: mi/mi-parse.c:340 |
#, possible-c-format |
msgid "Invalid value for the '%s' option" |
#: mi/mi-cmd-stack.c:150 |
msgid "mi_cmd_stack_list_locals: Usage: PRINT_VALUES" |
msgstr "" |
|
#: mi/mi-symbol-cmds.c:41 |
msgid "mi_cmd_symbol_list_lines: Usage: SOURCE_FILENAME" |
#: mi/mi-cmd-stack.c:171 |
msgid "mi_cmd_stack_list_args: Usage: PRINT_VALUES [FRAME_LOW FRAME_HIGH]" |
msgstr "" |
|
#: mi/mi-symbol-cmds.c:47 |
msgid "mi_cmd_symbol_list_lines: Unknown source file name." |
#: mi/mi-cmd-stack.c:196 |
msgid "mi_cmd_stack_list_args: Not enough frames in stack." |
msgstr "" |
|
#: mi/mi-cmd-stack.c:228 |
msgid "Usage: PRINT_VALUES" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:380 |
msgid "mi_cmd_stack_select_frame: Usage: FRAME_SPEC" |
msgstr "" |
|
#: mi/mi-cmd-stack.c:389 |
msgid "mi_cmd_stack_info_frame: No arguments required" |
msgstr "" |
|
#: microblaze-tdep.c:145 |
msgid "push_dummy_code not implemented" |
msgstr "" |
14256,6 → 14251,11
msgid "When non-zero, observer debugging is enabled." |
msgstr "" |
|
#: or32-tdep.c:644 |
#, possible-c-format |
msgid "or32_register_type: illegal register number %d" |
msgstr "" |
|
#: osabi.c:140 |
#, possible-c-format |
msgid "" |
15210,340 → 15210,317
msgid "Show printing of pascal static members." |
msgstr "" |
|
#: python/py-auto-load.c:195 |
#, possible-c-format |
msgid "Invalid entry in %s section" |
#. Require a valid frame. This must be called inside a TRY_CATCH, or |
#. another context in which a gdb exception is allowed. |
#: python/py-frame.c:54 |
msgid "Frame is invalid." |
msgstr "" |
|
#: python/py-auto-load.c:210 |
#, possible-c-format |
msgid "Non-null-terminated path in %s: %s" |
#: python/py-frame.c:230 python/py-block.c:284 |
msgid "Cannot locate object file for block." |
msgstr "" |
|
#: python/py-auto-load.c:217 |
#, possible-c-format |
msgid "Empty path in %s" |
#: python/py-frame.c:277 |
msgid "Could not allocate frame object." |
msgstr "" |
|
#: python/py-auto-load.c:267 |
#, possible-c-format |
msgid "%s (referenced in %s): %s" |
#: python/py-frame.c:421 python/py-type.c:532 |
msgid "Second argument must be block." |
msgstr "" |
|
#: python/py-auto-load.c:301 |
#: python/py-frame.c:439 |
#, possible-c-format |
msgid "Couldn't read %s section of %s" |
msgid "Variable '%s' not found." |
msgstr "" |
|
#: python/py-auto-load.c:426 |
#, possible-c-format |
msgid "Script name: %s\n" |
#: python/py-frame.c:450 |
msgid "Argument must be a symbol or string." |
msgstr "" |
|
#: python/py-auto-load.c:427 |
#: python/py-frame.c:465 |
#, possible-c-format |
msgid " Full name: %s\n" |
msgid "Variable cannot be found for symbol '%s'." |
msgstr "" |
|
#: python/py-auto-load.c:448 solib.c:919 solib.c:1013 xcoffsolib.c:113 |
#, possible-c-format |
msgid "Invalid regexp: %s" |
#: python/py-frame.c:528 |
msgid "Invalid frame stop reason." |
msgstr "" |
|
#: python/py-auto-load.c:450 |
#, possible-c-format |
msgid "Objfile scripts matching %s:\n" |
#. Require that INFERIOR be a valid inferior ID. |
#: python/py-infthread.c:34 |
msgid "Thread no longer exists." |
msgstr "" |
|
#: python/py-auto-load.c:455 |
msgid "Objfile scripts:\n" |
#: python/py-lazy-string.c:103 |
msgid "Cannot create a value from NULL." |
msgstr "" |
|
#: python/py-auto-load.c:477 |
msgid "Enable or disable auto-loading of Python code when an object is opened." |
#: python/py-lazy-string.c:128 |
msgid "Cannot create a lazy string with address 0x0, and a non-zero length." |
msgstr "" |
|
#: python/py-auto-load.c:478 |
msgid "Show whether Python code will be auto-loaded when an object is opened." |
#: python/py-lazy-string.c:136 |
msgid "A lazy string's type cannot be NULL." |
msgstr "" |
|
#: python/py-auto-load.c:479 |
msgid "" |
"Enables or disables auto-loading of Python code when an object is opened." |
#: python/py-prettyprint.c:569 python/py-function.c:83 python/py-function.c:91 |
#: python/python.c:161 python/python.c:182 |
msgid "Error while executing Python code." |
msgstr "" |
|
#: python/py-auto-load.c:486 |
msgid "Print dump of auto-loaded section scripts matching REGEXP." |
#: python/py-prettyprint.c:737 |
msgid "Argument must be a gdb.Value." |
msgstr "" |
|
#. Require a valid block. All access to block_object->block should be |
#. gated by this call. |
#: python/py-block.c:64 |
msgid "Block is invalid." |
#: python/py-objfile.c:101 |
msgid "Cannot delete the pretty_printers attribute." |
msgstr "" |
|
#. Require a valid block. This macro is called during block iterator |
#. creation, and at each next call. |
#: python/py-block.c:76 |
msgid "Source block for iterator is invalid." |
#: python/py-objfile.c:108 |
msgid "The pretty_printers attribute must be a list." |
msgstr "" |
|
#: python/py-block.c:251 |
msgid "Symbol is null." |
#: python/py-function.c:48 |
msgid "Could not convert value to Python object." |
msgstr "" |
|
#: python/py-block.c:284 python/py-frame.c:230 |
msgid "Cannot locate object file for block." |
#: python/py-function.c:73 |
msgid "No method named 'invoke' in object." |
msgstr "" |
|
#. Require that BREAKPOINT be a valid breakpoint ID; throw a Python |
#. exception if it is invalid. |
#. Require that BREAKPOINT be a valid breakpoint ID; throw a Python |
#. exception if it is invalid. This macro is for use in setter functions. |
#: python/py-breakpoint.c:72 python/py-breakpoint.c:82 |
#, possible-c-format |
msgid "Breakpoint %d is invalid." |
#: python/py-function.c:119 |
msgid "This function is not documented." |
msgstr "" |
|
#: python/py-breakpoint.c:179 |
msgid "Cannot delete `enabled' attribute." |
#: python/py-type.c:298 |
msgid "This type does not have a range." |
msgstr "" |
|
#: python/py-breakpoint.c:186 |
msgid "The value of `enabled' must be a boolean." |
#: python/py-type.c:371 |
msgid "Type does not have a target." |
msgstr "" |
|
#: python/py-breakpoint.c:212 |
msgid "Cannot delete `silent' attribute." |
#: python/py-type.c:543 |
msgid "Null type name." |
msgstr "" |
|
#: python/py-breakpoint.c:218 |
msgid "The value of `silent' must be a boolean." |
#: python/py-type.c:562 |
msgid "Type is not a template." |
msgstr "" |
|
#: python/py-breakpoint.c:243 |
msgid "Cannot delete `thread' attribute." |
#: python/py-type.c:574 |
#, possible-c-format |
msgid "No argument %d in template." |
msgstr "" |
|
#: python/py-breakpoint.c:252 |
msgid "Invalid thread ID." |
#: python/py-type.c:737 |
msgid "'block' argument must be a Block." |
msgstr "" |
|
#: python/py-breakpoint.c:261 |
msgid "The value of `thread' must be an integer or None." |
#: python/py-value.c:125 |
msgid "Value object creation takes only 1 argument" |
msgstr "" |
|
#: python/py-breakpoint.c:282 |
msgid "Cannot delete `task' attribute." |
#: python/py-value.c:133 |
msgid "Could not allocate memory to create Value object." |
msgstr "" |
|
#: python/py-breakpoint.c:291 |
msgid "Invalid task ID." |
#: python/py-value.c:313 |
msgid "Argument must be a type." |
msgstr "" |
|
#: python/py-breakpoint.c:300 |
msgid "The value of `task' must be an integer or None." |
#: python/py-value.c:331 python/py-value.c:748 python/py-value.c:785 |
msgid "Invalid operation on gdb.Value." |
msgstr "" |
|
#: python/py-breakpoint.c:322 |
msgid "Cannot delete `ignore_count' attribute." |
#: python/py-value.c:375 |
msgid "Cannot subscript requested type." |
msgstr "" |
|
#: python/py-breakpoint.c:328 |
msgid "The value of `ignore_count' must be an integer." |
#: python/py-value.c:392 |
msgid "Setting of struct elements is not currently supported." |
msgstr "" |
|
#: python/py-breakpoint.c:351 |
msgid "Cannot delete `hit_count' attribute." |
#: python/py-value.c:668 |
msgid "Attempted truth testing on invalid gdb.Value type." |
msgstr "" |
|
#: python/py-breakpoint.c:357 |
msgid "The value of `hit_count' must be zero." |
#: python/py-value.c:827 |
msgid "Cannot convert value to int." |
msgstr "" |
|
#: python/py-breakpoint.c:435 |
msgid "Cannot delete `condition' attribute." |
#: python/py-value.c:859 |
msgid "Cannot convert value to long." |
msgstr "" |
|
#: python/py-breakpoint.c:610 |
msgid "Cannot understand watchpoint access type." |
#: python/py-value.c:889 |
msgid "Cannot convert value to float." |
msgstr "" |
|
#: python/py-breakpoint.c:614 |
msgid "Do not understand breakpoint type to set." |
#: python/py-value.c:1028 |
#, possible-c-format |
msgid "Could not convert Python object: %s." |
msgstr "" |
|
#: python/py-cmd.c:126 python/py-cmd.c:211 |
msgid "Invalid invocation of Python command object." |
#. Require a valid block. All access to block_object->block should be |
#. gated by this call. |
#: python/py-block.c:64 |
msgid "Block is invalid." |
msgstr "" |
|
#: python/py-cmd.c:135 |
msgid "Python command object missing 'invoke' method." |
#. Require a valid block. This macro is called during block iterator |
#. creation, and at each next call. |
#: python/py-block.c:76 |
msgid "Source block for iterator is invalid." |
msgstr "" |
|
#: python/py-cmd.c:142 |
msgid "Could not convert arguments to Python string." |
#: python/py-block.c:251 |
msgid "Symbol is null." |
msgstr "" |
|
#. An error occurred computing the string representation of the |
#. error message. This is rare, but we should inform the user. |
#: python/py-cmd.c:169 |
msgid "" |
"An error occurred in a Python command\n" |
"and then another occurred computing the error message.\n" |
#: python/py-auto-load.c:195 |
#, possible-c-format |
msgid "Invalid entry in %s section" |
msgstr "" |
|
#: python/py-cmd.c:187 |
#: python/py-auto-load.c:210 |
#, possible-c-format |
msgid "Error occurred in Python command: %s" |
msgid "Non-null-terminated path in %s: %s" |
msgstr "" |
|
#: python/py-cmd.c:189 |
msgid "Error occurred in Python command." |
#: python/py-auto-load.c:217 |
#, possible-c-format |
msgid "Empty path in %s" |
msgstr "" |
|
#: python/py-cmd.c:221 python/py-cmd.c:224 |
msgid "Could not convert argument to Python string." |
#: python/py-auto-load.c:267 |
#, possible-c-format |
msgid "%s (referenced in %s): %s" |
msgstr "" |
|
#: python/py-cmd.c:310 |
msgid "No command name found." |
#: python/py-auto-load.c:301 |
#, possible-c-format |
msgid "Couldn't read %s section of %s" |
msgstr "" |
|
#: python/py-cmd.c:342 |
#: python/py-auto-load.c:426 |
#, possible-c-format |
msgid "Could not find command prefix %s." |
msgid "Script name: %s\n" |
msgstr "" |
|
#: python/py-cmd.c:356 |
#: python/py-auto-load.c:427 |
#, possible-c-format |
msgid "'%s' is not a prefix command." |
msgid " Full name: %s\n" |
msgstr "" |
|
#: python/py-cmd.c:405 |
msgid "Command object already initialized." |
#: python/py-auto-load.c:448 solib.c:919 solib.c:1013 xcoffsolib.c:113 |
#, possible-c-format |
msgid "Invalid regexp: %s" |
msgstr "" |
|
#: python/py-cmd.c:420 python/py-param.c:477 |
msgid "Invalid command class argument." |
msgstr "" |
|
#: python/py-cmd.c:426 |
msgid "Invalid completion type argument." |
msgstr "" |
|
#: python/py-cmd.c:472 python/py-param.c:428 |
msgid "This command is not documented." |
msgstr "" |
|
#. Require a valid frame. This must be called inside a TRY_CATCH, or |
#. another context in which a gdb exception is allowed. |
#: python/py-frame.c:54 |
msgid "Frame is invalid." |
msgstr "" |
|
#: python/py-frame.c:277 |
msgid "Could not allocate frame object." |
msgstr "" |
|
#: python/py-frame.c:421 python/py-type.c:532 |
msgid "Second argument must be block." |
msgstr "" |
|
#: python/py-frame.c:439 |
#: python/py-auto-load.c:450 |
#, possible-c-format |
msgid "Variable '%s' not found." |
msgid "Objfile scripts matching %s:\n" |
msgstr "" |
|
#: python/py-frame.c:450 |
msgid "Argument must be a symbol or string." |
#: python/py-auto-load.c:455 |
msgid "Objfile scripts:\n" |
msgstr "" |
|
#: python/py-frame.c:465 |
#, possible-c-format |
msgid "Variable cannot be found for symbol '%s'." |
#: python/py-auto-load.c:477 |
msgid "Enable or disable auto-loading of Python code when an object is opened." |
msgstr "" |
|
#: python/py-frame.c:528 |
msgid "Invalid frame stop reason." |
#: python/py-auto-load.c:478 |
msgid "Show whether Python code will be auto-loaded when an object is opened." |
msgstr "" |
|
#: python/py-function.c:48 |
msgid "Could not convert value to Python object." |
#: python/py-auto-load.c:479 |
msgid "" |
"Enables or disables auto-loading of Python code when an object is opened." |
msgstr "" |
|
#: python/py-function.c:73 |
msgid "No method named 'invoke' in object." |
#: python/py-auto-load.c:486 |
msgid "Print dump of auto-loaded section scripts matching REGEXP." |
msgstr "" |
|
#: python/py-function.c:83 python/py-function.c:91 python/py-prettyprint.c:569 |
#: python/python.c:161 python/python.c:182 |
msgid "Error while executing Python code." |
#. Require a valid symbol. All access to symbol_object->symbol should be |
#. gated by this call. |
#: python/py-symbol.c:48 |
msgid "Symbol is invalid." |
msgstr "" |
|
#: python/py-function.c:119 |
msgid "This function is not documented." |
#: python/python.c:151 |
msgid "Invalid \"python\" block structure." |
msgstr "" |
|
#. Require that INFERIOR be a valid inferior ID. |
#: python/py-inferior.c:71 |
msgid "Inferior no longer exists." |
#: python/python.c:257 |
msgid "Programmer error: unhandled type." |
msgstr "" |
|
#: python/py-inferior.c:345 |
msgid "Could not allocate memory buffer object." |
#: python/python.c:284 |
#, possible-c-format |
msgid "Could not find parameter `%s'." |
msgstr "" |
|
#: python/py-inferior.c:420 |
#: python/python.c:288 |
#, possible-c-format |
msgid "Memory buffer for address %s, which is %s bytes long." |
msgid "`%s' is not a parameter." |
msgstr "" |
|
#: python/py-inferior.c:434 |
msgid "The memory buffer supports only one segment." |
#: python/python.c:579 python/python.c:593 python/python.c:600 |
msgid "Python scripting is not supported in this copy of GDB." |
msgstr "" |
|
#: python/py-inferior.c:500 |
msgid "Search range is empty." |
#: python/python.c:638 |
msgid "" |
"Evaluate a Python command.\n" |
"\n" |
"The command can be given as an argument, for instance:\n" |
"\n" |
" python print 23\n" |
"\n" |
"If no argument is given, the following lines are read and used\n" |
"as the Python commands. Type a line containing \"end\" to indicate\n" |
"the end of the command." |
msgstr "" |
|
#: python/py-inferior.c:508 |
msgid "The search range is too large." |
#: python/python.c:649 |
msgid "" |
"Evaluate a Python command.\n" |
"\n" |
"Python scripting is not supported in this copy of GDB.\n" |
"This command is only a placeholder." |
msgstr "" |
|
#: python/py-inferior.c:516 |
msgid "Cannot get search address/range from Python." |
#: python/python.c:658 python/python.c:662 |
msgid "Prefix command for python maintenance settings." |
msgstr "" |
|
#: python/py-inferior.c:524 |
msgid "The pattern is not a Python buffer." |
#: python/python.c:667 |
msgid "Enable or disable printing of Python stack dump on error." |
msgstr "" |
|
#. Require that INFERIOR be a valid inferior ID. |
#: python/py-infthread.c:34 |
msgid "Thread no longer exists." |
#: python/python.c:668 |
msgid "Show whether Python stack will be printed on error." |
msgstr "" |
|
#: python/py-lazy-string.c:103 |
msgid "Cannot create a value from NULL." |
#: python/python.c:669 |
msgid "Enables or disables printing of Python stack traces." |
msgstr "" |
|
#: python/py-lazy-string.c:128 |
msgid "Cannot create a lazy string with address 0x0, and a non-zero length." |
#: python/py-utils.c:79 |
msgid "Expected a string or unicode object." |
msgstr "" |
|
#: python/py-lazy-string.c:136 |
msgid "A lazy string's type cannot be NULL." |
#: python/py-utils.c:311 |
msgid "Supplied address is negative." |
msgstr "" |
|
#: python/py-objfile.c:101 |
msgid "Cannot delete the pretty_printers attribute." |
#: python/py-utils.c:318 |
msgid "Invalid type for address." |
msgstr "" |
|
#: python/py-objfile.c:108 |
msgid "The pretty_printers attribute must be a list." |
msgstr "" |
|
#: python/py-param.c:131 |
msgid "String required for filename." |
msgstr "" |
15596,6 → 15573,14
msgid "The enumeration item not a string." |
msgstr "" |
|
#: python/py-param.c:428 python/py-cmd.c:472 |
msgid "This command is not documented." |
msgstr "" |
|
#: python/py-param.c:477 python/py-cmd.c:420 |
msgid "Invalid command class argument." |
msgstr "" |
|
#: python/py-param.c:488 |
msgid "Invalid parameter class argument." |
msgstr "" |
15604,16 → 15589,6
msgid "Only PARAM_ENUM accepts a fourth argument." |
msgstr "" |
|
#: python/py-prettyprint.c:737 |
msgid "Argument must be a gdb.Value." |
msgstr "" |
|
#. Require a valid symbol. All access to symbol_object->symbol should be |
#. gated by this call. |
#: python/py-symbol.c:48 |
msgid "Symbol is invalid." |
msgstr "" |
|
#. Require a valid symbol table. All access to symtab_object->symtab |
#. should be gated by this call. |
#: python/py-symtab.c:50 |
15626,147 → 15601,172
msgid "Symbol Table and Line is invalid." |
msgstr "" |
|
#: python/py-type.c:298 |
msgid "This type does not have a range." |
#. Require that BREAKPOINT be a valid breakpoint ID; throw a Python |
#. exception if it is invalid. |
#. Require that BREAKPOINT be a valid breakpoint ID; throw a Python |
#. exception if it is invalid. This macro is for use in setter functions. |
#: python/py-breakpoint.c:72 python/py-breakpoint.c:82 |
#, possible-c-format |
msgid "Breakpoint %d is invalid." |
msgstr "" |
|
#: python/py-type.c:371 |
msgid "Type does not have a target." |
#: python/py-breakpoint.c:179 |
msgid "Cannot delete `enabled' attribute." |
msgstr "" |
|
#: python/py-type.c:543 |
msgid "Null type name." |
#: python/py-breakpoint.c:186 |
msgid "The value of `enabled' must be a boolean." |
msgstr "" |
|
#: python/py-type.c:562 |
msgid "Type is not a template." |
#: python/py-breakpoint.c:212 |
msgid "Cannot delete `silent' attribute." |
msgstr "" |
|
#: python/py-type.c:574 |
#, possible-c-format |
msgid "No argument %d in template." |
#: python/py-breakpoint.c:218 |
msgid "The value of `silent' must be a boolean." |
msgstr "" |
|
#: python/py-type.c:737 |
msgid "'block' argument must be a Block." |
#: python/py-breakpoint.c:243 |
msgid "Cannot delete `thread' attribute." |
msgstr "" |
|
#: python/py-utils.c:79 |
msgid "Expected a string or unicode object." |
#: python/py-breakpoint.c:252 |
msgid "Invalid thread ID." |
msgstr "" |
|
#: python/py-utils.c:311 |
msgid "Supplied address is negative." |
#: python/py-breakpoint.c:261 |
msgid "The value of `thread' must be an integer or None." |
msgstr "" |
|
#: python/py-utils.c:318 |
msgid "Invalid type for address." |
#: python/py-breakpoint.c:282 |
msgid "Cannot delete `task' attribute." |
msgstr "" |
|
#: python/py-value.c:125 |
msgid "Value object creation takes only 1 argument" |
#: python/py-breakpoint.c:291 |
msgid "Invalid task ID." |
msgstr "" |
|
#: python/py-value.c:133 |
msgid "Could not allocate memory to create Value object." |
#: python/py-breakpoint.c:300 |
msgid "The value of `task' must be an integer or None." |
msgstr "" |
|
#: python/py-value.c:313 |
msgid "Argument must be a type." |
#: python/py-breakpoint.c:322 |
msgid "Cannot delete `ignore_count' attribute." |
msgstr "" |
|
#: python/py-value.c:331 python/py-value.c:748 python/py-value.c:785 |
msgid "Invalid operation on gdb.Value." |
#: python/py-breakpoint.c:328 |
msgid "The value of `ignore_count' must be an integer." |
msgstr "" |
|
#: python/py-value.c:375 |
msgid "Cannot subscript requested type." |
#: python/py-breakpoint.c:351 |
msgid "Cannot delete `hit_count' attribute." |
msgstr "" |
|
#: python/py-value.c:392 |
msgid "Setting of struct elements is not currently supported." |
#: python/py-breakpoint.c:357 |
msgid "The value of `hit_count' must be zero." |
msgstr "" |
|
#: python/py-value.c:668 |
msgid "Attempted truth testing on invalid gdb.Value type." |
#: python/py-breakpoint.c:435 |
msgid "Cannot delete `condition' attribute." |
msgstr "" |
|
#: python/py-value.c:827 |
msgid "Cannot convert value to int." |
#: python/py-breakpoint.c:610 |
msgid "Cannot understand watchpoint access type." |
msgstr "" |
|
#: python/py-value.c:859 |
msgid "Cannot convert value to long." |
#: python/py-breakpoint.c:614 |
msgid "Do not understand breakpoint type to set." |
msgstr "" |
|
#: python/py-value.c:889 |
msgid "Cannot convert value to float." |
#. Require that INFERIOR be a valid inferior ID. |
#: python/py-inferior.c:71 |
msgid "Inferior no longer exists." |
msgstr "" |
|
#: python/py-value.c:1028 |
#: python/py-inferior.c:345 |
msgid "Could not allocate memory buffer object." |
msgstr "" |
|
#: python/py-inferior.c:420 |
#, possible-c-format |
msgid "Could not convert Python object: %s." |
msgid "Memory buffer for address %s, which is %s bytes long." |
msgstr "" |
|
#: python/python.c:151 |
msgid "Invalid \"python\" block structure." |
#: python/py-inferior.c:434 |
msgid "The memory buffer supports only one segment." |
msgstr "" |
|
#: python/python.c:257 |
msgid "Programmer error: unhandled type." |
#: python/py-inferior.c:500 |
msgid "Search range is empty." |
msgstr "" |
|
#: python/python.c:284 |
#, possible-c-format |
msgid "Could not find parameter `%s'." |
#: python/py-inferior.c:508 |
msgid "The search range is too large." |
msgstr "" |
|
#: python/python.c:288 |
#, possible-c-format |
msgid "`%s' is not a parameter." |
#: python/py-inferior.c:516 |
msgid "Cannot get search address/range from Python." |
msgstr "" |
|
#: python/python.c:579 python/python.c:593 python/python.c:600 |
msgid "Python scripting is not supported in this copy of GDB." |
#: python/py-inferior.c:524 |
msgid "The pattern is not a Python buffer." |
msgstr "" |
|
#: python/python.c:638 |
msgid "" |
"Evaluate a Python command.\n" |
"\n" |
"The command can be given as an argument, for instance:\n" |
"\n" |
" python print 23\n" |
"\n" |
"If no argument is given, the following lines are read and used\n" |
"as the Python commands. Type a line containing \"end\" to indicate\n" |
"the end of the command." |
#: python/py-cmd.c:126 python/py-cmd.c:211 |
msgid "Invalid invocation of Python command object." |
msgstr "" |
|
#: python/python.c:649 |
#: python/py-cmd.c:135 |
msgid "Python command object missing 'invoke' method." |
msgstr "" |
|
#: python/py-cmd.c:142 |
msgid "Could not convert arguments to Python string." |
msgstr "" |
|
#. An error occurred computing the string representation of the |
#. error message. This is rare, but we should inform the user. |
#: python/py-cmd.c:169 |
msgid "" |
"Evaluate a Python command.\n" |
"\n" |
"Python scripting is not supported in this copy of GDB.\n" |
"This command is only a placeholder." |
"An error occurred in a Python command\n" |
"and then another occurred computing the error message.\n" |
msgstr "" |
|
#: python/python.c:658 python/python.c:662 |
msgid "Prefix command for python maintenance settings." |
#: python/py-cmd.c:187 |
#, possible-c-format |
msgid "Error occurred in Python command: %s" |
msgstr "" |
|
#: python/python.c:667 |
msgid "Enable or disable printing of Python stack dump on error." |
#: python/py-cmd.c:189 |
msgid "Error occurred in Python command." |
msgstr "" |
|
#: python/python.c:668 |
msgid "Show whether Python stack will be printed on error." |
#: python/py-cmd.c:221 python/py-cmd.c:224 |
msgid "Could not convert argument to Python string." |
msgstr "" |
|
#: python/python.c:669 |
msgid "Enables or disables printing of Python stack traces." |
#: python/py-cmd.c:310 |
msgid "No command name found." |
msgstr "" |
|
#: python/py-cmd.c:342 |
#, possible-c-format |
msgid "Could not find command prefix %s." |
msgstr "" |
|
#: python/py-cmd.c:356 |
#, possible-c-format |
msgid "'%s' is not a prefix command." |
msgstr "" |
|
#: python/py-cmd.c:405 |
msgid "Command object already initialized." |
msgstr "" |
|
#: python/py-cmd.c:426 |
msgid "Invalid completion type argument." |
msgstr "" |
|
#: record.c:554 |
msgid "" |
"Do you want to auto delete previous execution log entries when record/replay " |
19547,13 → 19547,6
"directory as the binary, then in the `" |
msgstr "" |
|
#: symfile.c:3752 |
msgid "" |
"' subdirectory,\n" |
"and lastly at the path of the directory of the binary with\n" |
"each global debug-file-directory component prepended." |
msgstr "" |
|
#: symfile-mem.c:77 |
msgid "add-symbol-file-from-memory not supported for this target" |
msgstr "" |
21132,127 → 21125,10
"up and stopping the trace run." |
msgstr "" |
|
#: tui/tui-file.c:81 |
msgid "tui_file_delete: bad magic number" |
#: tui/tui.c:369 |
msgid "TUI mode not allowed" |
msgstr "" |
|
#: tui/tui-file.c:131 |
msgid "tui_file_isatty: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:145 |
msgid "tui_file_rewind: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:158 |
msgid "tui_file_put: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:195 |
msgid "tui_file_get_strbuf: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:210 |
msgid "tui_file_adjust_strbuf: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:238 |
msgid "tui_file_flush: bad magic number" |
msgstr "" |
|
#: tui/tui-hooks.c:81 |
msgid "(y or n) " |
msgstr "" |
|
#: tui/tui-hooks.c:114 |
msgid "Please answer y or n.\n" |
msgstr "" |
|
#: tui/tui-interp.c:131 |
msgid "tui_exec called" |
msgstr "" |
|
#: tui/tui-layout.c:389 |
msgid "" |
"Change the layout of windows.\n" |
"Usage: layout prev | next | <layout_name> \n" |
"Layout names are:\n" |
" src : Displays source and command windows.\n" |
" asm : Displays disassembly and command windows.\n" |
" split : Displays source, disassembly and command windows.\n" |
" regs : Displays register window. If existing layout\n" |
" is source/command or assembly/command, the \n" |
" register window is displayed. If the\n" |
" source/assembly/command (split) is displayed, \n" |
" the register window is displayed with \n" |
" the window that has current logical focus.\n" |
msgstr "" |
|
#: tui/tui-layout.c:404 |
msgid "Toggle between Source/Command and Disassembly/Command layouts.\n" |
msgstr "" |
|
#: tui/tui-layout.c:406 |
msgid "" |
"Toggle between Source/Command or Disassembly/Command and \n" |
"Source/Disassembly/Command layouts.\n" |
msgstr "" |
|
#: tui/tui-layout.c:441 |
msgid "Ambiguous command input." |
msgstr "" |
|
#: tui/tui-layout.c:612 |
#, possible-c-format |
msgid "" |
"Invalid layout specified.\n" |
"%s" |
msgstr "" |
|
#: tui/tui-regs.c:611 |
msgid "\"tui reg\" must be followed by the name of a tui reg command.\n" |
msgstr "" |
|
#: tui/tui-regs.c:627 |
msgid "TUI commands to control the register window." |
msgstr "" |
|
#: tui/tui-regs.c:632 |
msgid "Display only floating point registers." |
msgstr "" |
|
#: tui/tui-regs.c:635 |
msgid "Display only general registers." |
msgstr "" |
|
#: tui/tui-regs.c:638 |
msgid "Display only system registers." |
msgstr "" |
|
#: tui/tui-regs.c:641 |
msgid "Display next register group." |
msgstr "" |
|
#: tui/tui-regs.c:647 |
msgid "Display only floating point registers\n" |
msgstr "" |
|
#: tui/tui-regs.c:649 |
msgid "Display only general registers\n" |
msgstr "" |
|
#: tui/tui-regs.c:651 |
msgid "Display only special registers\n" |
msgstr "" |
|
#: tui/tui-regs.c:653 |
msgid "Scroll the registers window forward\n" |
msgstr "" |
|
#: tui/tui-regs.c:655 |
msgid "Scroll the register window backward\n" |
msgstr "" |
|
#: tui/tui-stack.c:438 |
msgid "" |
"Update the source window and locator to display the current execution " |
21438,10 → 21314,127
"%s" |
msgstr "" |
|
#: tui/tui.c:369 |
msgid "TUI mode not allowed" |
#: tui/tui-hooks.c:81 |
msgid "(y or n) " |
msgstr "" |
|
#: tui/tui-hooks.c:114 |
msgid "Please answer y or n.\n" |
msgstr "" |
|
#: tui/tui-file.c:81 |
msgid "tui_file_delete: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:131 |
msgid "tui_file_isatty: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:145 |
msgid "tui_file_rewind: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:158 |
msgid "tui_file_put: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:195 |
msgid "tui_file_get_strbuf: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:210 |
msgid "tui_file_adjust_strbuf: bad magic number" |
msgstr "" |
|
#: tui/tui-file.c:238 |
msgid "tui_file_flush: bad magic number" |
msgstr "" |
|
#: tui/tui-regs.c:611 |
msgid "\"tui reg\" must be followed by the name of a tui reg command.\n" |
msgstr "" |
|
#: tui/tui-regs.c:627 |
msgid "TUI commands to control the register window." |
msgstr "" |
|
#: tui/tui-regs.c:632 |
msgid "Display only floating point registers." |
msgstr "" |
|
#: tui/tui-regs.c:635 |
msgid "Display only general registers." |
msgstr "" |
|
#: tui/tui-regs.c:638 |
msgid "Display only system registers." |
msgstr "" |
|
#: tui/tui-regs.c:641 |
msgid "Display next register group." |
msgstr "" |
|
#: tui/tui-regs.c:647 |
msgid "Display only floating point registers\n" |
msgstr "" |
|
#: tui/tui-regs.c:649 |
msgid "Display only general registers\n" |
msgstr "" |
|
#: tui/tui-regs.c:651 |
msgid "Display only special registers\n" |
msgstr "" |
|
#: tui/tui-regs.c:653 |
msgid "Scroll the registers window forward\n" |
msgstr "" |
|
#: tui/tui-regs.c:655 |
msgid "Scroll the register window backward\n" |
msgstr "" |
|
#: tui/tui-layout.c:389 |
msgid "" |
"Change the layout of windows.\n" |
"Usage: layout prev | next | <layout_name> \n" |
"Layout names are:\n" |
" src : Displays source and command windows.\n" |
" asm : Displays disassembly and command windows.\n" |
" split : Displays source, disassembly and command windows.\n" |
" regs : Displays register window. If existing layout\n" |
" is source/command or assembly/command, the \n" |
" register window is displayed. If the\n" |
" source/assembly/command (split) is displayed, \n" |
" the register window is displayed with \n" |
" the window that has current logical focus.\n" |
msgstr "" |
|
#: tui/tui-layout.c:404 |
msgid "Toggle between Source/Command and Disassembly/Command layouts.\n" |
msgstr "" |
|
#: tui/tui-layout.c:406 |
msgid "" |
"Toggle between Source/Command or Disassembly/Command and \n" |
"Source/Disassembly/Command layouts.\n" |
msgstr "" |
|
#: tui/tui-layout.c:441 |
msgid "Ambiguous command input." |
msgstr "" |
|
#: tui/tui-layout.c:612 |
#, possible-c-format |
msgid "" |
"Invalid layout specified.\n" |
"%s" |
msgstr "" |
|
#: tui/tui-interp.c:131 |
msgid "tui_exec called" |
msgstr "" |
|
#: typeprint.c:266 |
msgid "internal error: unhandled type in print_type_scalar" |
msgstr "" |
/openrisc/trunk/gnu-src/gdb-7.2/gdb/objc-exp.c
1,30 → 1,39
/* A Bison parser, made by GNU Bison 1.875c. */ |
|
/* Skeleton parser for Yacc-like parsing with Bison, |
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
/* A Bison parser, made by GNU Bison 2.4.1. */ |
|
This program is free software; you can redistribute it and/or modify |
/* Skeleton implementation for Bison's Yacc-like parsers in C |
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |
Free Software Foundation, Inc. |
|
This program 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 2, or (at your option) |
any later version. |
|
the Free Software Foundation, either version 3 of the License, or |
(at your option) any later version. |
|
This program 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 this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
/* As a special exception, when this file is copied by Bison into a |
Bison output file, you may use that output file without restriction. |
This special exception was added by the Free Software Foundation |
in version 1.24 of Bison. */ |
/* As a special exception, you may create a larger work that contains |
part or all of the Bison parser skeleton and distribute that work |
under terms of your choice, so long as that work isn't itself a |
parser generator using the skeleton or a modified version thereof |
as a parser skeleton. Alternatively, if you modify or redistribute |
the parser skeleton itself, you may (at your option) remove this |
special exception, which will cause the skeleton and the resulting |
Bison output files to be licensed under the GNU General Public |
License without this special exception. |
|
This special exception was added by the Free Software Foundation in |
version 2.2 of Bison. */ |
|
/* Written by Richard Stallman by simplifying the original so called |
``semantic'' parser. */ |
/* C LALR(1) parser skeleton written by Richard Stallman, by |
simplifying the original so-called "semantic" parser. */ |
|
/* All symbols defined below should begin with yy or YY, to avoid |
infringing on user name space. This should be done even for local |
36,6 → 45,9
/* Identify Bison output. */ |
#define YYBISON 1 |
|
/* Bison version. */ |
#define YYBISON_VERSION "2.4.1" |
|
/* Skeleton name. */ |
#define YYSKELETON_NAME "yacc.c" |
|
42,106 → 54,20
/* Pure parsers. */ |
#define YYPURE 0 |
|
/* Push parsers. */ |
#define YYPUSH 0 |
|
/* Pull parsers. */ |
#define YYPULL 1 |
|
/* Using locations. */ |
#define YYLSP_NEEDED 0 |
|
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
STRING = 260, |
NSSTRING = 261, |
SELECTOR = 262, |
NAME = 263, |
TYPENAME = 264, |
CLASSNAME = 265, |
NAME_OR_INT = 266, |
STRUCT = 267, |
CLASS = 268, |
UNION = 269, |
ENUM = 270, |
SIZEOF = 271, |
UNSIGNED = 272, |
COLONCOLON = 273, |
TEMPLATE = 274, |
ERROR = 275, |
SIGNED_KEYWORD = 276, |
LONG = 277, |
SHORT = 278, |
INT_KEYWORD = 279, |
CONST_KEYWORD = 280, |
VOLATILE_KEYWORD = 281, |
DOUBLE_KEYWORD = 282, |
VARIABLE = 283, |
ASSIGN_MODIFY = 284, |
ABOVE_COMMA = 285, |
OROR = 286, |
ANDAND = 287, |
NOTEQUAL = 288, |
EQUAL = 289, |
GEQ = 290, |
LEQ = 291, |
RSH = 292, |
LSH = 293, |
DECREMENT = 294, |
INCREMENT = 295, |
UNARY = 296, |
ARROW = 297, |
BLOCKNAME = 298 |
}; |
#endif |
#define INT 258 |
#define FLOAT 259 |
#define STRING 260 |
#define NSSTRING 261 |
#define SELECTOR 262 |
#define NAME 263 |
#define TYPENAME 264 |
#define CLASSNAME 265 |
#define NAME_OR_INT 266 |
#define STRUCT 267 |
#define CLASS 268 |
#define UNION 269 |
#define ENUM 270 |
#define SIZEOF 271 |
#define UNSIGNED 272 |
#define COLONCOLON 273 |
#define TEMPLATE 274 |
#define ERROR 275 |
#define SIGNED_KEYWORD 276 |
#define LONG 277 |
#define SHORT 278 |
#define INT_KEYWORD 279 |
#define CONST_KEYWORD 280 |
#define VOLATILE_KEYWORD 281 |
#define DOUBLE_KEYWORD 282 |
#define VARIABLE 283 |
#define ASSIGN_MODIFY 284 |
#define ABOVE_COMMA 285 |
#define OROR 286 |
#define ANDAND 287 |
#define NOTEQUAL 288 |
#define EQUAL 289 |
#define GEQ 290 |
#define LEQ 291 |
#define RSH 292 |
#define LSH 293 |
#define DECREMENT 294 |
#define INCREMENT 295 |
#define UNARY 296 |
#define ARROW 297 |
#define BLOCKNAME 298 |
/* Copy the first part of user declarations. */ |
|
|
|
|
/* Copy the first part of user declarations. */ |
/* Line 189 of yacc.c */ |
#line 35 "objc-exp.y" |
|
|
229,6 → 155,9
|
|
|
/* Line 189 of yacc.c */ |
#line 160 "objc-exp.c.tmp" |
|
/* Enabling traces. */ |
#ifndef YYDEBUG |
# define YYDEBUG 0 |
242,9 → 171,114
# define YYERROR_VERBOSE 0 |
#endif |
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
/* Enabling the token table. */ |
#ifndef YYTOKEN_TABLE |
# define YYTOKEN_TABLE 0 |
#endif |
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
STRING = 260, |
NSSTRING = 261, |
SELECTOR = 262, |
NAME = 263, |
TYPENAME = 264, |
CLASSNAME = 265, |
NAME_OR_INT = 266, |
STRUCT = 267, |
CLASS = 268, |
UNION = 269, |
ENUM = 270, |
SIZEOF = 271, |
UNSIGNED = 272, |
COLONCOLON = 273, |
TEMPLATE = 274, |
ERROR = 275, |
SIGNED_KEYWORD = 276, |
LONG = 277, |
SHORT = 278, |
INT_KEYWORD = 279, |
CONST_KEYWORD = 280, |
VOLATILE_KEYWORD = 281, |
DOUBLE_KEYWORD = 282, |
VARIABLE = 283, |
ASSIGN_MODIFY = 284, |
ABOVE_COMMA = 285, |
OROR = 286, |
ANDAND = 287, |
NOTEQUAL = 288, |
EQUAL = 289, |
GEQ = 290, |
LEQ = 291, |
RSH = 292, |
LSH = 293, |
DECREMENT = 294, |
INCREMENT = 295, |
UNARY = 296, |
ARROW = 297, |
BLOCKNAME = 298 |
}; |
#endif |
/* Tokens. */ |
#define INT 258 |
#define FLOAT 259 |
#define STRING 260 |
#define NSSTRING 261 |
#define SELECTOR 262 |
#define NAME 263 |
#define TYPENAME 264 |
#define CLASSNAME 265 |
#define NAME_OR_INT 266 |
#define STRUCT 267 |
#define CLASS 268 |
#define UNION 269 |
#define ENUM 270 |
#define SIZEOF 271 |
#define UNSIGNED 272 |
#define COLONCOLON 273 |
#define TEMPLATE 274 |
#define ERROR 275 |
#define SIGNED_KEYWORD 276 |
#define LONG 277 |
#define SHORT 278 |
#define INT_KEYWORD 279 |
#define CONST_KEYWORD 280 |
#define VOLATILE_KEYWORD 281 |
#define DOUBLE_KEYWORD 282 |
#define VARIABLE 283 |
#define ASSIGN_MODIFY 284 |
#define ABOVE_COMMA 285 |
#define OROR 286 |
#define ANDAND 287 |
#define NOTEQUAL 288 |
#define EQUAL 289 |
#define GEQ 290 |
#define LEQ 291 |
#define RSH 292 |
#define LSH 293 |
#define DECREMENT 294 |
#define INCREMENT 295 |
#define UNARY 296 |
#define ARROW 297 |
#define BLOCKNAME 298 |
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
typedef union YYSTYPE |
{ |
|
/* Line 214 of yacc.c */ |
#line 126 "objc-exp.y" |
typedef union YYSTYPE { |
|
LONGEST lval; |
struct { |
LONGEST val; |
267,17 → 301,21
|
struct type **tvec; |
int *ivec; |
} YYSTYPE; |
/* Line 191 of yacc.c. */ |
#line 273 "objc-exp.c.tmp" |
|
|
|
/* Line 214 of yacc.c */ |
#line 309 "objc-exp.c.tmp" |
} YYSTYPE; |
# define YYSTYPE_IS_TRIVIAL 1 |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
#endif |
|
|
/* Copy the second part of user declarations. */ |
|
/* Copy the second part of user declarations. */ |
/* Line 264 of yacc.c */ |
#line 151 "objc-exp.y" |
|
/* YYSTYPE gets defined by %union. */ |
285,58 → 323,172
parse_number (char *, int, int, YYSTYPE *); |
|
|
/* Line 214 of yacc.c. */ |
#line 290 "objc-exp.c.tmp" |
/* Line 264 of yacc.c */ |
#line 328 "objc-exp.c.tmp" |
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#ifdef short |
# undef short |
#endif |
|
# ifndef YYFREE |
# define YYFREE xfree |
#ifdef YYTYPE_UINT8 |
typedef YYTYPE_UINT8 yytype_uint8; |
#else |
typedef unsigned char yytype_uint8; |
#endif |
|
#ifdef YYTYPE_INT8 |
typedef YYTYPE_INT8 yytype_int8; |
#elif (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
typedef signed char yytype_int8; |
#else |
typedef short int yytype_int8; |
#endif |
|
#ifdef YYTYPE_UINT16 |
typedef YYTYPE_UINT16 yytype_uint16; |
#else |
typedef unsigned short int yytype_uint16; |
#endif |
|
#ifdef YYTYPE_INT16 |
typedef YYTYPE_INT16 yytype_int16; |
#else |
typedef short int yytype_int16; |
#endif |
|
#ifndef YYSIZE_T |
# ifdef __SIZE_TYPE__ |
# define YYSIZE_T __SIZE_TYPE__ |
# elif defined size_t |
# define YYSIZE_T size_t |
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# else |
# define YYSIZE_T unsigned int |
# endif |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
#endif |
|
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
|
#ifndef YY_ |
# if YYENABLE_NLS |
# if ENABLE_NLS |
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
# define YY_(msgid) dgettext ("bison-runtime", msgid) |
# endif |
# endif |
# ifndef YY_ |
# define YY_(msgid) msgid |
# endif |
#endif |
|
/* Suppress unused-variable warnings by "using" E. */ |
#if ! defined lint || defined __GNUC__ |
# define YYUSE(e) ((void) (e)) |
#else |
# define YYUSE(e) /* empty */ |
#endif |
|
/* Identity function, used to suppress warnings about constant conditions. */ |
#ifndef lint |
# define YYID(n) (n) |
#else |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static int |
YYID (int yyi) |
#else |
static int |
YYID (yyi) |
int yyi; |
#endif |
{ |
return yyi; |
} |
#endif |
|
#if ! defined yyoverflow || YYERROR_VERBOSE |
|
/* The parser invokes alloca or xmalloc; define the necessary symbols. */ |
|
# ifdef YYSTACK_USE_ALLOCA |
# if YYSTACK_USE_ALLOCA |
# define YYSTACK_ALLOC alloca |
# endif |
# else |
# if defined (alloca) || defined (_ALLOCA_H) |
# define YYSTACK_ALLOC alloca |
# else |
# ifdef __GNUC__ |
# define YYSTACK_ALLOC __builtin_alloca |
# elif defined __BUILTIN_VA_ARG_INCR |
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
# elif defined _AIX |
# define YYSTACK_ALLOC __alloca |
# elif defined _MSC_VER |
# define alloca _alloca |
# else |
# define YYSTACK_ALLOC alloca |
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# endif |
# endif |
# endif |
|
# ifdef YYSTACK_ALLOC |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) |
# ifndef YYSTACK_ALLOC_MAXIMUM |
/* The OS might guarantee only one guard page at the bottom of the stack, |
and a page size can be as small as 4096 bytes. So we cannot safely |
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
to allow for a few compiler-allocated temporary stack slots. */ |
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
# endif |
# else |
# if defined (__STDC__) || defined (__cplusplus) |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYSTACK_ALLOC_MAXIMUM |
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
# endif |
# if (defined __cplusplus && ! defined _STDLIB_H \ |
&& ! ((defined YYMALLOC || defined xmalloc) \ |
&& (defined YYFREE || defined xfree))) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
# if ! defined xmalloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void *xmalloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# ifndef YYFREE |
# define YYFREE xfree |
# if ! defined xfree && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void xfree (void *); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# endif |
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ |
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ |
|
|
#if (! defined (yyoverflow) \ |
&& (! defined (__cplusplus) \ |
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) |
#if (! defined yyoverflow \ |
&& (! defined __cplusplus \ |
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
|
/* A type that is properly aligned for any stack member. */ |
union yyalloc |
{ |
short yyss; |
YYSTYPE yyvs; |
}; |
yytype_int16 yyss_alloc; |
YYSTYPE yyvs_alloc; |
}; |
|
/* The size of the maximum gap between one aligned stack and the next. */ |
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
344,13 → 496,13
/* The size of an array large to enough to hold all stacks, each with |
N elements. */ |
# define YYSTACK_BYTES(N) \ |
((N) * (sizeof (short) + sizeof (YYSTYPE)) \ |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ |
+ YYSTACK_GAP_MAXIMUM) |
|
/* Copy COUNT objects from FROM to TO. The source and destination do |
not overlap. */ |
# ifndef YYCOPY |
# if defined (__GNUC__) && 1 < __GNUC__ |
# if defined __GNUC__ && 1 < __GNUC__ |
# define YYCOPY(To, From, Count) \ |
__builtin_memcpy (To, From, (Count) * sizeof (*(From))) |
# else |
357,11 → 509,11
# define YYCOPY(To, From, Count) \ |
do \ |
{ \ |
register YYSIZE_T yyi; \ |
YYSIZE_T yyi; \ |
for (yyi = 0; yyi < (Count); yyi++) \ |
(To)[yyi] = (From)[yyi]; \ |
} \ |
while (0) |
while (YYID (0)) |
# endif |
# endif |
|
370,37 → 522,31
elements in the stack, and YYPTR gives the new location of the |
stack. Advance YYPTR to a properly aligned location for the next |
stack. */ |
# define YYSTACK_RELOCATE(Stack) \ |
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
do \ |
{ \ |
YYSIZE_T yynewbytes; \ |
YYCOPY (&yyptr->Stack, Stack, yysize); \ |
Stack = &yyptr->Stack; \ |
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
Stack = &yyptr->Stack_alloc; \ |
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
yyptr += yynewbytes / sizeof (*yyptr); \ |
} \ |
while (0) |
while (YYID (0)) |
|
#endif |
|
#if defined (__STDC__) || defined (__cplusplus) |
typedef signed char yysigned_char; |
#else |
typedef short yysigned_char; |
#endif |
|
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
#define YYFINAL 89 |
/* YYLAST -- Last index in YYTABLE. */ |
#define YYLAST 793 |
|
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
#define YYNTOKENS 68 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
#define YYNNTS 29 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
#define YYNRULES 146 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
#define YYNSTATES 236 |
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
407,11 → 553,11
#define YYUNDEFTOK 2 |
#define YYMAXUTOK 298 |
|
#define YYTRANSLATE(YYX) \ |
#define YYTRANSLATE(YYX) \ |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
|
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
static const unsigned char yytranslate[] = |
static const yytype_uint8 yytranslate[] = |
{ |
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
448,7 → 594,7
#if YYDEBUG |
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
YYRHS. */ |
static const unsigned short yyprhs[] = |
static const yytype_uint16 yyprhs[] = |
{ |
0, 0, 3, 5, 7, 9, 11, 15, 18, 21, |
24, 27, 30, 33, 36, 39, 42, 45, 49, 53, |
467,8 → 613,8
443, 445, 447, 449, 451, 453, 455 |
}; |
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yysigned_char yyrhs[] = |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yytype_int8 yyrhs[] = |
{ |
69, 0, -1, 71, -1, 70, -1, 91, -1, 72, |
-1, 71, 30, 72, -1, 50, 72, -1, 38, 72, |
519,7 → 665,7
}; |
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
static const unsigned short yyrline[] = |
static const yytype_uint16 yyrline[] = |
{ |
0, 231, 231, 232, 235, 242, 243, 248, 252, 256, |
260, 264, 268, 272, 276, 280, 284, 288, 294, 301, |
539,9 → 685,9
}; |
#endif |
|
#if YYDEBUG || YYERROR_VERBOSE |
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE |
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
static const char *const yytname[] = |
{ |
"$end", "error", "$undefined", "INT", "FLOAT", "STRING", "NSSTRING", |
554,10 → 700,11
"RSH", "LSH", "'@'", "'+'", "'-'", "'*'", "'/'", "'%'", "DECREMENT", |
"INCREMENT", "UNARY", "'.'", "'['", "'('", "ARROW", "BLOCKNAME", "'!'", |
"'~'", "']'", "':'", "')'", "'{'", "'}'", "$accept", "start", "type_exp", |
"exp1", "exp", "@1", "@2", "@3", "msglist", "msgarglist", "msgarg", "@4", |
"lcurly", "arglist", "rcurly", "block", "variable", "qualified_name", |
"ptype", "abs_decl", "direct_abs_decl", "array_mod", "func_mod", "type", |
"typebase", "typename", "nonempty_typelist", "name", "name_not_typename", 0 |
"exp1", "exp", "$@1", "$@2", "$@3", "msglist", "msgarglist", "msgarg", |
"$@4", "lcurly", "arglist", "rcurly", "block", "variable", |
"qualified_name", "ptype", "abs_decl", "direct_abs_decl", "array_mod", |
"func_mod", "type", "typebase", "typename", "nonempty_typelist", "name", |
"name_not_typename", 0 |
}; |
#endif |
|
564,7 → 711,7
# ifdef YYPRINT |
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
token YYLEX-NUM. */ |
static const unsigned short yytoknum[] = |
static const yytype_uint16 yytoknum[] = |
{ |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
577,7 → 724,7
# endif |
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
static const unsigned char yyr1[] = |
static const yytype_uint8 yyr1[] = |
{ |
0, 68, 69, 69, 70, 71, 71, 72, 72, 72, |
72, 72, 72, 72, 72, 72, 72, 72, 72, 72, |
597,7 → 744,7
}; |
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
static const unsigned char yyr2[] = |
static const yytype_uint8 yyr2[] = |
{ |
0, 2, 1, 1, 1, 1, 3, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 3, 3, 4, |
619,7 → 766,7
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
means the default is an error. */ |
static const unsigned char yydefact[] = |
static const yytype_uint8 yydefact[] = |
{ |
0, 70, 72, 77, 78, 75, 145, 108, 109, 71, |
0, 0, 0, 0, 0, 128, 0, 0, 130, 111, |
647,8 → 794,8
27, 29, 67, 38, 139, 34 |
}; |
|
/* YYDEFGOTO[NTERM-NUM]. */ |
static const short yydefgoto[] = |
/* YYDEFGOTO[NTERM-NUM]. */ |
static const yytype_int16 yydefgoto[] = |
{ |
-1, 37, 38, 85, 40, 140, 141, 142, 204, 205, |
206, 174, 41, 120, 180, 42, 43, 44, 45, 130, |
658,7 → 805,7
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
STATE-NUM. */ |
#define YYPACT_NINF -86 |
static const short yypact[] = |
static const yytype_int16 yypact[] = |
{ |
220, -86, -86, -86, -86, -86, -86, -86, -86, -86, |
19, 19, 19, 19, 284, 28, 19, 19, 118, 16, |
687,7 → 834,7
}; |
|
/* YYPGOTO[NTERM-NUM]. */ |
static const short yypgoto[] = |
static const yytype_int16 yypgoto[] = |
{ |
-86, -86, -86, 3, -10, -86, -86, -86, -85, -86, |
-51, -86, -86, -11, 37, -86, -86, -79, -86, 6, |
699,7 → 846,7
number is the opposite. If zero, do what YYDEFACT says. |
If YYTABLE_NINF, syntax error. */ |
#define YYTABLE_NINF -110 |
static const short yytable[] = |
static const yytype_int16 yytable[] = |
{ |
47, 46, 189, 39, 59, 54, 55, 56, 57, 178, |
90, 66, 67, 221, 178, 74, 77, 78, 79, 80, |
783,7 → 930,7
115, 116, 117, 118 |
}; |
|
static const short yycheck[] = |
static const yytype_int16 yycheck[] = |
{ |
0, 0, 3, 0, 14, 10, 11, 12, 13, 30, |
30, 16, 17, 30, 30, 24, 26, 27, 28, 29, |
869,7 → 1016,7
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
symbol of state STATE-NUM. */ |
static const unsigned char yystos[] = |
static const yytype_uint8 yystos[] = |
{ |
0, 3, 4, 5, 6, 7, 8, 9, 10, 11, |
12, 13, 14, 15, 16, 17, 18, 19, 21, 22, |
897,22 → 1044,6
63, 63, 72, 65, 91, 72 |
}; |
|
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
# define YYSIZE_T __SIZE_TYPE__ |
#endif |
#if ! defined (YYSIZE_T) && defined (size_t) |
# define YYSIZE_T size_t |
#endif |
#if ! defined (YYSIZE_T) |
# if defined (__STDC__) || defined (__cplusplus) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# endif |
#endif |
#if ! defined (YYSIZE_T) |
# define YYSIZE_T unsigned int |
#endif |
|
#define yyerrok (yyerrstatus = 0) |
#define yyclearin (yychar = YYEMPTY) |
#define YYEMPTY (-2) |
938,30 → 1069,63
yychar = (Token); \ |
yylval = (Value); \ |
yytoken = YYTRANSLATE (yychar); \ |
YYPOPSTACK; \ |
YYPOPSTACK (1); \ |
goto yybackup; \ |
} \ |
else \ |
{ \ |
yyerror ("syntax error: cannot back up");\ |
{ \ |
yyerror (YY_("syntax error: cannot back up")); \ |
YYERROR; \ |
} \ |
while (0) |
while (YYID (0)) |
|
|
#define YYTERROR 1 |
#define YYERRCODE 256 |
|
/* YYLLOC_DEFAULT -- Compute the default location (before the actions |
are run). */ |
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
If N is 0, then set CURRENT to the empty location which ends |
the previous symbol: RHS[0] (always defined). */ |
|
#define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#ifndef YYLLOC_DEFAULT |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
((Current).first_line = (Rhs)[1].first_line, \ |
(Current).first_column = (Rhs)[1].first_column, \ |
(Current).last_line = (Rhs)[N].last_line, \ |
(Current).last_column = (Rhs)[N].last_column) |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
do \ |
if (YYID (N)) \ |
{ \ |
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ |
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ |
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \ |
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \ |
} \ |
else \ |
{ \ |
(Current).first_line = (Current).last_line = \ |
YYRHSLOC (Rhs, 0).last_line; \ |
(Current).first_column = (Current).last_column = \ |
YYRHSLOC (Rhs, 0).last_column; \ |
} \ |
while (YYID (0)) |
#endif |
|
|
/* YY_LOCATION_PRINT -- Print the location on the stream. |
This macro was not mandated originally: define only if we know |
we won't break user code: when these are the locations we know. */ |
|
#ifndef YY_LOCATION_PRINT |
# if YYLTYPE_IS_TRIVIAL |
# define YY_LOCATION_PRINT(File, Loc) \ |
fprintf (File, "%d.%d-%d.%d", \ |
(Loc).first_line, (Loc).first_column, \ |
(Loc).last_line, (Loc).last_column) |
# else |
# define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
# endif |
#endif |
|
|
/* YYLEX -- calling `yylex' with the right arguments. */ |
|
#ifdef YYLEX_PARAM |
982,43 → 1146,100
do { \ |
if (yydebug) \ |
YYFPRINTF Args; \ |
} while (0) |
} while (YYID (0)) |
|
# define YYDSYMPRINT(Args) \ |
do { \ |
if (yydebug) \ |
yysymprint Args; \ |
} while (0) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yy_symbol_print (stderr, \ |
Type, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (YYID (0)) |
|
# define YYDSYMPRINTF(Title, Token, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yysymprint (stderr, \ |
Token, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (0) |
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_value_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (!yyvaluep) |
return; |
# ifdef YYPRINT |
if (yytype < YYNTOKENS) |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
# else |
YYUSE (yyoutput); |
# endif |
switch (yytype) |
{ |
default: |
break; |
} |
} |
|
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (yytype < YYNTOKENS) |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
|
yy_symbol_value_print (yyoutput, yytype, yyvaluep); |
YYFPRINTF (yyoutput, ")"); |
} |
|
/*------------------------------------------------------------------. |
| yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| TOP (included). | |
`------------------------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_stack_print (short *bottom, short *top) |
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) |
#else |
static void |
yy_stack_print (bottom, top) |
short *bottom; |
short *top; |
yy_stack_print (yybottom, yytop) |
yytype_int16 *yybottom; |
yytype_int16 *yytop; |
#endif |
{ |
YYFPRINTF (stderr, "Stack now"); |
for (/* Nothing. */; bottom <= top; ++bottom) |
YYFPRINTF (stderr, " %d", *bottom); |
for (; yybottom <= yytop; yybottom++) |
{ |
int yybot = *yybottom; |
YYFPRINTF (stderr, " %d", yybot); |
} |
YYFPRINTF (stderr, "\n"); |
} |
|
1026,7 → 1247,7
do { \ |
if (yydebug) \ |
yy_stack_print ((Bottom), (Top)); \ |
} while (0) |
} while (YYID (0)) |
|
|
/*------------------------------------------------. |
1033,30 → 1254,38
| Report that the YYRULE is going to be reduced. | |
`------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_reduce_print (int yyrule) |
yy_reduce_print (YYSTYPE *yyvsp, int yyrule) |
#else |
static void |
yy_reduce_print (yyrule) |
yy_reduce_print (yyvsp, yyrule) |
YYSTYPE *yyvsp; |
int yyrule; |
#endif |
{ |
int yynrhs = yyr2[yyrule]; |
int yyi; |
unsigned int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", |
yyrule - 1, yylno); |
/* Print the symbols being reduced, and their result. */ |
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) |
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); |
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); |
unsigned long int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", |
yyrule - 1, yylno); |
/* The symbols being reduced. */ |
for (yyi = 0; yyi < yynrhs; yyi++) |
{ |
YYFPRINTF (stderr, " $%d = ", yyi + 1); |
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], |
&(yyvsp[(yyi + 1) - (yynrhs)]) |
); |
YYFPRINTF (stderr, "\n"); |
} |
} |
|
# define YY_REDUCE_PRINT(Rule) \ |
do { \ |
if (yydebug) \ |
yy_reduce_print (Rule); \ |
} while (0) |
yy_reduce_print (yyvsp, Rule); \ |
} while (YYID (0)) |
|
/* Nonzero means print parse trace. It is left uninitialized so that |
multiple parsers can coexist. */ |
1063,8 → 1292,7
int yydebug; |
#else /* !YYDEBUG */ |
# define YYDPRINTF(Args) |
# define YYDSYMPRINT(Args) |
# define YYDSYMPRINTF(Title, Token, Value, Location) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
# define YY_STACK_PRINT(Bottom, Top) |
# define YY_REDUCE_PRINT(Rule) |
#endif /* !YYDEBUG */ |
1079,13 → 1307,9
if the built-in stack extension method is used). |
|
Do not make this value too large; the results are undefined if |
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) |
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
evaluated with infinite-precision integer arithmetic. */ |
|
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 |
# undef YYMAXDEPTH |
#endif |
|
#ifndef YYMAXDEPTH |
# define YYMAXDEPTH 10000 |
#endif |
1095,45 → 1319,47
#if YYERROR_VERBOSE |
|
# ifndef yystrlen |
# if defined (__GLIBC__) && defined (_STRING_H) |
# if defined __GLIBC__ && defined _STRING_H |
# define yystrlen strlen |
# else |
/* Return the length of YYSTR. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static YYSIZE_T |
# if defined (__STDC__) || defined (__cplusplus) |
yystrlen (const char *yystr) |
# else |
#else |
static YYSIZE_T |
yystrlen (yystr) |
const char *yystr; |
# endif |
const char *yystr; |
#endif |
{ |
register const char *yys = yystr; |
|
while (*yys++ != '\0') |
YYSIZE_T yylen; |
for (yylen = 0; yystr[yylen]; yylen++) |
continue; |
|
return yys - yystr - 1; |
return yylen; |
} |
# endif |
# endif |
|
# ifndef yystpcpy |
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) |
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
# define yystpcpy stpcpy |
# else |
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in |
YYDEST. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static char * |
# if defined (__STDC__) || defined (__cplusplus) |
yystpcpy (char *yydest, const char *yysrc) |
# else |
#else |
static char * |
yystpcpy (yydest, yysrc) |
char *yydest; |
const char *yysrc; |
# endif |
char *yydest; |
const char *yysrc; |
#endif |
{ |
register char *yyd = yydest; |
register const char *yys = yysrc; |
char *yyd = yydest; |
const char *yys = yysrc; |
|
while ((*yyd++ = *yys++) != '\0') |
continue; |
1143,84 → 1369,204
# endif |
# endif |
|
#endif /* !YYERROR_VERBOSE */ |
# ifndef yytnamerr |
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary |
quotes and backslashes, so that it's suitable for yyerror. The |
heuristic is that double-quoting is unnecessary unless the string |
contains an apostrophe, a comma, or backslash (other than |
backslash-backslash). YYSTR is taken from yytname. If YYRES is |
null, do not copy; instead, return the length of what the result |
would have been. */ |
static YYSIZE_T |
yytnamerr (char *yyres, const char *yystr) |
{ |
if (*yystr == '"') |
{ |
YYSIZE_T yyn = 0; |
char const *yyp = yystr; |
|
|
for (;;) |
switch (*++yyp) |
{ |
case '\'': |
case ',': |
goto do_not_strip_quotes; |
|
#if YYDEBUG |
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
case '\\': |
if (*++yyp != '\\') |
goto do_not_strip_quotes; |
/* Fall through. */ |
default: |
if (yyres) |
yyres[yyn] = *yyp; |
yyn++; |
break; |
|
#if defined (__STDC__) || defined (__cplusplus) |
static void |
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yysymprint (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
case '"': |
if (yyres) |
yyres[yyn] = '\0'; |
return yyn; |
} |
do_not_strip_quotes: ; |
} |
|
if (! yyres) |
return yystrlen (yystr); |
|
return yystpcpy (yyres, yystr) - yyres; |
} |
# endif |
|
/* Copy into YYRESULT an error message about the unexpected token |
YYCHAR while in state YYSTATE. Return the number of bytes copied, |
including the terminating null byte. If YYRESULT is null, do not |
copy anything; just return the number of bytes that would be |
copied. As a special case, return 0 if an ordinary "syntax error" |
message will do. Return YYSIZE_MAXIMUM if overflow occurs during |
size calculation. */ |
static YYSIZE_T |
yysyntax_error (char *yyresult, int yystate, int yychar) |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
int yyn = yypact[yystate]; |
|
if (yytype < YYNTOKENS) |
if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) |
return 0; |
else |
{ |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
# ifdef YYPRINT |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
int yytype = YYTRANSLATE (yychar); |
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); |
YYSIZE_T yysize = yysize0; |
YYSIZE_T yysize1; |
int yysize_overflow = 0; |
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
int yyx; |
|
# if 0 |
/* This is so xgettext sees the translatable formats that are |
constructed on the fly. */ |
YY_("syntax error, unexpected %s"); |
YY_("syntax error, unexpected %s, expecting %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |
# endif |
} |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
char *yyfmt; |
char const *yyf; |
static char const yyunexpected[] = "syntax error, unexpected %s"; |
static char const yyexpecting[] = ", expecting %s"; |
static char const yyor[] = " or %s"; |
char yyformat[sizeof yyunexpected |
+ sizeof yyexpecting - 1 |
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) |
* (sizeof yyor - 1))]; |
char const *yyprefix = yyexpecting; |
|
switch (yytype) |
{ |
default: |
break; |
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn + 1; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 1; |
|
yyarg[0] = yytname[yytype]; |
yyfmt = yystpcpy (yyformat, yyunexpected); |
|
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
{ |
yycount = 1; |
yysize = yysize0; |
yyformat[sizeof yyunexpected - 1] = '\0'; |
break; |
} |
yyarg[yycount++] = yytname[yyx]; |
yysize1 = yysize + yytnamerr (0, yytname[yyx]); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
yyfmt = yystpcpy (yyfmt, yyprefix); |
yyprefix = yyor; |
} |
|
yyf = YY_(yyformat); |
yysize1 = yysize + yystrlen (yyf); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
|
if (yysize_overflow) |
return YYSIZE_MAXIMUM; |
|
if (yyresult) |
{ |
/* Avoid sprintf, as that infringes on the user's name space. |
Don't have undefined behavior even if the translation |
produced a string with the wrong number of "%s"s. */ |
char *yyp = yyresult; |
int yyi = 0; |
while ((*yyp = *yyf) != '\0') |
{ |
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) |
{ |
yyp += yytnamerr (yyp, yyarg[yyi++]); |
yyf += 2; |
} |
else |
{ |
yyp++; |
yyf++; |
} |
} |
} |
return yysize; |
} |
YYFPRINTF (yyoutput, ")"); |
} |
#endif /* YYERROR_VERBOSE */ |
|
|
#endif /* ! YYDEBUG */ |
/*-----------------------------------------------. |
| Release the memory associated to this symbol. | |
`-----------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yydestruct (int yytype, YYSTYPE *yyvaluep) |
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yydestruct (yytype, yyvaluep) |
yydestruct (yymsg, yytype, yyvaluep) |
const char *yymsg; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
YYUSE (yyvaluep); |
|
if (!yymsg) |
yymsg = "Deleting"; |
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); |
|
switch (yytype) |
{ |
|
default: |
break; |
break; |
} |
} |
|
|
/* Prevent warnings from -Wmissing-prototypes. */ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void *YYPARSE_PARAM); |
# else |
#else |
int yyparse (); |
# endif |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void); |
#else |
int yyparse (); |
1228,7 → 1574,6
#endif /* ! YYPARSE_PARAM */ |
|
|
|
/* The lookahead symbol. */ |
int yychar; |
|
1240,19 → 1585,23
|
|
|
/*----------. |
| yyparse. | |
`----------*/ |
/*-------------------------. |
| yyparse or yypush_parse. | |
`-------------------------*/ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
int yyparse (void *YYPARSE_PARAM) |
# else |
int yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
# endif |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void *YYPARSE_PARAM) |
#else |
int |
yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void) |
#else |
1262,60 → 1611,68
#endif |
#endif |
{ |
|
register int yystate; |
register int yyn; |
int yyresult; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken = 0; |
|
/* Three stacks and their tools: |
`yyss': related to states, |
`yyvs': related to semantic values, |
`yyls': related to locations. |
|
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
int yystate; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
|
/* The state stack. */ |
short yyssa[YYINITDEPTH]; |
short *yyss = yyssa; |
register short *yyssp; |
/* The stacks and their tools: |
`yyss': related to states. |
`yyvs': related to semantic values. |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs = yyvsa; |
register YYSTYPE *yyvsp; |
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
|
/* The state stack. */ |
yytype_int16 yyssa[YYINITDEPTH]; |
yytype_int16 *yyss; |
yytype_int16 *yyssp; |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs; |
YYSTYPE *yyvsp; |
|
#define YYPOPSTACK (yyvsp--, yyssp--) |
YYSIZE_T yystacksize; |
|
YYSIZE_T yystacksize = YYINITDEPTH; |
|
int yyn; |
int yyresult; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken; |
/* The variables used to return semantic value and location from the |
action routines. */ |
YYSTYPE yyval; |
|
#if YYERROR_VERBOSE |
/* Buffer for error messages, and its allocated size. */ |
char yymsgbuf[128]; |
char *yymsg = yymsgbuf; |
YYSIZE_T yymsg_alloc = sizeof yymsgbuf; |
#endif |
|
/* When reducing, the number of symbols on the RHS of the reduced |
rule. */ |
int yylen; |
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
|
/* The number of symbols on the RHS of the reduced rule. |
Keep to zero when no symbol should be popped. */ |
int yylen = 0; |
|
yytoken = 0; |
yyss = yyssa; |
yyvs = yyvsa; |
yystacksize = YYINITDEPTH; |
|
YYDPRINTF ((stderr, "Starting parse\n")); |
|
yystate = 0; |
yyerrstatus = 0; |
yynerrs = 0; |
yychar = YYEMPTY; /* Cause a token to be read. */ |
yychar = YYEMPTY; /* Cause a token to be read. */ |
|
/* Initialize stack pointers. |
Waste one element of value and location stack |
so that they stay on the same level as the state stack. |
The wasted elements are never initialized. */ |
|
yyssp = yyss; |
yyvsp = yyvs; |
|
1326,8 → 1683,7
`------------------------------------------------------------*/ |
yynewstate: |
/* In all cases, when you get here, the value and location stacks |
have just been pushed. so pushing a state here evens the stacks. |
*/ |
have just been pushed. So pushing a state here evens the stacks. */ |
yyssp++; |
|
yysetstate: |
1340,21 → 1696,19
|
#ifdef yyoverflow |
{ |
/* Give user a chance to xreallocate the stack. Use copies of |
/* Give user a chance to xreallocate the stack. Use copies of |
these so that the &'s don't force the real ones into |
memory. */ |
YYSTYPE *yyvs1 = yyvs; |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
|
|
/* Each stack pointer address is followed by the size of the |
data in use in that stack, in bytes. This used to be a |
conditional around just the two extra args, but that might |
be undefined if yyoverflow is a macro. */ |
yyoverflow ("parser stack overflow", |
yyoverflow (YY_("memory exhausted"), |
&yyss1, yysize * sizeof (*yyssp), |
&yyvs1, yysize * sizeof (*yyvsp), |
|
&yystacksize); |
|
yyss = yyss1; |
1362,24 → 1716,23
} |
#else /* no yyoverflow */ |
# ifndef YYSTACK_RELOCATE |
goto yyoverflowlab; |
goto yyexhaustedlab; |
# else |
/* Extend the stack our own way. */ |
if (YYMAXDEPTH <= yystacksize) |
goto yyoverflowlab; |
goto yyexhaustedlab; |
yystacksize *= 2; |
if (YYMAXDEPTH < yystacksize) |
yystacksize = YYMAXDEPTH; |
|
{ |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
union yyalloc *yyptr = |
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); |
if (! yyptr) |
goto yyoverflowlab; |
YYSTACK_RELOCATE (yyss); |
YYSTACK_RELOCATE (yyvs); |
|
goto yyexhaustedlab; |
YYSTACK_RELOCATE (yyss_alloc, yyss); |
YYSTACK_RELOCATE (yyvs_alloc, yyvs); |
# undef YYSTACK_RELOCATE |
if (yyss1 != yyssa) |
YYSTACK_FREE (yyss1); |
1390,7 → 1743,6
yyssp = yyss + yysize - 1; |
yyvsp = yyvs + yysize - 1; |
|
|
YYDPRINTF ((stderr, "Stack size increased to %lu\n", |
(unsigned long int) yystacksize)); |
|
1400,6 → 1752,9
|
YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
|
if (yystate == YYFINAL) |
YYACCEPT; |
|
goto yybackup; |
|
/*-----------. |
1407,12 → 1762,10
`-----------*/ |
yybackup: |
|
/* Do appropriate processing given the current state. */ |
/* Read a lookahead token if we need one and don't already have one. */ |
/* yyresume: */ |
/* Do appropriate processing given the current state. Read a |
lookahead token if we need one and don't already have one. */ |
|
/* First try to decide what to do without reference to lookahead token. */ |
|
yyn = yypact[yystate]; |
if (yyn == YYPACT_NINF) |
goto yydefault; |
1434,7 → 1787,7
else |
{ |
yytoken = YYTRANSLATE (yychar); |
YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); |
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); |
} |
|
/* If the proper action on seeing token YYTOKEN is to reduce or to |
1451,25 → 1804,20
goto yyreduce; |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
/* Shift the lookahead token. */ |
YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); |
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); |
|
/* Discard the token being shifted unless it is eof. */ |
if (yychar != YYEOF) |
yychar = YYEMPTY; |
/* Discard the shifted token. */ |
yychar = YYEMPTY; |
|
yystate = yyn; |
*++yyvsp = yylval; |
|
|
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
yystate = yyn; |
goto yynewstate; |
|
|
1505,75 → 1853,103
switch (yyn) |
{ |
case 4: |
|
/* Line 1455 of yacc.c */ |
#line 236 "objc-exp.y" |
{ write_exp_elt_opcode(OP_TYPE); |
write_exp_elt_type(yyvsp[0].tval); |
write_exp_elt_type((yyvsp[(1) - (1)].tval)); |
write_exp_elt_opcode(OP_TYPE);} |
break; |
|
case 6: |
|
/* Line 1455 of yacc.c */ |
#line 244 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_COMMA); } |
break; |
|
case 7: |
|
/* Line 1455 of yacc.c */ |
#line 249 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_IND); } |
break; |
|
case 8: |
|
/* Line 1455 of yacc.c */ |
#line 253 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_ADDR); } |
break; |
|
case 9: |
|
/* Line 1455 of yacc.c */ |
#line 257 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_NEG); } |
break; |
|
case 10: |
|
/* Line 1455 of yacc.c */ |
#line 261 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_LOGICAL_NOT); } |
break; |
|
case 11: |
|
/* Line 1455 of yacc.c */ |
#line 265 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_COMPLEMENT); } |
break; |
|
case 12: |
|
/* Line 1455 of yacc.c */ |
#line 269 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_PREINCREMENT); } |
break; |
|
case 13: |
|
/* Line 1455 of yacc.c */ |
#line 273 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_PREDECREMENT); } |
break; |
|
case 14: |
|
/* Line 1455 of yacc.c */ |
#line 277 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_POSTINCREMENT); } |
break; |
|
case 15: |
|
/* Line 1455 of yacc.c */ |
#line 281 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_POSTDECREMENT); } |
break; |
|
case 16: |
|
/* Line 1455 of yacc.c */ |
#line 285 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_SIZEOF); } |
break; |
|
case 17: |
|
/* Line 1455 of yacc.c */ |
#line 289 "objc-exp.y" |
{ write_exp_elt_opcode (STRUCTOP_PTR); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(3) - (3)].sval)); |
write_exp_elt_opcode (STRUCTOP_PTR); } |
break; |
|
case 18: |
|
/* Line 1455 of yacc.c */ |
#line 295 "objc-exp.y" |
{ /* exp->type::name becomes exp->*(&type::name) */ |
/* Note: this doesn't work if name is a |
1583,18 → 1959,24
break; |
|
case 19: |
|
/* Line 1455 of yacc.c */ |
#line 302 "objc-exp.y" |
{ write_exp_elt_opcode (STRUCTOP_MPTR); } |
break; |
|
case 20: |
|
/* Line 1455 of yacc.c */ |
#line 306 "objc-exp.y" |
{ write_exp_elt_opcode (STRUCTOP_STRUCT); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(3) - (3)].sval)); |
write_exp_elt_opcode (STRUCTOP_STRUCT); } |
break; |
|
case 21: |
|
/* Line 1455 of yacc.c */ |
#line 313 "objc-exp.y" |
{ /* exp.type::name becomes exp.*(&type::name) */ |
/* Note: this doesn't work if name is a |
1604,25 → 1986,31
break; |
|
case 22: |
|
/* Line 1455 of yacc.c */ |
#line 321 "objc-exp.y" |
{ write_exp_elt_opcode (STRUCTOP_MEMBER); } |
break; |
|
case 23: |
|
/* Line 1455 of yacc.c */ |
#line 325 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_SUBSCRIPT); } |
break; |
|
case 24: |
|
/* Line 1455 of yacc.c */ |
#line 333 "objc-exp.y" |
{ |
CORE_ADDR class; |
|
class = lookup_objc_class (parse_gdbarch, |
copy_name (yyvsp[0].tsym.stoken)); |
copy_name ((yyvsp[(2) - (2)].tsym).stoken)); |
if (class == 0) |
error ("%s is not an ObjC Class", |
copy_name (yyvsp[0].tsym.stoken)); |
copy_name ((yyvsp[(2) - (2)].tsym).stoken)); |
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (parse_type->builtin_int); |
write_exp_elt_longcst ((LONGEST) class); |
1632,6 → 2020,8
break; |
|
case 25: |
|
/* Line 1455 of yacc.c */ |
#line 348 "objc-exp.y" |
{ write_exp_elt_opcode (OP_OBJC_MSGCALL); |
end_msglist(); |
1640,11 → 2030,13
break; |
|
case 26: |
|
/* Line 1455 of yacc.c */ |
#line 355 "objc-exp.y" |
{ |
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (parse_type->builtin_int); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].class.class); |
write_exp_elt_longcst ((LONGEST) (yyvsp[(2) - (2)].class).class); |
write_exp_elt_opcode (OP_LONG); |
start_msglist(); |
} |
1651,6 → 2043,8
break; |
|
case 27: |
|
/* Line 1455 of yacc.c */ |
#line 363 "objc-exp.y" |
{ write_exp_elt_opcode (OP_OBJC_MSGCALL); |
end_msglist(); |
1659,11 → 2053,15
break; |
|
case 28: |
|
/* Line 1455 of yacc.c */ |
#line 370 "objc-exp.y" |
{ start_msglist(); } |
break; |
|
case 29: |
|
/* Line 1455 of yacc.c */ |
#line 372 "objc-exp.y" |
{ write_exp_elt_opcode (OP_OBJC_MSGCALL); |
end_msglist(); |
1672,31 → 2070,43
break; |
|
case 30: |
|
/* Line 1455 of yacc.c */ |
#line 379 "objc-exp.y" |
{ add_msglist(&yyvsp[0].sval, 0); } |
{ add_msglist(&(yyvsp[(1) - (1)].sval), 0); } |
break; |
|
case 34: |
|
/* Line 1455 of yacc.c */ |
#line 388 "objc-exp.y" |
{ add_msglist(&yyvsp[-2].sval, 1); } |
{ add_msglist(&(yyvsp[(1) - (3)].sval), 1); } |
break; |
|
case 35: |
|
/* Line 1455 of yacc.c */ |
#line 390 "objc-exp.y" |
{ add_msglist(0, 1); } |
break; |
|
case 36: |
|
/* Line 1455 of yacc.c */ |
#line 392 "objc-exp.y" |
{ add_msglist(0, 0); } |
break; |
|
case 37: |
|
/* Line 1455 of yacc.c */ |
#line 398 "objc-exp.y" |
{ start_arglist (); } |
break; |
|
case 38: |
|
/* Line 1455 of yacc.c */ |
#line 400 "objc-exp.y" |
{ write_exp_elt_opcode (OP_FUNCALL); |
write_exp_elt_longcst ((LONGEST) end_arglist ()); |
1704,176 → 2114,240
break; |
|
case 39: |
|
/* Line 1455 of yacc.c */ |
#line 406 "objc-exp.y" |
{ start_arglist (); } |
break; |
|
case 41: |
|
/* Line 1455 of yacc.c */ |
#line 413 "objc-exp.y" |
{ arglist_len = 1; } |
break; |
|
case 42: |
|
/* Line 1455 of yacc.c */ |
#line 417 "objc-exp.y" |
{ arglist_len++; } |
break; |
|
case 43: |
|
/* Line 1455 of yacc.c */ |
#line 421 "objc-exp.y" |
{ yyval.lval = end_arglist () - 1; } |
{ (yyval.lval) = end_arglist () - 1; } |
break; |
|
case 44: |
|
/* Line 1455 of yacc.c */ |
#line 424 "objc-exp.y" |
{ write_exp_elt_opcode (OP_ARRAY); |
write_exp_elt_longcst ((LONGEST) 0); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].lval); |
write_exp_elt_longcst ((LONGEST) (yyvsp[(3) - (3)].lval)); |
write_exp_elt_opcode (OP_ARRAY); } |
break; |
|
case 45: |
|
/* Line 1455 of yacc.c */ |
#line 431 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_MEMVAL); |
write_exp_elt_type (yyvsp[-2].tval); |
write_exp_elt_type ((yyvsp[(2) - (4)].tval)); |
write_exp_elt_opcode (UNOP_MEMVAL); } |
break; |
|
case 46: |
|
/* Line 1455 of yacc.c */ |
#line 437 "objc-exp.y" |
{ write_exp_elt_opcode (UNOP_CAST); |
write_exp_elt_type (yyvsp[-2].tval); |
write_exp_elt_type ((yyvsp[(2) - (4)].tval)); |
write_exp_elt_opcode (UNOP_CAST); } |
break; |
|
case 47: |
|
/* Line 1455 of yacc.c */ |
#line 443 "objc-exp.y" |
{ } |
break; |
|
case 48: |
|
/* Line 1455 of yacc.c */ |
#line 449 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_REPEAT); } |
break; |
|
case 49: |
|
/* Line 1455 of yacc.c */ |
#line 453 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_MUL); } |
break; |
|
case 50: |
|
/* Line 1455 of yacc.c */ |
#line 457 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_DIV); } |
break; |
|
case 51: |
|
/* Line 1455 of yacc.c */ |
#line 461 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_REM); } |
break; |
|
case 52: |
|
/* Line 1455 of yacc.c */ |
#line 465 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_ADD); } |
break; |
|
case 53: |
|
/* Line 1455 of yacc.c */ |
#line 469 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_SUB); } |
break; |
|
case 54: |
|
/* Line 1455 of yacc.c */ |
#line 473 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_LSH); } |
break; |
|
case 55: |
|
/* Line 1455 of yacc.c */ |
#line 477 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_RSH); } |
break; |
|
case 56: |
|
/* Line 1455 of yacc.c */ |
#line 481 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_EQUAL); } |
break; |
|
case 57: |
|
/* Line 1455 of yacc.c */ |
#line 485 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_NOTEQUAL); } |
break; |
|
case 58: |
|
/* Line 1455 of yacc.c */ |
#line 489 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_LEQ); } |
break; |
|
case 59: |
|
/* Line 1455 of yacc.c */ |
#line 493 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_GEQ); } |
break; |
|
case 60: |
|
/* Line 1455 of yacc.c */ |
#line 497 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_LESS); } |
break; |
|
case 61: |
|
/* Line 1455 of yacc.c */ |
#line 501 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_GTR); } |
break; |
|
case 62: |
|
/* Line 1455 of yacc.c */ |
#line 505 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_AND); } |
break; |
|
case 63: |
|
/* Line 1455 of yacc.c */ |
#line 509 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_XOR); } |
break; |
|
case 64: |
|
/* Line 1455 of yacc.c */ |
#line 513 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_IOR); } |
break; |
|
case 65: |
|
/* Line 1455 of yacc.c */ |
#line 517 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_AND); } |
break; |
|
case 66: |
|
/* Line 1455 of yacc.c */ |
#line 521 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_LOGICAL_OR); } |
break; |
|
case 67: |
|
/* Line 1455 of yacc.c */ |
#line 525 "objc-exp.y" |
{ write_exp_elt_opcode (TERNOP_COND); } |
break; |
|
case 68: |
|
/* Line 1455 of yacc.c */ |
#line 529 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_ASSIGN); } |
break; |
|
case 69: |
|
/* Line 1455 of yacc.c */ |
#line 533 "objc-exp.y" |
{ write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); |
write_exp_elt_opcode (yyvsp[-1].opcode); |
write_exp_elt_opcode ((yyvsp[(2) - (3)].opcode)); |
write_exp_elt_opcode (BINOP_ASSIGN_MODIFY); } |
break; |
|
case 70: |
|
/* Line 1455 of yacc.c */ |
#line 539 "objc-exp.y" |
{ write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (yyvsp[0].typed_val_int.type); |
write_exp_elt_longcst ((LONGEST)(yyvsp[0].typed_val_int.val)); |
write_exp_elt_type ((yyvsp[(1) - (1)].typed_val_int).type); |
write_exp_elt_longcst ((LONGEST)((yyvsp[(1) - (1)].typed_val_int).val)); |
write_exp_elt_opcode (OP_LONG); } |
break; |
|
case 71: |
|
/* Line 1455 of yacc.c */ |
#line 546 "objc-exp.y" |
{ YYSTYPE val; |
parse_number (yyvsp[0].ssym.stoken.ptr, yyvsp[0].ssym.stoken.length, 0, &val); |
parse_number ((yyvsp[(1) - (1)].ssym).stoken.ptr, (yyvsp[(1) - (1)].ssym).stoken.length, 0, &val); |
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (val.typed_val_int.type); |
write_exp_elt_longcst ((LONGEST)val.typed_val_int.val); |
1882,31 → 2356,39
break; |
|
case 72: |
|
/* Line 1455 of yacc.c */ |
#line 557 "objc-exp.y" |
{ write_exp_elt_opcode (OP_DOUBLE); |
write_exp_elt_type (yyvsp[0].typed_val_float.type); |
write_exp_elt_dblcst (yyvsp[0].typed_val_float.dval); |
write_exp_elt_type ((yyvsp[(1) - (1)].typed_val_float).type); |
write_exp_elt_dblcst ((yyvsp[(1) - (1)].typed_val_float).dval); |
write_exp_elt_opcode (OP_DOUBLE); } |
break; |
|
case 75: |
|
/* Line 1455 of yacc.c */ |
#line 571 "objc-exp.y" |
{ |
write_exp_elt_opcode (OP_OBJC_SELECTOR); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(1) - (1)].sval)); |
write_exp_elt_opcode (OP_OBJC_SELECTOR); } |
break; |
|
case 76: |
|
/* Line 1455 of yacc.c */ |
#line 578 "objc-exp.y" |
{ write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (parse_type->builtin_int); |
CHECK_TYPEDEF (yyvsp[-1].tval); |
write_exp_elt_longcst ((LONGEST) TYPE_LENGTH (yyvsp[-1].tval)); |
CHECK_TYPEDEF ((yyvsp[(3) - (4)].tval)); |
write_exp_elt_longcst ((LONGEST) TYPE_LENGTH ((yyvsp[(3) - (4)].tval))); |
write_exp_elt_opcode (OP_LONG); } |
break; |
|
case 77: |
|
/* Line 1455 of yacc.c */ |
#line 586 "objc-exp.y" |
{ /* C strings are converted into array |
constants with an explicit null byte |
1914,7 → 2396,7
bound is the string length. There is no |
such thing in C as a completely empty |
string. */ |
char *sp = yyvsp[0].sval.ptr; int count = yyvsp[0].sval.length; |
char *sp = (yyvsp[(1) - (1)].sval).ptr; int count = (yyvsp[(1) - (1)].sval).length; |
while (count-- > 0) |
{ |
write_exp_elt_opcode (OP_LONG); |
1928,54 → 2410,62
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_opcode (OP_ARRAY); |
write_exp_elt_longcst ((LONGEST) 0); |
write_exp_elt_longcst ((LONGEST) (yyvsp[0].sval.length)); |
write_exp_elt_longcst ((LONGEST) ((yyvsp[(1) - (1)].sval).length)); |
write_exp_elt_opcode (OP_ARRAY); } |
break; |
|
case 78: |
|
/* Line 1455 of yacc.c */ |
#line 613 "objc-exp.y" |
{ write_exp_elt_opcode (OP_OBJC_NSSTRING); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(1) - (1)].sval)); |
write_exp_elt_opcode (OP_OBJC_NSSTRING); } |
break; |
|
case 79: |
|
/* Line 1455 of yacc.c */ |
#line 619 "objc-exp.y" |
{ |
if (yyvsp[0].ssym.sym != 0) |
yyval.bval = SYMBOL_BLOCK_VALUE (yyvsp[0].ssym.sym); |
if ((yyvsp[(1) - (1)].ssym).sym != 0) |
(yyval.bval) = SYMBOL_BLOCK_VALUE ((yyvsp[(1) - (1)].ssym).sym); |
else |
{ |
struct symtab *tem = |
lookup_symtab (copy_name (yyvsp[0].ssym.stoken)); |
lookup_symtab (copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
if (tem) |
yyval.bval = BLOCKVECTOR_BLOCK (BLOCKVECTOR (tem), STATIC_BLOCK); |
(yyval.bval) = BLOCKVECTOR_BLOCK (BLOCKVECTOR (tem), STATIC_BLOCK); |
else |
error ("No file or function \"%s\".", |
copy_name (yyvsp[0].ssym.stoken)); |
copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
} |
} |
break; |
|
case 80: |
|
/* Line 1455 of yacc.c */ |
#line 636 "objc-exp.y" |
{ struct symbol *tem |
= lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval, |
= lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval), |
VAR_DOMAIN, (int *) NULL); |
if (!tem || SYMBOL_CLASS (tem) != LOC_BLOCK) |
error ("No function \"%s\" in specified context.", |
copy_name (yyvsp[0].sval)); |
yyval.bval = SYMBOL_BLOCK_VALUE (tem); } |
copy_name ((yyvsp[(3) - (3)].sval))); |
(yyval.bval) = SYMBOL_BLOCK_VALUE (tem); } |
break; |
|
case 81: |
|
/* Line 1455 of yacc.c */ |
#line 646 "objc-exp.y" |
{ struct symbol *sym; |
sym = lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval, |
sym = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval), |
VAR_DOMAIN, (int *) NULL); |
if (sym == 0) |
error ("No symbol \"%s\" in specified context.", |
copy_name (yyvsp[0].sval)); |
copy_name ((yyvsp[(3) - (3)].sval))); |
|
write_exp_elt_opcode (OP_VAR_VALUE); |
/* block_found is set by lookup_symbol. */ |
1985,9 → 2475,11
break; |
|
case 82: |
|
/* Line 1455 of yacc.c */ |
#line 661 "objc-exp.y" |
{ |
struct type *type = yyvsp[-2].tval; |
struct type *type = (yyvsp[(1) - (3)].tval); |
if (TYPE_CODE (type) != TYPE_CODE_STRUCT |
&& TYPE_CODE (type) != TYPE_CODE_UNION) |
error ("`%s' is not defined as an aggregate type.", |
1995,15 → 2487,17
|
write_exp_elt_opcode (OP_SCOPE); |
write_exp_elt_type (type); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(3) - (3)].sval)); |
write_exp_elt_opcode (OP_SCOPE); |
} |
break; |
|
case 83: |
|
/* Line 1455 of yacc.c */ |
#line 674 "objc-exp.y" |
{ |
struct type *type = yyvsp[-3].tval; |
struct type *type = (yyvsp[(1) - (4)].tval); |
struct stoken tmp_token; |
if (TYPE_CODE (type) != TYPE_CODE_STRUCT |
&& TYPE_CODE (type) != TYPE_CODE_UNION) |
2010,14 → 2504,14
error ("`%s' is not defined as an aggregate type.", |
TYPE_NAME (type)); |
|
if (strcmp (type_name_no_tag (type), yyvsp[0].sval.ptr) != 0) |
if (strcmp (type_name_no_tag (type), (yyvsp[(4) - (4)].sval).ptr) != 0) |
error ("invalid destructor `%s::~%s'", |
type_name_no_tag (type), yyvsp[0].sval.ptr); |
type_name_no_tag (type), (yyvsp[(4) - (4)].sval).ptr); |
|
tmp_token.ptr = (char*) alloca (yyvsp[0].sval.length + 2); |
tmp_token.length = yyvsp[0].sval.length + 1; |
tmp_token.ptr = (char*) alloca ((yyvsp[(4) - (4)].sval).length + 2); |
tmp_token.length = (yyvsp[(4) - (4)].sval).length + 1; |
tmp_token.ptr[0] = '~'; |
memcpy (tmp_token.ptr+1, yyvsp[0].sval.ptr, yyvsp[0].sval.length); |
memcpy (tmp_token.ptr+1, (yyvsp[(4) - (4)].sval).ptr, (yyvsp[(4) - (4)].sval).length); |
tmp_token.ptr[tmp_token.length] = 0; |
write_exp_elt_opcode (OP_SCOPE); |
write_exp_elt_type (type); |
2027,9 → 2521,11
break; |
|
case 85: |
|
/* Line 1455 of yacc.c */ |
#line 700 "objc-exp.y" |
{ |
char *name = copy_name (yyvsp[0].sval); |
char *name = copy_name ((yyvsp[(2) - (2)].sval)); |
struct symbol *sym; |
struct minimal_symbol *msymbol; |
|
2056,8 → 2552,10
break; |
|
case 86: |
|
/* Line 1455 of yacc.c */ |
#line 728 "objc-exp.y" |
{ struct symbol *sym = yyvsp[0].ssym.sym; |
{ struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym; |
|
if (sym) |
{ |
2077,7 → 2575,7
write_exp_elt_sym (sym); |
write_exp_elt_opcode (OP_VAR_VALUE); |
} |
else if (yyvsp[0].ssym.is_a_field_of_this) |
else if ((yyvsp[(1) - (1)].ssym).is_a_field_of_this) |
{ |
/* C++/ObjC: it hangs off of `this'/'self'. |
Must not inadvertently convert from a |
2088,13 → 2586,13
write_exp_elt_opcode (OP_OBJC_SELF); |
write_exp_elt_opcode (OP_OBJC_SELF); |
write_exp_elt_opcode (STRUCTOP_PTR); |
write_exp_string (yyvsp[0].ssym.stoken); |
write_exp_string ((yyvsp[(1) - (1)].ssym).stoken); |
write_exp_elt_opcode (STRUCTOP_PTR); |
} |
else |
{ |
struct minimal_symbol *msymbol; |
char *arg = copy_name (yyvsp[0].ssym.stoken); |
char *arg = copy_name ((yyvsp[(1) - (1)].ssym).stoken); |
|
msymbol = |
lookup_minimal_symbol (arg, NULL, NULL); |
2105,327 → 2603,430
error ("No symbol table is loaded. Use the \"file\" command."); |
else |
error ("No symbol \"%s\" in current context.", |
copy_name (yyvsp[0].ssym.stoken)); |
copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
} |
} |
break; |
|
case 90: |
|
/* Line 1455 of yacc.c */ |
#line 791 "objc-exp.y" |
{ yyval.tval = follow_types (yyvsp[-1].tval); } |
{ (yyval.tval) = follow_types ((yyvsp[(1) - (2)].tval)); } |
break; |
|
case 91: |
|
/* Line 1455 of yacc.c */ |
#line 793 "objc-exp.y" |
{ yyval.tval = follow_types (yyvsp[-2].tval); } |
{ (yyval.tval) = follow_types ((yyvsp[(1) - (3)].tval)); } |
break; |
|
case 92: |
|
/* Line 1455 of yacc.c */ |
#line 795 "objc-exp.y" |
{ yyval.tval = follow_types (yyvsp[-2].tval); } |
{ (yyval.tval) = follow_types ((yyvsp[(1) - (3)].tval)); } |
break; |
|
case 93: |
|
/* Line 1455 of yacc.c */ |
#line 799 "objc-exp.y" |
{ push_type (tp_pointer); yyval.voidval = 0; } |
{ push_type (tp_pointer); (yyval.voidval) = 0; } |
break; |
|
case 94: |
|
/* Line 1455 of yacc.c */ |
#line 801 "objc-exp.y" |
{ push_type (tp_pointer); yyval.voidval = yyvsp[0].voidval; } |
{ push_type (tp_pointer); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); } |
break; |
|
case 95: |
|
/* Line 1455 of yacc.c */ |
#line 803 "objc-exp.y" |
{ push_type (tp_reference); yyval.voidval = 0; } |
{ push_type (tp_reference); (yyval.voidval) = 0; } |
break; |
|
case 96: |
|
/* Line 1455 of yacc.c */ |
#line 805 "objc-exp.y" |
{ push_type (tp_reference); yyval.voidval = yyvsp[0].voidval; } |
{ push_type (tp_reference); (yyval.voidval) = (yyvsp[(2) - (2)].voidval); } |
break; |
|
case 98: |
|
/* Line 1455 of yacc.c */ |
#line 810 "objc-exp.y" |
{ yyval.voidval = yyvsp[-1].voidval; } |
{ (yyval.voidval) = (yyvsp[(2) - (3)].voidval); } |
break; |
|
case 99: |
|
/* Line 1455 of yacc.c */ |
#line 812 "objc-exp.y" |
{ |
push_type_int (yyvsp[0].lval); |
push_type_int ((yyvsp[(2) - (2)].lval)); |
push_type (tp_array); |
} |
break; |
|
case 100: |
|
/* Line 1455 of yacc.c */ |
#line 817 "objc-exp.y" |
{ |
push_type_int (yyvsp[0].lval); |
push_type_int ((yyvsp[(1) - (1)].lval)); |
push_type (tp_array); |
yyval.voidval = 0; |
(yyval.voidval) = 0; |
} |
break; |
|
case 101: |
|
/* Line 1455 of yacc.c */ |
#line 824 "objc-exp.y" |
{ push_type (tp_function); } |
break; |
|
case 102: |
|
/* Line 1455 of yacc.c */ |
#line 826 "objc-exp.y" |
{ push_type (tp_function); } |
break; |
|
case 103: |
|
/* Line 1455 of yacc.c */ |
#line 830 "objc-exp.y" |
{ yyval.lval = -1; } |
{ (yyval.lval) = -1; } |
break; |
|
case 104: |
|
/* Line 1455 of yacc.c */ |
#line 832 "objc-exp.y" |
{ yyval.lval = yyvsp[-1].typed_val_int.val; } |
{ (yyval.lval) = (yyvsp[(2) - (3)].typed_val_int).val; } |
break; |
|
case 105: |
|
/* Line 1455 of yacc.c */ |
#line 836 "objc-exp.y" |
{ yyval.voidval = 0; } |
{ (yyval.voidval) = 0; } |
break; |
|
case 106: |
|
/* Line 1455 of yacc.c */ |
#line 838 "objc-exp.y" |
{ xfree (yyvsp[-1].tvec); yyval.voidval = 0; } |
{ xfree ((yyvsp[(2) - (3)].tvec)); (yyval.voidval) = 0; } |
break; |
|
case 108: |
|
/* Line 1455 of yacc.c */ |
#line 854 "objc-exp.y" |
{ yyval.tval = yyvsp[0].tsym.type; } |
{ (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; } |
break; |
|
case 109: |
|
/* Line 1455 of yacc.c */ |
#line 856 "objc-exp.y" |
{ |
if (yyvsp[0].class.type == NULL) |
if ((yyvsp[(1) - (1)].class).type == NULL) |
error ("No symbol \"%s\" in current context.", |
copy_name(yyvsp[0].class.stoken)); |
copy_name((yyvsp[(1) - (1)].class).stoken)); |
else |
yyval.tval = yyvsp[0].class.type; |
(yyval.tval) = (yyvsp[(1) - (1)].class).type; |
} |
break; |
|
case 110: |
|
/* Line 1455 of yacc.c */ |
#line 864 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_int; } |
{ (yyval.tval) = parse_type->builtin_int; } |
break; |
|
case 111: |
|
/* Line 1455 of yacc.c */ |
#line 866 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_long; } |
{ (yyval.tval) = parse_type->builtin_long; } |
break; |
|
case 112: |
|
/* Line 1455 of yacc.c */ |
#line 868 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_short; } |
{ (yyval.tval) = parse_type->builtin_short; } |
break; |
|
case 113: |
|
/* Line 1455 of yacc.c */ |
#line 870 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_long; } |
{ (yyval.tval) = parse_type->builtin_long; } |
break; |
|
case 114: |
|
/* Line 1455 of yacc.c */ |
#line 872 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_unsigned_long; } |
{ (yyval.tval) = parse_type->builtin_unsigned_long; } |
break; |
|
case 115: |
|
/* Line 1455 of yacc.c */ |
#line 874 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_long_long; } |
{ (yyval.tval) = parse_type->builtin_long_long; } |
break; |
|
case 116: |
|
/* Line 1455 of yacc.c */ |
#line 876 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_long_long; } |
{ (yyval.tval) = parse_type->builtin_long_long; } |
break; |
|
case 117: |
|
/* Line 1455 of yacc.c */ |
#line 878 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_unsigned_long_long; } |
{ (yyval.tval) = parse_type->builtin_unsigned_long_long; } |
break; |
|
case 118: |
|
/* Line 1455 of yacc.c */ |
#line 880 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_unsigned_long_long; } |
{ (yyval.tval) = parse_type->builtin_unsigned_long_long; } |
break; |
|
case 119: |
|
/* Line 1455 of yacc.c */ |
#line 882 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_short; } |
{ (yyval.tval) = parse_type->builtin_short; } |
break; |
|
case 120: |
|
/* Line 1455 of yacc.c */ |
#line 884 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_unsigned_short; } |
{ (yyval.tval) = parse_type->builtin_unsigned_short; } |
break; |
|
case 121: |
|
/* Line 1455 of yacc.c */ |
#line 886 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_double; } |
{ (yyval.tval) = parse_type->builtin_double; } |
break; |
|
case 122: |
|
/* Line 1455 of yacc.c */ |
#line 888 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_long_double; } |
{ (yyval.tval) = parse_type->builtin_long_double; } |
break; |
|
case 123: |
|
/* Line 1455 of yacc.c */ |
#line 890 "objc-exp.y" |
{ yyval.tval = lookup_struct (copy_name (yyvsp[0].sval), |
{ (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)), |
expression_context_block); } |
break; |
|
case 124: |
|
/* Line 1455 of yacc.c */ |
#line 893 "objc-exp.y" |
{ yyval.tval = lookup_struct (copy_name (yyvsp[0].sval), |
{ (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)), |
expression_context_block); } |
break; |
|
case 125: |
|
/* Line 1455 of yacc.c */ |
#line 896 "objc-exp.y" |
{ yyval.tval = lookup_union (copy_name (yyvsp[0].sval), |
{ (yyval.tval) = lookup_union (copy_name ((yyvsp[(2) - (2)].sval)), |
expression_context_block); } |
break; |
|
case 126: |
|
/* Line 1455 of yacc.c */ |
#line 899 "objc-exp.y" |
{ yyval.tval = lookup_enum (copy_name (yyvsp[0].sval), |
{ (yyval.tval) = lookup_enum (copy_name ((yyvsp[(2) - (2)].sval)), |
expression_context_block); } |
break; |
|
case 127: |
|
/* Line 1455 of yacc.c */ |
#line 902 "objc-exp.y" |
{ yyval.tval = lookup_unsigned_typename (parse_language, |
{ (yyval.tval) = lookup_unsigned_typename (parse_language, |
parse_gdbarch, |
TYPE_NAME(yyvsp[0].tsym.type)); } |
TYPE_NAME((yyvsp[(2) - (2)].tsym).type)); } |
break; |
|
case 128: |
|
/* Line 1455 of yacc.c */ |
#line 906 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_unsigned_int; } |
{ (yyval.tval) = parse_type->builtin_unsigned_int; } |
break; |
|
case 129: |
|
/* Line 1455 of yacc.c */ |
#line 908 "objc-exp.y" |
{ yyval.tval = lookup_signed_typename (parse_language, |
{ (yyval.tval) = lookup_signed_typename (parse_language, |
parse_gdbarch, |
TYPE_NAME(yyvsp[0].tsym.type)); } |
TYPE_NAME((yyvsp[(2) - (2)].tsym).type)); } |
break; |
|
case 130: |
|
/* Line 1455 of yacc.c */ |
#line 912 "objc-exp.y" |
{ yyval.tval = parse_type->builtin_int; } |
{ (yyval.tval) = parse_type->builtin_int; } |
break; |
|
case 131: |
|
/* Line 1455 of yacc.c */ |
#line 914 "objc-exp.y" |
{ yyval.tval = lookup_template_type(copy_name(yyvsp[-3].sval), yyvsp[-1].tval, |
{ (yyval.tval) = lookup_template_type(copy_name((yyvsp[(2) - (5)].sval)), (yyvsp[(4) - (5)].tval), |
expression_context_block); |
} |
break; |
|
case 132: |
|
/* Line 1455 of yacc.c */ |
#line 920 "objc-exp.y" |
{ yyval.tval = yyvsp[0].tval; } |
{ (yyval.tval) = (yyvsp[(2) - (2)].tval); } |
break; |
|
case 133: |
|
/* Line 1455 of yacc.c */ |
#line 921 "objc-exp.y" |
{ yyval.tval = yyvsp[0].tval; } |
{ (yyval.tval) = (yyvsp[(2) - (2)].tval); } |
break; |
|
case 135: |
|
/* Line 1455 of yacc.c */ |
#line 926 "objc-exp.y" |
{ |
yyval.tsym.stoken.ptr = "int"; |
yyval.tsym.stoken.length = 3; |
yyval.tsym.type = parse_type->builtin_int; |
(yyval.tsym).stoken.ptr = "int"; |
(yyval.tsym).stoken.length = 3; |
(yyval.tsym).type = parse_type->builtin_int; |
} |
break; |
|
case 136: |
|
/* Line 1455 of yacc.c */ |
#line 932 "objc-exp.y" |
{ |
yyval.tsym.stoken.ptr = "long"; |
yyval.tsym.stoken.length = 4; |
yyval.tsym.type = parse_type->builtin_long; |
(yyval.tsym).stoken.ptr = "long"; |
(yyval.tsym).stoken.length = 4; |
(yyval.tsym).type = parse_type->builtin_long; |
} |
break; |
|
case 137: |
|
/* Line 1455 of yacc.c */ |
#line 938 "objc-exp.y" |
{ |
yyval.tsym.stoken.ptr = "short"; |
yyval.tsym.stoken.length = 5; |
yyval.tsym.type = parse_type->builtin_short; |
(yyval.tsym).stoken.ptr = "short"; |
(yyval.tsym).stoken.length = 5; |
(yyval.tsym).type = parse_type->builtin_short; |
} |
break; |
|
case 138: |
|
/* Line 1455 of yacc.c */ |
#line 947 "objc-exp.y" |
{ yyval.tvec = (struct type **) xmalloc (sizeof (struct type *) * 2); |
yyval.ivec[0] = 1; /* Number of types in vector. */ |
yyval.tvec[1] = yyvsp[0].tval; |
{ (yyval.tvec) = (struct type **) xmalloc (sizeof (struct type *) * 2); |
(yyval.ivec)[0] = 1; /* Number of types in vector. */ |
(yyval.tvec)[1] = (yyvsp[(1) - (1)].tval); |
} |
break; |
|
case 139: |
|
/* Line 1455 of yacc.c */ |
#line 952 "objc-exp.y" |
{ int len = sizeof (struct type *) * (++(yyvsp[-2].ivec[0]) + 1); |
yyval.tvec = (struct type **) xrealloc ((char *) yyvsp[-2].tvec, len); |
yyval.tvec[yyval.ivec[0]] = yyvsp[0].tval; |
{ int len = sizeof (struct type *) * (++((yyvsp[(1) - (3)].ivec)[0]) + 1); |
(yyval.tvec) = (struct type **) xrealloc ((char *) (yyvsp[(1) - (3)].tvec), len); |
(yyval.tvec)[(yyval.ivec)[0]] = (yyvsp[(3) - (3)].tval); |
} |
break; |
|
case 140: |
|
/* Line 1455 of yacc.c */ |
#line 958 "objc-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
case 141: |
|
/* Line 1455 of yacc.c */ |
#line 959 "objc-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
case 142: |
|
/* Line 1455 of yacc.c */ |
#line 960 "objc-exp.y" |
{ yyval.sval = yyvsp[0].tsym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].tsym).stoken; } |
break; |
|
case 143: |
|
/* Line 1455 of yacc.c */ |
#line 961 "objc-exp.y" |
{ yyval.sval = yyvsp[0].class.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].class).stoken; } |
break; |
|
case 144: |
|
/* Line 1455 of yacc.c */ |
#line 962 "objc-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
|
|
/* Line 1455 of yacc.c */ |
#line 3021 "objc-exp.c.tmp" |
default: break; |
} |
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
|
/* Line 1000 of yacc.c. */ |
#line 2419 "objc-exp.c.tmp" |
|
yyvsp -= yylen; |
yyssp -= yylen; |
|
|
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
|
*++yyvsp = yyval; |
|
|
/* Now `shift' the result of the reduction. Determine what state |
that goes to, based on the state we popped back to and the rule |
number reduced by. */ |
2449,66 → 3050,41
if (!yyerrstatus) |
{ |
++yynerrs; |
#if YYERROR_VERBOSE |
yyn = yypact[yystate]; |
|
if (YYPACT_NINF < yyn && yyn < YYLAST) |
{ |
YYSIZE_T yysize = 0; |
int yytype = YYTRANSLATE (yychar); |
const char* yyprefix; |
char *yymsg; |
int yyx; |
|
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 0; |
|
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
#if ! YYERROR_VERBOSE |
yyerror (YY_("syntax error")); |
#else |
{ |
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); |
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) |
{ |
YYSIZE_T yyalloc = 2 * yysize; |
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) |
yyalloc = YYSTACK_ALLOC_MAXIMUM; |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
yymsg = (char *) YYSTACK_ALLOC (yyalloc); |
if (yymsg) |
yymsg_alloc = yyalloc; |
else |
{ |
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); |
yycount += 1; |
if (yycount == 5) |
{ |
yysize = 0; |
break; |
} |
yymsg = yymsgbuf; |
yymsg_alloc = sizeof yymsgbuf; |
} |
yysize += (sizeof ("syntax error, unexpected ") |
+ yystrlen (yytname[yytype])); |
yymsg = (char *) YYSTACK_ALLOC (yysize); |
if (yymsg != 0) |
{ |
char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); |
yyp = yystpcpy (yyp, yytname[yytype]); |
} |
|
if (yycount < 5) |
{ |
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
yyp = yystpcpy (yyp, yyprefix); |
yyp = yystpcpy (yyp, yytname[yyx]); |
yyprefix = " or "; |
} |
} |
yyerror (yymsg); |
YYSTACK_FREE (yymsg); |
} |
else |
yyerror ("syntax error; also virtual memory exhausted"); |
} |
else |
#endif /* YYERROR_VERBOSE */ |
yyerror ("syntax error"); |
if (0 < yysize && yysize <= yymsg_alloc) |
{ |
(void) yysyntax_error (yymsg, yystate, yychar); |
yyerror (yymsg); |
} |
else |
{ |
yyerror (YY_("syntax error")); |
if (yysize != 0) |
goto yyexhaustedlab; |
} |
} |
#endif |
} |
|
|
2519,25 → 3095,16
error, discard it. */ |
|
if (yychar <= YYEOF) |
{ |
/* If at end of input, pop the error token, |
then the rest of the stack, then return failure. */ |
{ |
/* Return failure if at end of input. */ |
if (yychar == YYEOF) |
for (;;) |
{ |
YYPOPSTACK; |
if (yyssp == yyss) |
YYABORT; |
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[*yyssp], yyvsp); |
} |
} |
YYABORT; |
} |
else |
{ |
YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); |
yydestruct (yytoken, &yylval); |
yydestruct ("Error: discarding", |
yytoken, &yylval); |
yychar = YYEMPTY; |
|
} |
} |
|
2551,15 → 3118,17
`---------------------------------------------------*/ |
yyerrorlab: |
|
#ifdef __GNUC__ |
/* Pacify GCC when the user code never invokes YYERROR and the label |
yyerrorlab therefore never appears in user code. */ |
if (0) |
/* Pacify compilers like GCC when the user code never invokes |
YYERROR and the label yyerrorlab therefore never appears in user |
code. */ |
if (/*CONSTCOND*/ 0) |
goto yyerrorlab; |
#endif |
|
yyvsp -= yylen; |
yyssp -= yylen; |
/* Do not reclaim the symbols of the rule which action triggered |
this YYERROR. */ |
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
yystate = *yyssp; |
goto yyerrlab1; |
|
2588,21 → 3157,20
if (yyssp == yyss) |
YYABORT; |
|
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[yystate], yyvsp); |
YYPOPSTACK; |
|
yydestruct ("Error: popping", |
yystos[yystate], yyvsp); |
YYPOPSTACK (1); |
yystate = *yyssp; |
YY_STACK_PRINT (yyss, yyssp); |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
*++yyvsp = yylval; |
|
YYDPRINTF ((stderr, "Shifting error token, ")); |
|
*++yyvsp = yylval; |
/* Shift the error token. */ |
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); |
|
|
yystate = yyn; |
goto yynewstate; |
|
2621,25 → 3189,45
yyresult = 1; |
goto yyreturn; |
|
#ifndef yyoverflow |
/*----------------------------------------------. |
| yyoverflowlab -- parser overflow comes here. | |
`----------------------------------------------*/ |
yyoverflowlab: |
yyerror ("parser stack overflow"); |
#if !defined(yyoverflow) || YYERROR_VERBOSE |
/*-------------------------------------------------. |
| yyexhaustedlab -- memory exhaustion comes here. | |
`-------------------------------------------------*/ |
yyexhaustedlab: |
yyerror (YY_("memory exhausted")); |
yyresult = 2; |
/* Fall through. */ |
#endif |
|
yyreturn: |
if (yychar != YYEMPTY) |
yydestruct ("Cleanup: discarding lookahead", |
yytoken, &yylval); |
/* Do not reclaim the symbols of the rule which action triggered |
this YYABORT or YYACCEPT. */ |
YYPOPSTACK (yylen); |
YY_STACK_PRINT (yyss, yyssp); |
while (yyssp != yyss) |
{ |
yydestruct ("Cleanup: popping", |
yystos[*yyssp], yyvsp); |
YYPOPSTACK (1); |
} |
#ifndef yyoverflow |
if (yyss != yyssa) |
YYSTACK_FREE (yyss); |
#endif |
return yyresult; |
#if YYERROR_VERBOSE |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
#endif |
/* Make sure YYID is used. */ |
return YYID (yyresult); |
} |
|
|
|
/* Line 1675 of yacc.c */ |
#line 976 "objc-exp.y" |
|
|
3464,4 → 4052,3
lexptr); |
} |
|
|
/openrisc/trunk/gnu-src/gdb-7.2/gdb/p-exp.c
1,30 → 1,39
/* A Bison parser, made by GNU Bison 1.875c. */ |
|
/* Skeleton parser for Yacc-like parsing with Bison, |
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. |
/* A Bison parser, made by GNU Bison 2.4.1. */ |
|
This program is free software; you can redistribute it and/or modify |
/* Skeleton implementation for Bison's Yacc-like parsers in C |
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |
Free Software Foundation, Inc. |
|
This program 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 2, or (at your option) |
any later version. |
|
the Free Software Foundation, either version 3 of the License, or |
(at your option) any later version. |
|
This program 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 this program; if not, write to the Free Software |
Foundation, Inc., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
|
/* As a special exception, when this file is copied by Bison into a |
Bison output file, you may use that output file without restriction. |
This special exception was added by the Free Software Foundation |
in version 1.24 of Bison. */ |
/* As a special exception, you may create a larger work that contains |
part or all of the Bison parser skeleton and distribute that work |
under terms of your choice, so long as that work isn't itself a |
parser generator using the skeleton or a modified version thereof |
as a parser skeleton. Alternatively, if you modify or redistribute |
the parser skeleton itself, you may (at your option) remove this |
special exception, which will cause the skeleton and the resulting |
Bison output files to be licensed under the GNU General Public |
License without this special exception. |
|
This special exception was added by the Free Software Foundation in |
version 2.2 of Bison. */ |
|
/* Written by Richard Stallman by simplifying the original so called |
``semantic'' parser. */ |
/* C LALR(1) parser skeleton written by Richard Stallman, by |
simplifying the original so-called "semantic" parser. */ |
|
/* All symbols defined below should begin with yy or YY, to avoid |
infringing on user name space. This should be done even for local |
36,6 → 45,9
/* Identify Bison output. */ |
#define YYBISON 1 |
|
/* Bison version. */ |
#define YYBISON_VERSION "2.4.1" |
|
/* Skeleton name. */ |
#define YYSKELETON_NAME "yacc.c" |
|
42,92 → 54,20
/* Pure parsers. */ |
#define YYPURE 0 |
|
/* Push parsers. */ |
#define YYPUSH 0 |
|
/* Pull parsers. */ |
#define YYPULL 1 |
|
/* Using locations. */ |
#define YYLSP_NEEDED 0 |
|
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
STRING = 260, |
FIELDNAME = 261, |
NAME = 262, |
TYPENAME = 263, |
NAME_OR_INT = 264, |
STRUCT = 265, |
CLASS = 266, |
SIZEOF = 267, |
COLONCOLON = 268, |
ERROR = 269, |
VARIABLE = 270, |
THIS = 271, |
TRUEKEYWORD = 272, |
FALSEKEYWORD = 273, |
ABOVE_COMMA = 274, |
ASSIGN = 275, |
NOT = 276, |
OR = 277, |
XOR = 278, |
ANDAND = 279, |
NOTEQUAL = 280, |
GEQ = 281, |
LEQ = 282, |
MOD = 283, |
DIV = 284, |
RSH = 285, |
LSH = 286, |
DECREMENT = 287, |
INCREMENT = 288, |
UNARY = 289, |
ARROW = 290, |
BLOCKNAME = 291 |
}; |
#endif |
#define INT 258 |
#define FLOAT 259 |
#define STRING 260 |
#define FIELDNAME 261 |
#define NAME 262 |
#define TYPENAME 263 |
#define NAME_OR_INT 264 |
#define STRUCT 265 |
#define CLASS 266 |
#define SIZEOF 267 |
#define COLONCOLON 268 |
#define ERROR 269 |
#define VARIABLE 270 |
#define THIS 271 |
#define TRUEKEYWORD 272 |
#define FALSEKEYWORD 273 |
#define ABOVE_COMMA 274 |
#define ASSIGN 275 |
#define NOT 276 |
#define OR 277 |
#define XOR 278 |
#define ANDAND 279 |
#define NOTEQUAL 280 |
#define GEQ 281 |
#define LEQ 282 |
#define MOD 283 |
#define DIV 284 |
#define RSH 285 |
#define LSH 286 |
#define DECREMENT 287 |
#define INCREMENT 288 |
#define UNARY 289 |
#define ARROW 290 |
#define BLOCKNAME 291 |
/* Copy the first part of user declarations. */ |
|
|
|
|
/* Copy the first part of user declarations. */ |
/* Line 189 of yacc.c */ |
#line 45 "p-exp.y" |
|
|
210,6 → 150,9
static char * uptok (char *, int); |
|
|
/* Line 189 of yacc.c */ |
#line 155 "p-exp.c.tmp" |
|
/* Enabling traces. */ |
#ifndef YYDEBUG |
# define YYDEBUG 0 |
223,9 → 166,100
# define YYERROR_VERBOSE 0 |
#endif |
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) |
/* Enabling the token table. */ |
#ifndef YYTOKEN_TABLE |
# define YYTOKEN_TABLE 0 |
#endif |
|
|
/* Tokens. */ |
#ifndef YYTOKENTYPE |
# define YYTOKENTYPE |
/* Put the tokens into the symbol table, so that GDB and other debuggers |
know about them. */ |
enum yytokentype { |
INT = 258, |
FLOAT = 259, |
STRING = 260, |
FIELDNAME = 261, |
NAME = 262, |
TYPENAME = 263, |
NAME_OR_INT = 264, |
STRUCT = 265, |
CLASS = 266, |
SIZEOF = 267, |
COLONCOLON = 268, |
ERROR = 269, |
VARIABLE = 270, |
THIS = 271, |
TRUEKEYWORD = 272, |
FALSEKEYWORD = 273, |
ABOVE_COMMA = 274, |
ASSIGN = 275, |
NOT = 276, |
OR = 277, |
XOR = 278, |
ANDAND = 279, |
NOTEQUAL = 280, |
GEQ = 281, |
LEQ = 282, |
MOD = 283, |
DIV = 284, |
RSH = 285, |
LSH = 286, |
DECREMENT = 287, |
INCREMENT = 288, |
UNARY = 289, |
ARROW = 290, |
BLOCKNAME = 291 |
}; |
#endif |
/* Tokens. */ |
#define INT 258 |
#define FLOAT 259 |
#define STRING 260 |
#define FIELDNAME 261 |
#define NAME 262 |
#define TYPENAME 263 |
#define NAME_OR_INT 264 |
#define STRUCT 265 |
#define CLASS 266 |
#define SIZEOF 267 |
#define COLONCOLON 268 |
#define ERROR 269 |
#define VARIABLE 270 |
#define THIS 271 |
#define TRUEKEYWORD 272 |
#define FALSEKEYWORD 273 |
#define ABOVE_COMMA 274 |
#define ASSIGN 275 |
#define NOT 276 |
#define OR 277 |
#define XOR 278 |
#define ANDAND 279 |
#define NOTEQUAL 280 |
#define GEQ 281 |
#define LEQ 282 |
#define MOD 283 |
#define DIV 284 |
#define RSH 285 |
#define LSH 286 |
#define DECREMENT 287 |
#define INCREMENT 288 |
#define UNARY 289 |
#define ARROW 290 |
#define BLOCKNAME 291 |
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
typedef union YYSTYPE |
{ |
|
/* Line 214 of yacc.c */ |
#line 131 "p-exp.y" |
typedef union YYSTYPE { |
|
LONGEST lval; |
struct { |
LONGEST val; |
247,17 → 281,21
|
struct type **tvec; |
int *ivec; |
} YYSTYPE; |
/* Line 191 of yacc.c. */ |
#line 253 "p-exp.c.tmp" |
|
|
|
/* Line 214 of yacc.c */ |
#line 289 "p-exp.c.tmp" |
} YYSTYPE; |
# define YYSTYPE_IS_TRIVIAL 1 |
# define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
# define YYSTYPE_IS_DECLARED 1 |
# define YYSTYPE_IS_TRIVIAL 1 |
#endif |
|
|
/* Copy the second part of user declarations. */ |
|
/* Copy the second part of user declarations. */ |
/* Line 264 of yacc.c */ |
#line 155 "p-exp.y" |
|
/* YYSTYPE gets defined by %union */ |
271,58 → 309,172
static int search_field; |
|
|
/* Line 214 of yacc.c. */ |
#line 276 "p-exp.c.tmp" |
/* Line 264 of yacc.c */ |
#line 314 "p-exp.c.tmp" |
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#ifdef short |
# undef short |
#endif |
|
# ifndef YYFREE |
# define YYFREE xfree |
#ifdef YYTYPE_UINT8 |
typedef YYTYPE_UINT8 yytype_uint8; |
#else |
typedef unsigned char yytype_uint8; |
#endif |
|
#ifdef YYTYPE_INT8 |
typedef YYTYPE_INT8 yytype_int8; |
#elif (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
typedef signed char yytype_int8; |
#else |
typedef short int yytype_int8; |
#endif |
|
#ifdef YYTYPE_UINT16 |
typedef YYTYPE_UINT16 yytype_uint16; |
#else |
typedef unsigned short int yytype_uint16; |
#endif |
|
#ifdef YYTYPE_INT16 |
typedef YYTYPE_INT16 yytype_int16; |
#else |
typedef short int yytype_int16; |
#endif |
|
#ifndef YYSIZE_T |
# ifdef __SIZE_TYPE__ |
# define YYSIZE_T __SIZE_TYPE__ |
# elif defined size_t |
# define YYSIZE_T size_t |
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# else |
# define YYSIZE_T unsigned int |
# endif |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
#endif |
|
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
|
#ifndef YY_ |
# if YYENABLE_NLS |
# if ENABLE_NLS |
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
# define YY_(msgid) dgettext ("bison-runtime", msgid) |
# endif |
# endif |
# ifndef YY_ |
# define YY_(msgid) msgid |
# endif |
#endif |
|
/* Suppress unused-variable warnings by "using" E. */ |
#if ! defined lint || defined __GNUC__ |
# define YYUSE(e) ((void) (e)) |
#else |
# define YYUSE(e) /* empty */ |
#endif |
|
/* Identity function, used to suppress warnings about constant conditions. */ |
#ifndef lint |
# define YYID(n) (n) |
#else |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static int |
YYID (int yyi) |
#else |
static int |
YYID (yyi) |
int yyi; |
#endif |
{ |
return yyi; |
} |
#endif |
|
#if ! defined yyoverflow || YYERROR_VERBOSE |
|
/* The parser invokes alloca or xmalloc; define the necessary symbols. */ |
|
# ifdef YYSTACK_USE_ALLOCA |
# if YYSTACK_USE_ALLOCA |
# define YYSTACK_ALLOC alloca |
# endif |
# else |
# if defined (alloca) || defined (_ALLOCA_H) |
# define YYSTACK_ALLOC alloca |
# else |
# ifdef __GNUC__ |
# define YYSTACK_ALLOC __builtin_alloca |
# elif defined __BUILTIN_VA_ARG_INCR |
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
# elif defined _AIX |
# define YYSTACK_ALLOC __alloca |
# elif defined _MSC_VER |
# define alloca _alloca |
# else |
# define YYSTACK_ALLOC alloca |
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# endif |
# endif |
# endif |
|
# ifdef YYSTACK_ALLOC |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) |
/* Pacify GCC's `empty if-body' warning. */ |
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) |
# ifndef YYSTACK_ALLOC_MAXIMUM |
/* The OS might guarantee only one guard page at the bottom of the stack, |
and a page size can be as small as 4096 bytes. So we cannot safely |
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
to allow for a few compiler-allocated temporary stack slots. */ |
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
# endif |
# else |
# if defined (__STDC__) || defined (__cplusplus) |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYSTACK_ALLOC_MAXIMUM |
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
# endif |
# if (defined __cplusplus && ! defined _STDLIB_H \ |
&& ! ((defined YYMALLOC || defined xmalloc) \ |
&& (defined YYFREE || defined xfree))) |
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# ifndef _STDLIB_H |
# define _STDLIB_H 1 |
# endif |
# endif |
# define YYSTACK_ALLOC YYMALLOC |
# define YYSTACK_FREE YYFREE |
# ifndef YYMALLOC |
# define YYMALLOC xmalloc |
# if ! defined xmalloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void *xmalloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# ifndef YYFREE |
# define YYFREE xfree |
# if ! defined xfree && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
void xfree (void *); /* INFRINGES ON USER NAME SPACE */ |
# endif |
# endif |
# endif |
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ |
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ |
|
|
#if (! defined (yyoverflow) \ |
&& (! defined (__cplusplus) \ |
|| (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) |
#if (! defined yyoverflow \ |
&& (! defined __cplusplus \ |
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
|
/* A type that is properly aligned for any stack member. */ |
union yyalloc |
{ |
short yyss; |
YYSTYPE yyvs; |
}; |
yytype_int16 yyss_alloc; |
YYSTYPE yyvs_alloc; |
}; |
|
/* The size of the maximum gap between one aligned stack and the next. */ |
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
330,13 → 482,13
/* The size of an array large to enough to hold all stacks, each with |
N elements. */ |
# define YYSTACK_BYTES(N) \ |
((N) * (sizeof (short) + sizeof (YYSTYPE)) \ |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ |
+ YYSTACK_GAP_MAXIMUM) |
|
/* Copy COUNT objects from FROM to TO. The source and destination do |
not overlap. */ |
# ifndef YYCOPY |
# if defined (__GNUC__) && 1 < __GNUC__ |
# if defined __GNUC__ && 1 < __GNUC__ |
# define YYCOPY(To, From, Count) \ |
__builtin_memcpy (To, From, (Count) * sizeof (*(From))) |
# else |
343,11 → 495,11
# define YYCOPY(To, From, Count) \ |
do \ |
{ \ |
register YYSIZE_T yyi; \ |
YYSIZE_T yyi; \ |
for (yyi = 0; yyi < (Count); yyi++) \ |
(To)[yyi] = (From)[yyi]; \ |
} \ |
while (0) |
while (YYID (0)) |
# endif |
# endif |
|
356,37 → 508,31
elements in the stack, and YYPTR gives the new location of the |
stack. Advance YYPTR to a properly aligned location for the next |
stack. */ |
# define YYSTACK_RELOCATE(Stack) \ |
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
do \ |
{ \ |
YYSIZE_T yynewbytes; \ |
YYCOPY (&yyptr->Stack, Stack, yysize); \ |
Stack = &yyptr->Stack; \ |
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
Stack = &yyptr->Stack_alloc; \ |
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
yyptr += yynewbytes / sizeof (*yyptr); \ |
} \ |
while (0) |
while (YYID (0)) |
|
#endif |
|
#if defined (__STDC__) || defined (__cplusplus) |
typedef signed char yysigned_char; |
#else |
typedef short yysigned_char; |
#endif |
|
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
#define YYFINAL 3 |
/* YYLAST -- Last index in YYTABLE. */ |
#define YYLAST 387 |
|
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
#define YYNTOKENS 52 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
#define YYNNTS 20 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
#define YYNRULES 74 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
#define YYNSTATES 123 |
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
393,11 → 539,11
#define YYUNDEFTOK 2 |
#define YYMAXUTOK 291 |
|
#define YYTRANSLATE(YYX) \ |
#define YYTRANSLATE(YYX) \ |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
|
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
static const unsigned char yytranslate[] = |
static const yytype_uint8 yytranslate[] = |
{ |
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
434,7 → 580,7
#if YYDEBUG |
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
YYRHS. */ |
static const unsigned char yyprhs[] = |
static const yytype_uint8 yyprhs[] = |
{ |
0, 0, 3, 4, 7, 9, 11, 13, 15, 19, |
22, 25, 28, 31, 36, 41, 42, 47, 48, 54, |
446,8 → 592,8
217, 219, 221, 223, 225 |
}; |
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yysigned_char yyrhs[] = |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
static const yytype_int8 yyrhs[] = |
{ |
53, 0, -1, -1, 54, 55, -1, 57, -1, 56, |
-1, 68, -1, 58, -1, 57, 19, 58, -1, 58, |
475,7 → 621,7
}; |
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
static const unsigned short yyrline[] = |
static const yytype_uint16 yyrline[] = |
{ |
0, 235, 235, 235, 243, 244, 247, 254, 255, 260, |
266, 272, 276, 280, 284, 288, 288, 303, 301, 331, |
488,9 → 634,9
}; |
#endif |
|
#if YYDEBUG || YYERROR_VERBOSE |
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE |
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
static const char *const yytname[] = |
{ |
"$end", "error", "$undefined", "INT", "FLOAT", "STRING", "FIELDNAME", |
500,9 → 646,10
"NOTEQUAL", "'<'", "'>'", "GEQ", "LEQ", "MOD", "DIV", "RSH", "LSH", |
"'@'", "'+'", "'-'", "'*'", "'/'", "DECREMENT", "INCREMENT", "UNARY", |
"'.'", "'['", "'('", "ARROW", "'^'", "BLOCKNAME", "')'", "']'", |
"$accept", "start", "@1", "normal_start", "type_exp", "exp1", "exp", |
"@2", "@3", "@4", "arglist", "@5", "block", "variable", "qualified_name", |
"ptype", "type", "typebase", "name", "name_not_typename", 0 |
"$accept", "start", "$@1", "normal_start", "type_exp", "exp1", "exp", |
"$@2", "$@3", "$@4", "arglist", "$@5", "block", "variable", |
"qualified_name", "ptype", "type", "typebase", "name", |
"name_not_typename", 0 |
}; |
#endif |
|
509,7 → 656,7
# ifdef YYPRINT |
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
token YYLEX-NUM. */ |
static const unsigned short yytoknum[] = |
static const yytype_uint16 yytoknum[] = |
{ |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 44, |
521,7 → 668,7
# endif |
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
static const unsigned char yyr1[] = |
static const yytype_uint8 yyr1[] = |
{ |
0, 52, 54, 53, 55, 55, 56, 57, 57, 58, |
58, 58, 58, 58, 58, 59, 58, 60, 58, 61, |
534,7 → 681,7
}; |
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
static const unsigned char yyr2[] = |
static const yytype_uint8 yyr2[] = |
{ |
0, 2, 0, 2, 1, 1, 1, 1, 3, 2, |
2, 2, 2, 4, 4, 0, 4, 0, 5, 0, |
549,7 → 696,7
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
STATE-NUM when YYTABLE doesn't specify something else to do. Zero |
means the default is an error. */ |
static const unsigned char yydefact[] = |
static const yytype_uint8 yydefact[] = |
{ |
2, 0, 0, 1, 47, 49, 54, 73, 66, 48, |
0, 0, 0, 0, 51, 55, 45, 46, 0, 0, |
566,8 → 713,8
0, 20, 23 |
}; |
|
/* YYDEFGOTO[NTERM-NUM]. */ |
static const yysigned_char yydefgoto[] = |
/* YYDEFGOTO[NTERM-NUM]. */ |
static const yytype_int8 yydefgoto[] = |
{ |
-1, 1, 2, 26, 27, 28, 29, 103, 104, 105, |
117, 102, 30, 31, 32, 33, 46, 35, 41, 36 |
576,7 → 723,7
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
STATE-NUM. */ |
#define YYPACT_NINF -39 |
static const short yypact[] = |
static const yytype_int16 yypact[] = |
{ |
-39, 9, 88, -39, -39, -39, -39, -39, -39, -39, |
4, 4, -31, 4, -39, -39, -39, -39, 88, 88, |
594,7 → 741,7
}; |
|
/* YYPGOTO[NTERM-NUM]. */ |
static const yysigned_char yypgoto[] = |
static const yytype_int8 yypgoto[] = |
{ |
-39, -39, -39, -39, -39, -19, -18, -39, -39, -39, |
-39, -39, -39, -39, -39, -39, 12, 38, -8, -39 |
605,7 → 752,7
number is the opposite. If zero, do what YYDEFACT says. |
If YYTABLE_NINF, syntax error. */ |
#define YYTABLE_NINF -58 |
static const yysigned_char yytable[] = |
static const yytype_int8 yytable[] = |
{ |
45, 47, 48, 42, 51, 44, 72, 73, 74, 3, |
75, 37, 38, 39, 34, 43, 8, 77, 10, 11, |
648,7 → 795,7
0, 0, 0, 72, 73, 74, 0, 75 |
}; |
|
static const yysigned_char yycheck[] = |
static const yytype_int8 yycheck[] = |
{ |
18, 19, 20, 11, 23, 13, 44, 45, 46, 0, |
48, 7, 8, 9, 2, 46, 8, 46, 10, 11, |
693,7 → 840,7
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
symbol of state STATE-NUM. */ |
static const unsigned char yystos[] = |
static const yytype_uint8 yystos[] = |
{ |
0, 53, 54, 0, 3, 4, 5, 7, 8, 9, |
10, 11, 12, 13, 15, 16, 17, 18, 22, 36, |
710,22 → 857,6
19, 50, 58 |
}; |
|
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
# define YYSIZE_T __SIZE_TYPE__ |
#endif |
#if ! defined (YYSIZE_T) && defined (size_t) |
# define YYSIZE_T size_t |
#endif |
#if ! defined (YYSIZE_T) |
# if defined (__STDC__) || defined (__cplusplus) |
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
# define YYSIZE_T size_t |
# endif |
#endif |
#if ! defined (YYSIZE_T) |
# define YYSIZE_T unsigned int |
#endif |
|
#define yyerrok (yyerrstatus = 0) |
#define yyclearin (yychar = YYEMPTY) |
#define YYEMPTY (-2) |
751,30 → 882,63
yychar = (Token); \ |
yylval = (Value); \ |
yytoken = YYTRANSLATE (yychar); \ |
YYPOPSTACK; \ |
YYPOPSTACK (1); \ |
goto yybackup; \ |
} \ |
else \ |
{ \ |
yyerror ("syntax error: cannot back up");\ |
{ \ |
yyerror (YY_("syntax error: cannot back up")); \ |
YYERROR; \ |
} \ |
while (0) |
while (YYID (0)) |
|
|
#define YYTERROR 1 |
#define YYERRCODE 256 |
|
/* YYLLOC_DEFAULT -- Compute the default location (before the actions |
are run). */ |
|
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
If N is 0, then set CURRENT to the empty location which ends |
the previous symbol: RHS[0] (always defined). */ |
|
#define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
#ifndef YYLLOC_DEFAULT |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
((Current).first_line = (Rhs)[1].first_line, \ |
(Current).first_column = (Rhs)[1].first_column, \ |
(Current).last_line = (Rhs)[N].last_line, \ |
(Current).last_column = (Rhs)[N].last_column) |
# define YYLLOC_DEFAULT(Current, Rhs, N) \ |
do \ |
if (YYID (N)) \ |
{ \ |
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ |
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ |
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \ |
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \ |
} \ |
else \ |
{ \ |
(Current).first_line = (Current).last_line = \ |
YYRHSLOC (Rhs, 0).last_line; \ |
(Current).first_column = (Current).last_column = \ |
YYRHSLOC (Rhs, 0).last_column; \ |
} \ |
while (YYID (0)) |
#endif |
|
|
/* YY_LOCATION_PRINT -- Print the location on the stream. |
This macro was not mandated originally: define only if we know |
we won't break user code: when these are the locations we know. */ |
|
#ifndef YY_LOCATION_PRINT |
# if YYLTYPE_IS_TRIVIAL |
# define YY_LOCATION_PRINT(File, Loc) \ |
fprintf (File, "%d.%d-%d.%d", \ |
(Loc).first_line, (Loc).first_column, \ |
(Loc).last_line, (Loc).last_column) |
# else |
# define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
# endif |
#endif |
|
|
/* YYLEX -- calling `yylex' with the right arguments. */ |
|
#ifdef YYLEX_PARAM |
795,43 → 959,100
do { \ |
if (yydebug) \ |
YYFPRINTF Args; \ |
} while (0) |
} while (YYID (0)) |
|
# define YYDSYMPRINT(Args) \ |
do { \ |
if (yydebug) \ |
yysymprint Args; \ |
} while (0) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yy_symbol_print (stderr, \ |
Type, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (YYID (0)) |
|
# define YYDSYMPRINTF(Title, Token, Value, Location) \ |
do { \ |
if (yydebug) \ |
{ \ |
YYFPRINTF (stderr, "%s ", Title); \ |
yysymprint (stderr, \ |
Token, Value); \ |
YYFPRINTF (stderr, "\n"); \ |
} \ |
} while (0) |
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_value_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (!yyvaluep) |
return; |
# ifdef YYPRINT |
if (yytype < YYNTOKENS) |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
# else |
YYUSE (yyoutput); |
# endif |
switch (yytype) |
{ |
default: |
break; |
} |
} |
|
|
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
|
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) |
#else |
static void |
yy_symbol_print (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE const * const yyvaluep; |
#endif |
{ |
if (yytype < YYNTOKENS) |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
|
yy_symbol_value_print (yyoutput, yytype, yyvaluep); |
YYFPRINTF (yyoutput, ")"); |
} |
|
/*------------------------------------------------------------------. |
| yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| TOP (included). | |
`------------------------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_stack_print (short *bottom, short *top) |
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) |
#else |
static void |
yy_stack_print (bottom, top) |
short *bottom; |
short *top; |
yy_stack_print (yybottom, yytop) |
yytype_int16 *yybottom; |
yytype_int16 *yytop; |
#endif |
{ |
YYFPRINTF (stderr, "Stack now"); |
for (/* Nothing. */; bottom <= top; ++bottom) |
YYFPRINTF (stderr, " %d", *bottom); |
for (; yybottom <= yytop; yybottom++) |
{ |
int yybot = *yybottom; |
YYFPRINTF (stderr, " %d", yybot); |
} |
YYFPRINTF (stderr, "\n"); |
} |
|
839,7 → 1060,7
do { \ |
if (yydebug) \ |
yy_stack_print ((Bottom), (Top)); \ |
} while (0) |
} while (YYID (0)) |
|
|
/*------------------------------------------------. |
846,30 → 1067,38
| Report that the YYRULE is going to be reduced. | |
`------------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yy_reduce_print (int yyrule) |
yy_reduce_print (YYSTYPE *yyvsp, int yyrule) |
#else |
static void |
yy_reduce_print (yyrule) |
yy_reduce_print (yyvsp, yyrule) |
YYSTYPE *yyvsp; |
int yyrule; |
#endif |
{ |
int yynrhs = yyr2[yyrule]; |
int yyi; |
unsigned int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", |
yyrule - 1, yylno); |
/* Print the symbols being reduced, and their result. */ |
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) |
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); |
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); |
unsigned long int yylno = yyrline[yyrule]; |
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", |
yyrule - 1, yylno); |
/* The symbols being reduced. */ |
for (yyi = 0; yyi < yynrhs; yyi++) |
{ |
YYFPRINTF (stderr, " $%d = ", yyi + 1); |
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], |
&(yyvsp[(yyi + 1) - (yynrhs)]) |
); |
YYFPRINTF (stderr, "\n"); |
} |
} |
|
# define YY_REDUCE_PRINT(Rule) \ |
do { \ |
if (yydebug) \ |
yy_reduce_print (Rule); \ |
} while (0) |
yy_reduce_print (yyvsp, Rule); \ |
} while (YYID (0)) |
|
/* Nonzero means print parse trace. It is left uninitialized so that |
multiple parsers can coexist. */ |
876,8 → 1105,7
int yydebug; |
#else /* !YYDEBUG */ |
# define YYDPRINTF(Args) |
# define YYDSYMPRINT(Args) |
# define YYDSYMPRINTF(Title, Token, Value, Location) |
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
# define YY_STACK_PRINT(Bottom, Top) |
# define YY_REDUCE_PRINT(Rule) |
#endif /* !YYDEBUG */ |
892,13 → 1120,9
if the built-in stack extension method is used). |
|
Do not make this value too large; the results are undefined if |
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) |
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
evaluated with infinite-precision integer arithmetic. */ |
|
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 |
# undef YYMAXDEPTH |
#endif |
|
#ifndef YYMAXDEPTH |
# define YYMAXDEPTH 10000 |
#endif |
908,45 → 1132,47
#if YYERROR_VERBOSE |
|
# ifndef yystrlen |
# if defined (__GLIBC__) && defined (_STRING_H) |
# if defined __GLIBC__ && defined _STRING_H |
# define yystrlen strlen |
# else |
/* Return the length of YYSTR. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static YYSIZE_T |
# if defined (__STDC__) || defined (__cplusplus) |
yystrlen (const char *yystr) |
# else |
#else |
static YYSIZE_T |
yystrlen (yystr) |
const char *yystr; |
# endif |
const char *yystr; |
#endif |
{ |
register const char *yys = yystr; |
|
while (*yys++ != '\0') |
YYSIZE_T yylen; |
for (yylen = 0; yystr[yylen]; yylen++) |
continue; |
|
return yys - yystr - 1; |
return yylen; |
} |
# endif |
# endif |
|
# ifndef yystpcpy |
# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) |
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
# define yystpcpy stpcpy |
# else |
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in |
YYDEST. */ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static char * |
# if defined (__STDC__) || defined (__cplusplus) |
yystpcpy (char *yydest, const char *yysrc) |
# else |
#else |
static char * |
yystpcpy (yydest, yysrc) |
char *yydest; |
const char *yysrc; |
# endif |
char *yydest; |
const char *yysrc; |
#endif |
{ |
register char *yyd = yydest; |
register const char *yys = yysrc; |
char *yyd = yydest; |
const char *yys = yysrc; |
|
while ((*yyd++ = *yys++) != '\0') |
continue; |
956,84 → 1182,204
# endif |
# endif |
|
#endif /* !YYERROR_VERBOSE */ |
# ifndef yytnamerr |
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary |
quotes and backslashes, so that it's suitable for yyerror. The |
heuristic is that double-quoting is unnecessary unless the string |
contains an apostrophe, a comma, or backslash (other than |
backslash-backslash). YYSTR is taken from yytname. If YYRES is |
null, do not copy; instead, return the length of what the result |
would have been. */ |
static YYSIZE_T |
yytnamerr (char *yyres, const char *yystr) |
{ |
if (*yystr == '"') |
{ |
YYSIZE_T yyn = 0; |
char const *yyp = yystr; |
|
|
for (;;) |
switch (*++yyp) |
{ |
case '\'': |
case ',': |
goto do_not_strip_quotes; |
|
#if YYDEBUG |
/*--------------------------------. |
| Print this symbol on YYOUTPUT. | |
`--------------------------------*/ |
case '\\': |
if (*++yyp != '\\') |
goto do_not_strip_quotes; |
/* Fall through. */ |
default: |
if (yyres) |
yyres[yyn] = *yyp; |
yyn++; |
break; |
|
#if defined (__STDC__) || defined (__cplusplus) |
static void |
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yysymprint (yyoutput, yytype, yyvaluep) |
FILE *yyoutput; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
case '"': |
if (yyres) |
yyres[yyn] = '\0'; |
return yyn; |
} |
do_not_strip_quotes: ; |
} |
|
if (! yyres) |
return yystrlen (yystr); |
|
return yystpcpy (yyres, yystr) - yyres; |
} |
# endif |
|
/* Copy into YYRESULT an error message about the unexpected token |
YYCHAR while in state YYSTATE. Return the number of bytes copied, |
including the terminating null byte. If YYRESULT is null, do not |
copy anything; just return the number of bytes that would be |
copied. As a special case, return 0 if an ordinary "syntax error" |
message will do. Return YYSIZE_MAXIMUM if overflow occurs during |
size calculation. */ |
static YYSIZE_T |
yysyntax_error (char *yyresult, int yystate, int yychar) |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
int yyn = yypact[yystate]; |
|
if (yytype < YYNTOKENS) |
if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) |
return 0; |
else |
{ |
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
# ifdef YYPRINT |
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
int yytype = YYTRANSLATE (yychar); |
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); |
YYSIZE_T yysize = yysize0; |
YYSIZE_T yysize1; |
int yysize_overflow = 0; |
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
int yyx; |
|
# if 0 |
/* This is so xgettext sees the translatable formats that are |
constructed on the fly. */ |
YY_("syntax error, unexpected %s"); |
YY_("syntax error, unexpected %s, expecting %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |
# endif |
} |
else |
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
char *yyfmt; |
char const *yyf; |
static char const yyunexpected[] = "syntax error, unexpected %s"; |
static char const yyexpecting[] = ", expecting %s"; |
static char const yyor[] = " or %s"; |
char yyformat[sizeof yyunexpected |
+ sizeof yyexpecting - 1 |
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) |
* (sizeof yyor - 1))]; |
char const *yyprefix = yyexpecting; |
|
switch (yytype) |
{ |
default: |
break; |
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn + 1; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 1; |
|
yyarg[0] = yytname[yytype]; |
yyfmt = yystpcpy (yyformat, yyunexpected); |
|
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
{ |
yycount = 1; |
yysize = yysize0; |
yyformat[sizeof yyunexpected - 1] = '\0'; |
break; |
} |
yyarg[yycount++] = yytname[yyx]; |
yysize1 = yysize + yytnamerr (0, yytname[yyx]); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
yyfmt = yystpcpy (yyfmt, yyprefix); |
yyprefix = yyor; |
} |
|
yyf = YY_(yyformat); |
yysize1 = yysize + yystrlen (yyf); |
yysize_overflow |= (yysize1 < yysize); |
yysize = yysize1; |
|
if (yysize_overflow) |
return YYSIZE_MAXIMUM; |
|
if (yyresult) |
{ |
/* Avoid sprintf, as that infringes on the user's name space. |
Don't have undefined behavior even if the translation |
produced a string with the wrong number of "%s"s. */ |
char *yyp = yyresult; |
int yyi = 0; |
while ((*yyp = *yyf) != '\0') |
{ |
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) |
{ |
yyp += yytnamerr (yyp, yyarg[yyi++]); |
yyf += 2; |
} |
else |
{ |
yyp++; |
yyf++; |
} |
} |
} |
return yysize; |
} |
YYFPRINTF (yyoutput, ")"); |
} |
#endif /* YYERROR_VERBOSE */ |
|
|
#endif /* ! YYDEBUG */ |
/*-----------------------------------------------. |
| Release the memory associated to this symbol. | |
`-----------------------------------------------*/ |
|
#if defined (__STDC__) || defined (__cplusplus) |
/*ARGSUSED*/ |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
static void |
yydestruct (int yytype, YYSTYPE *yyvaluep) |
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) |
#else |
static void |
yydestruct (yytype, yyvaluep) |
yydestruct (yymsg, yytype, yyvaluep) |
const char *yymsg; |
int yytype; |
YYSTYPE *yyvaluep; |
#endif |
{ |
/* Pacify ``unused variable'' warnings. */ |
(void) yyvaluep; |
YYUSE (yyvaluep); |
|
if (!yymsg) |
yymsg = "Deleting"; |
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); |
|
switch (yytype) |
{ |
|
default: |
break; |
break; |
} |
} |
|
|
/* Prevent warnings from -Wmissing-prototypes. */ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void *YYPARSE_PARAM); |
# else |
#else |
int yyparse (); |
# endif |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if defined __STDC__ || defined __cplusplus |
int yyparse (void); |
#else |
int yyparse (); |
1041,7 → 1387,6
#endif /* ! YYPARSE_PARAM */ |
|
|
|
/* The lookahead symbol. */ |
int yychar; |
|
1053,19 → 1398,23
|
|
|
/*----------. |
| yyparse. | |
`----------*/ |
/*-------------------------. |
| yyparse or yypush_parse. | |
`-------------------------*/ |
|
#ifdef YYPARSE_PARAM |
# if defined (__STDC__) || defined (__cplusplus) |
int yyparse (void *YYPARSE_PARAM) |
# else |
int yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
# endif |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void *YYPARSE_PARAM) |
#else |
int |
yyparse (YYPARSE_PARAM) |
void *YYPARSE_PARAM; |
#endif |
#else /* ! YYPARSE_PARAM */ |
#if defined (__STDC__) || defined (__cplusplus) |
#if (defined __STDC__ || defined __C99__FUNC__ \ |
|| defined __cplusplus || defined _MSC_VER) |
int |
yyparse (void) |
#else |
1075,60 → 1424,68
#endif |
#endif |
{ |
|
register int yystate; |
register int yyn; |
int yyresult; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken = 0; |
|
/* Three stacks and their tools: |
`yyss': related to states, |
`yyvs': related to semantic values, |
`yyls': related to locations. |
|
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
int yystate; |
/* Number of tokens to shift before error messages enabled. */ |
int yyerrstatus; |
|
/* The state stack. */ |
short yyssa[YYINITDEPTH]; |
short *yyss = yyssa; |
register short *yyssp; |
/* The stacks and their tools: |
`yyss': related to states. |
`yyvs': related to semantic values. |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs = yyvsa; |
register YYSTYPE *yyvsp; |
Refer to the stacks thru separate pointers, to allow yyoverflow |
to xreallocate them elsewhere. */ |
|
/* The state stack. */ |
yytype_int16 yyssa[YYINITDEPTH]; |
yytype_int16 *yyss; |
yytype_int16 *yyssp; |
|
/* The semantic value stack. */ |
YYSTYPE yyvsa[YYINITDEPTH]; |
YYSTYPE *yyvs; |
YYSTYPE *yyvsp; |
|
#define YYPOPSTACK (yyvsp--, yyssp--) |
YYSIZE_T yystacksize; |
|
YYSIZE_T yystacksize = YYINITDEPTH; |
|
int yyn; |
int yyresult; |
/* Lookahead token as an internal (translated) token number. */ |
int yytoken; |
/* The variables used to return semantic value and location from the |
action routines. */ |
YYSTYPE yyval; |
|
#if YYERROR_VERBOSE |
/* Buffer for error messages, and its allocated size. */ |
char yymsgbuf[128]; |
char *yymsg = yymsgbuf; |
YYSIZE_T yymsg_alloc = sizeof yymsgbuf; |
#endif |
|
/* When reducing, the number of symbols on the RHS of the reduced |
rule. */ |
int yylen; |
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
|
/* The number of symbols on the RHS of the reduced rule. |
Keep to zero when no symbol should be popped. */ |
int yylen = 0; |
|
yytoken = 0; |
yyss = yyssa; |
yyvs = yyvsa; |
yystacksize = YYINITDEPTH; |
|
YYDPRINTF ((stderr, "Starting parse\n")); |
|
yystate = 0; |
yyerrstatus = 0; |
yynerrs = 0; |
yychar = YYEMPTY; /* Cause a token to be read. */ |
yychar = YYEMPTY; /* Cause a token to be read. */ |
|
/* Initialize stack pointers. |
Waste one element of value and location stack |
so that they stay on the same level as the state stack. |
The wasted elements are never initialized. */ |
|
yyssp = yyss; |
yyvsp = yyvs; |
|
1139,8 → 1496,7
`------------------------------------------------------------*/ |
yynewstate: |
/* In all cases, when you get here, the value and location stacks |
have just been pushed. so pushing a state here evens the stacks. |
*/ |
have just been pushed. So pushing a state here evens the stacks. */ |
yyssp++; |
|
yysetstate: |
1153,21 → 1509,19
|
#ifdef yyoverflow |
{ |
/* Give user a chance to xreallocate the stack. Use copies of |
/* Give user a chance to xreallocate the stack. Use copies of |
these so that the &'s don't force the real ones into |
memory. */ |
YYSTYPE *yyvs1 = yyvs; |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
|
|
/* Each stack pointer address is followed by the size of the |
data in use in that stack, in bytes. This used to be a |
conditional around just the two extra args, but that might |
be undefined if yyoverflow is a macro. */ |
yyoverflow ("parser stack overflow", |
yyoverflow (YY_("memory exhausted"), |
&yyss1, yysize * sizeof (*yyssp), |
&yyvs1, yysize * sizeof (*yyvsp), |
|
&yystacksize); |
|
yyss = yyss1; |
1175,24 → 1529,23
} |
#else /* no yyoverflow */ |
# ifndef YYSTACK_RELOCATE |
goto yyoverflowlab; |
goto yyexhaustedlab; |
# else |
/* Extend the stack our own way. */ |
if (YYMAXDEPTH <= yystacksize) |
goto yyoverflowlab; |
goto yyexhaustedlab; |
yystacksize *= 2; |
if (YYMAXDEPTH < yystacksize) |
yystacksize = YYMAXDEPTH; |
|
{ |
short *yyss1 = yyss; |
yytype_int16 *yyss1 = yyss; |
union yyalloc *yyptr = |
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); |
if (! yyptr) |
goto yyoverflowlab; |
YYSTACK_RELOCATE (yyss); |
YYSTACK_RELOCATE (yyvs); |
|
goto yyexhaustedlab; |
YYSTACK_RELOCATE (yyss_alloc, yyss); |
YYSTACK_RELOCATE (yyvs_alloc, yyvs); |
# undef YYSTACK_RELOCATE |
if (yyss1 != yyssa) |
YYSTACK_FREE (yyss1); |
1203,7 → 1556,6
yyssp = yyss + yysize - 1; |
yyvsp = yyvs + yysize - 1; |
|
|
YYDPRINTF ((stderr, "Stack size increased to %lu\n", |
(unsigned long int) yystacksize)); |
|
1213,6 → 1565,9
|
YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
|
if (yystate == YYFINAL) |
YYACCEPT; |
|
goto yybackup; |
|
/*-----------. |
1220,12 → 1575,10
`-----------*/ |
yybackup: |
|
/* Do appropriate processing given the current state. */ |
/* Read a lookahead token if we need one and don't already have one. */ |
/* yyresume: */ |
/* Do appropriate processing given the current state. Read a |
lookahead token if we need one and don't already have one. */ |
|
/* First try to decide what to do without reference to lookahead token. */ |
|
yyn = yypact[yystate]; |
if (yyn == YYPACT_NINF) |
goto yydefault; |
1247,7 → 1600,7
else |
{ |
yytoken = YYTRANSLATE (yychar); |
YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); |
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); |
} |
|
/* If the proper action on seeing token YYTOKEN is to reduce or to |
1264,25 → 1617,20
goto yyreduce; |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
/* Shift the lookahead token. */ |
YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); |
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); |
|
/* Discard the token being shifted unless it is eof. */ |
if (yychar != YYEOF) |
yychar = YYEMPTY; |
/* Discard the shifted token. */ |
yychar = YYEMPTY; |
|
yystate = yyn; |
*++yyvsp = yylval; |
|
|
/* Count tokens shifted since error; after three, turn off error |
status. */ |
if (yyerrstatus) |
yyerrstatus--; |
|
yystate = yyn; |
goto yynewstate; |
|
|
1318,6 → 1666,8
switch (yyn) |
{ |
case 2: |
|
/* Line 1455 of yacc.c */ |
#line 235 "p-exp.y" |
{ current_type = NULL; |
search_field = 0; |
1326,24 → 1676,32
break; |
|
case 3: |
|
/* Line 1455 of yacc.c */ |
#line 239 "p-exp.y" |
{} |
break; |
|
case 6: |
|
/* Line 1455 of yacc.c */ |
#line 248 "p-exp.y" |
{ write_exp_elt_opcode(OP_TYPE); |
write_exp_elt_type(yyvsp[0].tval); |
write_exp_elt_type((yyvsp[(1) - (1)].tval)); |
write_exp_elt_opcode(OP_TYPE); |
current_type = yyvsp[0].tval; } |
current_type = (yyvsp[(1) - (1)].tval); } |
break; |
|
case 8: |
|
/* Line 1455 of yacc.c */ |
#line 256 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_COMMA); } |
break; |
|
case 9: |
|
/* Line 1455 of yacc.c */ |
#line 261 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_IND); |
if (current_type) |
1351,6 → 1709,8
break; |
|
case 10: |
|
/* Line 1455 of yacc.c */ |
#line 267 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_ADDR); |
if (current_type) |
1358,34 → 1718,46
break; |
|
case 11: |
|
/* Line 1455 of yacc.c */ |
#line 273 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_NEG); } |
break; |
|
case 12: |
|
/* Line 1455 of yacc.c */ |
#line 277 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_LOGICAL_NOT); } |
break; |
|
case 13: |
|
/* Line 1455 of yacc.c */ |
#line 281 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_PREINCREMENT); } |
break; |
|
case 14: |
|
/* Line 1455 of yacc.c */ |
#line 285 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_PREDECREMENT); } |
break; |
|
case 15: |
|
/* Line 1455 of yacc.c */ |
#line 288 "p-exp.y" |
{ search_field = 1; } |
break; |
|
case 16: |
|
/* Line 1455 of yacc.c */ |
#line 291 "p-exp.y" |
{ write_exp_elt_opcode (STRUCTOP_STRUCT); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(4) - (4)].sval)); |
write_exp_elt_opcode (STRUCTOP_STRUCT); |
search_field = 0; |
if (current_type) |
1392,11 → 1764,13
{ while (TYPE_CODE (current_type) == TYPE_CODE_PTR) |
current_type = TYPE_TARGET_TYPE (current_type); |
current_type = lookup_struct_elt_type ( |
current_type, yyvsp[0].sval.ptr, 0); }; |
current_type, (yyvsp[(4) - (4)].sval).ptr, 0); }; |
} |
break; |
|
case 17: |
|
/* Line 1455 of yacc.c */ |
#line 303 "p-exp.y" |
{ char *arrayname; |
int arrayfieldindex; |
1419,6 → 1793,8
break; |
|
case 18: |
|
/* Line 1455 of yacc.c */ |
#line 322 "p-exp.y" |
{ pop_current_type (); |
write_exp_elt_opcode (BINOP_SUBSCRIPT); |
1427,6 → 1803,8
break; |
|
case 19: |
|
/* Line 1455 of yacc.c */ |
#line 331 "p-exp.y" |
{ push_current_type (); |
start_arglist (); } |
1433,6 → 1811,8
break; |
|
case 20: |
|
/* Line 1455 of yacc.c */ |
#line 334 "p-exp.y" |
{ write_exp_elt_opcode (OP_FUNCALL); |
write_exp_elt_longcst ((LONGEST) end_arglist ()); |
1444,16 → 1824,22
break; |
|
case 22: |
|
/* Line 1455 of yacc.c */ |
#line 345 "p-exp.y" |
{ arglist_len = 1; } |
break; |
|
case 23: |
|
/* Line 1455 of yacc.c */ |
#line 347 "p-exp.y" |
{ arglist_len++; } |
break; |
|
case 24: |
|
/* Line 1455 of yacc.c */ |
#line 351 "p-exp.y" |
{ if (current_type) |
{ |
1460,26 → 1846,32
/* Allow automatic dereference of classes. */ |
if ((TYPE_CODE (current_type) == TYPE_CODE_PTR) |
&& (TYPE_CODE (TYPE_TARGET_TYPE (current_type)) == TYPE_CODE_CLASS) |
&& (TYPE_CODE (yyvsp[-3].tval) == TYPE_CODE_CLASS)) |
&& (TYPE_CODE ((yyvsp[(1) - (4)].tval)) == TYPE_CODE_CLASS)) |
write_exp_elt_opcode (UNOP_IND); |
} |
write_exp_elt_opcode (UNOP_CAST); |
write_exp_elt_type (yyvsp[-3].tval); |
write_exp_elt_type ((yyvsp[(1) - (4)].tval)); |
write_exp_elt_opcode (UNOP_CAST); |
current_type = yyvsp[-3].tval; } |
current_type = (yyvsp[(1) - (4)].tval); } |
break; |
|
case 25: |
|
/* Line 1455 of yacc.c */ |
#line 366 "p-exp.y" |
{ } |
break; |
|
case 26: |
|
/* Line 1455 of yacc.c */ |
#line 372 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_MUL); } |
break; |
|
case 27: |
|
/* Line 1455 of yacc.c */ |
#line 375 "p-exp.y" |
{ |
if (current_type && is_integral_type (current_type)) |
1488,6 → 1880,8
break; |
|
case 28: |
|
/* Line 1455 of yacc.c */ |
#line 380 "p-exp.y" |
{ |
if (leftdiv_is_integer && current_type |
1505,36 → 1899,50
break; |
|
case 29: |
|
/* Line 1455 of yacc.c */ |
#line 396 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_INTDIV); } |
break; |
|
case 30: |
|
/* Line 1455 of yacc.c */ |
#line 400 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_REM); } |
break; |
|
case 31: |
|
/* Line 1455 of yacc.c */ |
#line 404 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_ADD); } |
break; |
|
case 32: |
|
/* Line 1455 of yacc.c */ |
#line 408 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_SUB); } |
break; |
|
case 33: |
|
/* Line 1455 of yacc.c */ |
#line 412 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_LSH); } |
break; |
|
case 34: |
|
/* Line 1455 of yacc.c */ |
#line 416 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_RSH); } |
break; |
|
case 35: |
|
/* Line 1455 of yacc.c */ |
#line 420 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_EQUAL); |
current_type = parse_type->builtin_bool; |
1542,6 → 1950,8
break; |
|
case 36: |
|
/* Line 1455 of yacc.c */ |
#line 426 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_NOTEQUAL); |
current_type = parse_type->builtin_bool; |
1549,6 → 1959,8
break; |
|
case 37: |
|
/* Line 1455 of yacc.c */ |
#line 432 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_LEQ); |
current_type = parse_type->builtin_bool; |
1556,6 → 1968,8
break; |
|
case 38: |
|
/* Line 1455 of yacc.c */ |
#line 438 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_GEQ); |
current_type = parse_type->builtin_bool; |
1563,6 → 1977,8
break; |
|
case 39: |
|
/* Line 1455 of yacc.c */ |
#line 444 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_LESS); |
current_type = parse_type->builtin_bool; |
1570,6 → 1986,8
break; |
|
case 40: |
|
/* Line 1455 of yacc.c */ |
#line 450 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_GTR); |
current_type = parse_type->builtin_bool; |
1577,54 → 1995,70
break; |
|
case 41: |
|
/* Line 1455 of yacc.c */ |
#line 456 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_AND); } |
break; |
|
case 42: |
|
/* Line 1455 of yacc.c */ |
#line 460 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_XOR); } |
break; |
|
case 43: |
|
/* Line 1455 of yacc.c */ |
#line 464 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_BITWISE_IOR); } |
break; |
|
case 44: |
|
/* Line 1455 of yacc.c */ |
#line 468 "p-exp.y" |
{ write_exp_elt_opcode (BINOP_ASSIGN); } |
break; |
|
case 45: |
|
/* Line 1455 of yacc.c */ |
#line 472 "p-exp.y" |
{ write_exp_elt_opcode (OP_BOOL); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].lval); |
write_exp_elt_longcst ((LONGEST) (yyvsp[(1) - (1)].lval)); |
current_type = parse_type->builtin_bool; |
write_exp_elt_opcode (OP_BOOL); } |
break; |
|
case 46: |
|
/* Line 1455 of yacc.c */ |
#line 479 "p-exp.y" |
{ write_exp_elt_opcode (OP_BOOL); |
write_exp_elt_longcst ((LONGEST) yyvsp[0].lval); |
write_exp_elt_longcst ((LONGEST) (yyvsp[(1) - (1)].lval)); |
current_type = parse_type->builtin_bool; |
write_exp_elt_opcode (OP_BOOL); } |
break; |
|
case 47: |
|
/* Line 1455 of yacc.c */ |
#line 486 "p-exp.y" |
{ write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (yyvsp[0].typed_val_int.type); |
current_type = yyvsp[0].typed_val_int.type; |
write_exp_elt_longcst ((LONGEST)(yyvsp[0].typed_val_int.val)); |
write_exp_elt_type ((yyvsp[(1) - (1)].typed_val_int).type); |
current_type = (yyvsp[(1) - (1)].typed_val_int).type; |
write_exp_elt_longcst ((LONGEST)((yyvsp[(1) - (1)].typed_val_int).val)); |
write_exp_elt_opcode (OP_LONG); } |
break; |
|
case 48: |
|
/* Line 1455 of yacc.c */ |
#line 494 "p-exp.y" |
{ YYSTYPE val; |
parse_number (yyvsp[0].ssym.stoken.ptr, yyvsp[0].ssym.stoken.length, 0, &val); |
parse_number ((yyvsp[(1) - (1)].ssym).stoken.ptr, (yyvsp[(1) - (1)].ssym).stoken.length, 0, &val); |
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (val.typed_val_int.type); |
current_type = val.typed_val_int.type; |
1634,29 → 2068,37
break; |
|
case 49: |
|
/* Line 1455 of yacc.c */ |
#line 506 "p-exp.y" |
{ write_exp_elt_opcode (OP_DOUBLE); |
write_exp_elt_type (yyvsp[0].typed_val_float.type); |
current_type = yyvsp[0].typed_val_float.type; |
write_exp_elt_dblcst (yyvsp[0].typed_val_float.dval); |
write_exp_elt_type ((yyvsp[(1) - (1)].typed_val_float).type); |
current_type = (yyvsp[(1) - (1)].typed_val_float).type; |
write_exp_elt_dblcst ((yyvsp[(1) - (1)].typed_val_float).dval); |
write_exp_elt_opcode (OP_DOUBLE); } |
break; |
|
case 52: |
|
/* Line 1455 of yacc.c */ |
#line 521 "p-exp.y" |
{ write_exp_elt_opcode (OP_LONG); |
write_exp_elt_type (parse_type->builtin_int); |
CHECK_TYPEDEF (yyvsp[-1].tval); |
write_exp_elt_longcst ((LONGEST) TYPE_LENGTH (yyvsp[-1].tval)); |
CHECK_TYPEDEF ((yyvsp[(3) - (4)].tval)); |
write_exp_elt_longcst ((LONGEST) TYPE_LENGTH ((yyvsp[(3) - (4)].tval))); |
write_exp_elt_opcode (OP_LONG); } |
break; |
|
case 53: |
|
/* Line 1455 of yacc.c */ |
#line 529 "p-exp.y" |
{ write_exp_elt_opcode (UNOP_SIZEOF); } |
break; |
|
case 54: |
|
/* Line 1455 of yacc.c */ |
#line 532 "p-exp.y" |
{ /* C strings are converted into array constants with |
an explicit null byte added at the end. Thus |
1663,7 → 2105,7
the array upper bound is the string length. |
There is no such thing in C as a completely empty |
string. */ |
char *sp = yyvsp[0].sval.ptr; int count = yyvsp[0].sval.length; |
char *sp = (yyvsp[(1) - (1)].sval).ptr; int count = (yyvsp[(1) - (1)].sval).length; |
while (count-- > 0) |
{ |
write_exp_elt_opcode (OP_LONG); |
1677,11 → 2119,13
write_exp_elt_opcode (OP_LONG); |
write_exp_elt_opcode (OP_ARRAY); |
write_exp_elt_longcst ((LONGEST) 0); |
write_exp_elt_longcst ((LONGEST) (yyvsp[0].sval.length)); |
write_exp_elt_longcst ((LONGEST) ((yyvsp[(1) - (1)].sval).length)); |
write_exp_elt_opcode (OP_ARRAY); } |
break; |
|
case 55: |
|
/* Line 1455 of yacc.c */ |
#line 557 "p-exp.y" |
{ |
struct value * this_val; |
1708,42 → 2152,48
break; |
|
case 56: |
|
/* Line 1455 of yacc.c */ |
#line 584 "p-exp.y" |
{ |
if (yyvsp[0].ssym.sym != 0) |
yyval.bval = SYMBOL_BLOCK_VALUE (yyvsp[0].ssym.sym); |
if ((yyvsp[(1) - (1)].ssym).sym != 0) |
(yyval.bval) = SYMBOL_BLOCK_VALUE ((yyvsp[(1) - (1)].ssym).sym); |
else |
{ |
struct symtab *tem = |
lookup_symtab (copy_name (yyvsp[0].ssym.stoken)); |
lookup_symtab (copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
if (tem) |
yyval.bval = BLOCKVECTOR_BLOCK (BLOCKVECTOR (tem), STATIC_BLOCK); |
(yyval.bval) = BLOCKVECTOR_BLOCK (BLOCKVECTOR (tem), STATIC_BLOCK); |
else |
error ("No file or function \"%s\".", |
copy_name (yyvsp[0].ssym.stoken)); |
copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
} |
} |
break; |
|
case 57: |
|
/* Line 1455 of yacc.c */ |
#line 601 "p-exp.y" |
{ struct symbol *tem |
= lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval, |
= lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval), |
VAR_DOMAIN, (int *) NULL); |
if (!tem || SYMBOL_CLASS (tem) != LOC_BLOCK) |
error ("No function \"%s\" in specified context.", |
copy_name (yyvsp[0].sval)); |
yyval.bval = SYMBOL_BLOCK_VALUE (tem); } |
copy_name ((yyvsp[(3) - (3)].sval))); |
(yyval.bval) = SYMBOL_BLOCK_VALUE (tem); } |
break; |
|
case 58: |
|
/* Line 1455 of yacc.c */ |
#line 611 "p-exp.y" |
{ struct symbol *sym; |
sym = lookup_symbol (copy_name (yyvsp[0].sval), yyvsp[-2].bval, |
sym = lookup_symbol (copy_name ((yyvsp[(3) - (3)].sval)), (yyvsp[(1) - (3)].bval), |
VAR_DOMAIN, (int *) NULL); |
if (sym == 0) |
error ("No symbol \"%s\" in specified context.", |
copy_name (yyvsp[0].sval)); |
copy_name ((yyvsp[(3) - (3)].sval))); |
|
write_exp_elt_opcode (OP_VAR_VALUE); |
/* block_found is set by lookup_symbol. */ |
1753,9 → 2203,11
break; |
|
case 59: |
|
/* Line 1455 of yacc.c */ |
#line 626 "p-exp.y" |
{ |
struct type *type = yyvsp[-2].tval; |
struct type *type = (yyvsp[(1) - (3)].tval); |
if (TYPE_CODE (type) != TYPE_CODE_STRUCT |
&& TYPE_CODE (type) != TYPE_CODE_UNION) |
error ("`%s' is not defined as an aggregate type.", |
1763,15 → 2215,17
|
write_exp_elt_opcode (OP_SCOPE); |
write_exp_elt_type (type); |
write_exp_string (yyvsp[0].sval); |
write_exp_string ((yyvsp[(3) - (3)].sval)); |
write_exp_elt_opcode (OP_SCOPE); |
} |
break; |
|
case 61: |
|
/* Line 1455 of yacc.c */ |
#line 642 "p-exp.y" |
{ |
char *name = copy_name (yyvsp[0].sval); |
char *name = copy_name ((yyvsp[(2) - (2)].sval)); |
struct symbol *sym; |
struct minimal_symbol *msymbol; |
|
1798,8 → 2252,10
break; |
|
case 62: |
|
/* Line 1455 of yacc.c */ |
#line 670 "p-exp.y" |
{ struct symbol *sym = yyvsp[0].ssym.sym; |
{ struct symbol *sym = (yyvsp[(1) - (1)].ssym).sym; |
|
if (sym) |
{ |
1819,7 → 2275,7
write_exp_elt_sym (sym); |
write_exp_elt_opcode (OP_VAR_VALUE); |
current_type = sym->type; } |
else if (yyvsp[0].ssym.is_a_field_of_this) |
else if ((yyvsp[(1) - (1)].ssym).is_a_field_of_this) |
{ |
struct value * this_val; |
struct type * this_type; |
1833,7 → 2289,7
write_exp_elt_opcode (OP_THIS); |
write_exp_elt_opcode (OP_THIS); |
write_exp_elt_opcode (STRUCTOP_PTR); |
write_exp_string (yyvsp[0].ssym.stoken); |
write_exp_string ((yyvsp[(1) - (1)].ssym).stoken); |
write_exp_elt_opcode (STRUCTOP_PTR); |
/* we need type of this */ |
this_val = value_of_this (0); |
1844,7 → 2300,7
if (this_type) |
current_type = lookup_struct_elt_type ( |
this_type, |
copy_name (yyvsp[0].ssym.stoken), 0); |
copy_name ((yyvsp[(1) - (1)].ssym).stoken), 0); |
else |
current_type = NULL; |
} |
1851,7 → 2307,7
else |
{ |
struct minimal_symbol *msymbol; |
char *arg = copy_name (yyvsp[0].ssym.stoken); |
char *arg = copy_name ((yyvsp[(1) - (1)].ssym).stoken); |
|
msymbol = |
lookup_minimal_symbol (arg, NULL, NULL); |
1861,68 → 2317,83
error ("No symbol table is loaded. Use the \"file\" command."); |
else |
error ("No symbol \"%s\" in current context.", |
copy_name (yyvsp[0].ssym.stoken)); |
copy_name ((yyvsp[(1) - (1)].ssym).stoken)); |
} |
} |
break; |
|
case 65: |
|
/* Line 1455 of yacc.c */ |
#line 754 "p-exp.y" |
{ yyval.tval = lookup_pointer_type (yyvsp[0].tval); } |
{ (yyval.tval) = lookup_pointer_type ((yyvsp[(2) - (2)].tval)); } |
break; |
|
case 66: |
|
/* Line 1455 of yacc.c */ |
#line 756 "p-exp.y" |
{ yyval.tval = yyvsp[0].tsym.type; } |
{ (yyval.tval) = (yyvsp[(1) - (1)].tsym).type; } |
break; |
|
case 67: |
|
/* Line 1455 of yacc.c */ |
#line 758 "p-exp.y" |
{ yyval.tval = lookup_struct (copy_name (yyvsp[0].sval), |
{ (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)), |
expression_context_block); } |
break; |
|
case 68: |
|
/* Line 1455 of yacc.c */ |
#line 761 "p-exp.y" |
{ yyval.tval = lookup_struct (copy_name (yyvsp[0].sval), |
{ (yyval.tval) = lookup_struct (copy_name ((yyvsp[(2) - (2)].sval)), |
expression_context_block); } |
break; |
|
case 69: |
|
/* Line 1455 of yacc.c */ |
#line 768 "p-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
case 70: |
|
/* Line 1455 of yacc.c */ |
#line 769 "p-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
case 71: |
|
/* Line 1455 of yacc.c */ |
#line 770 "p-exp.y" |
{ yyval.sval = yyvsp[0].tsym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].tsym).stoken; } |
break; |
|
case 72: |
|
/* Line 1455 of yacc.c */ |
#line 771 "p-exp.y" |
{ yyval.sval = yyvsp[0].ssym.stoken; } |
{ (yyval.sval) = (yyvsp[(1) - (1)].ssym).stoken; } |
break; |
|
|
|
/* Line 1455 of yacc.c */ |
#line 2388 "p-exp.c.tmp" |
default: break; |
} |
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
|
/* Line 1000 of yacc.c. */ |
#line 1916 "p-exp.c.tmp" |
|
yyvsp -= yylen; |
yyssp -= yylen; |
|
|
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
|
*++yyvsp = yyval; |
|
|
/* Now `shift' the result of the reduction. Determine what state |
that goes to, based on the state we popped back to and the rule |
number reduced by. */ |
1946,66 → 2417,41
if (!yyerrstatus) |
{ |
++yynerrs; |
#if YYERROR_VERBOSE |
yyn = yypact[yystate]; |
|
if (YYPACT_NINF < yyn && yyn < YYLAST) |
{ |
YYSIZE_T yysize = 0; |
int yytype = YYTRANSLATE (yychar); |
const char* yyprefix; |
char *yymsg; |
int yyx; |
|
/* Start YYX at -YYN if negative to avoid negative indexes in |
YYCHECK. */ |
int yyxbegin = yyn < 0 ? -yyn : 0; |
|
/* Stay within bounds of both yycheck and yytname. */ |
int yychecklim = YYLAST - yyn; |
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
int yycount = 0; |
|
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
#if ! YYERROR_VERBOSE |
yyerror (YY_("syntax error")); |
#else |
{ |
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); |
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) |
{ |
YYSIZE_T yyalloc = 2 * yysize; |
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) |
yyalloc = YYSTACK_ALLOC_MAXIMUM; |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
yymsg = (char *) YYSTACK_ALLOC (yyalloc); |
if (yymsg) |
yymsg_alloc = yyalloc; |
else |
{ |
yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); |
yycount += 1; |
if (yycount == 5) |
{ |
yysize = 0; |
break; |
} |
yymsg = yymsgbuf; |
yymsg_alloc = sizeof yymsgbuf; |
} |
yysize += (sizeof ("syntax error, unexpected ") |
+ yystrlen (yytname[yytype])); |
yymsg = (char *) YYSTACK_ALLOC (yysize); |
if (yymsg != 0) |
{ |
char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); |
yyp = yystpcpy (yyp, yytname[yytype]); |
} |
|
if (yycount < 5) |
{ |
yyprefix = ", expecting "; |
for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) |
{ |
yyp = yystpcpy (yyp, yyprefix); |
yyp = yystpcpy (yyp, yytname[yyx]); |
yyprefix = " or "; |
} |
} |
yyerror (yymsg); |
YYSTACK_FREE (yymsg); |
} |
else |
yyerror ("syntax error; also virtual memory exhausted"); |
} |
else |
#endif /* YYERROR_VERBOSE */ |
yyerror ("syntax error"); |
if (0 < yysize && yysize <= yymsg_alloc) |
{ |
(void) yysyntax_error (yymsg, yystate, yychar); |
yyerror (yymsg); |
} |
else |
{ |
yyerror (YY_("syntax error")); |
if (yysize != 0) |
goto yyexhaustedlab; |
} |
} |
#endif |
} |
|
|
2016,25 → 2462,16
error, discard it. */ |
|
if (yychar <= YYEOF) |
{ |
/* If at end of input, pop the error token, |
then the rest of the stack, then return failure. */ |
{ |
/* Return failure if at end of input. */ |
if (yychar == YYEOF) |
for (;;) |
{ |
YYPOPSTACK; |
if (yyssp == yyss) |
YYABORT; |
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[*yyssp], yyvsp); |
} |
} |
YYABORT; |
} |
else |
{ |
YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); |
yydestruct (yytoken, &yylval); |
yydestruct ("Error: discarding", |
yytoken, &yylval); |
yychar = YYEMPTY; |
|
} |
} |
|
2048,15 → 2485,17
`---------------------------------------------------*/ |
yyerrorlab: |
|
#ifdef __GNUC__ |
/* Pacify GCC when the user code never invokes YYERROR and the label |
yyerrorlab therefore never appears in user code. */ |
if (0) |
/* Pacify compilers like GCC when the user code never invokes |
YYERROR and the label yyerrorlab therefore never appears in user |
code. */ |
if (/*CONSTCOND*/ 0) |
goto yyerrorlab; |
#endif |
|
yyvsp -= yylen; |
yyssp -= yylen; |
/* Do not reclaim the symbols of the rule which action triggered |
this YYERROR. */ |
YYPOPSTACK (yylen); |
yylen = 0; |
YY_STACK_PRINT (yyss, yyssp); |
yystate = *yyssp; |
goto yyerrlab1; |
|
2085,21 → 2524,20
if (yyssp == yyss) |
YYABORT; |
|
YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); |
yydestruct (yystos[yystate], yyvsp); |
YYPOPSTACK; |
|
yydestruct ("Error: popping", |
yystos[yystate], yyvsp); |
YYPOPSTACK (1); |
yystate = *yyssp; |
YY_STACK_PRINT (yyss, yyssp); |
} |
|
if (yyn == YYFINAL) |
YYACCEPT; |
*++yyvsp = yylval; |
|
YYDPRINTF ((stderr, "Shifting error token, ")); |
|
*++yyvsp = yylval; |
/* Shift the error token. */ |
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); |
|
|
yystate = yyn; |
goto yynewstate; |
|
2118,25 → 2556,45
yyresult = 1; |
goto yyreturn; |
|
#ifndef yyoverflow |
/*----------------------------------------------. |
| yyoverflowlab -- parser overflow comes here. | |
`----------------------------------------------*/ |
yyoverflowlab: |
yyerror ("parser stack overflow"); |
#if !defined(yyoverflow) || YYERROR_VERBOSE |
/*-------------------------------------------------. |
| yyexhaustedlab -- memory exhaustion comes here. | |
`-------------------------------------------------*/ |
yyexhaustedlab: |
yyerror (YY_("memory exhausted")); |
yyresult = 2; |
/* Fall through. */ |
#endif |
|
yyreturn: |
if (yychar != YYEMPTY) |
yydestruct ("Cleanup: discarding lookahead", |
yytoken, &yylval); |
/* Do not reclaim the symbols of the rule which action triggered |
this YYABORT or YYACCEPT. */ |
YYPOPSTACK (yylen); |
YY_STACK_PRINT (yyss, yyssp); |
while (yyssp != yyss) |
{ |
yydestruct ("Cleanup: popping", |
yystos[*yyssp], yyvsp); |
YYPOPSTACK (1); |
} |
#ifndef yyoverflow |
if (yyss != yyssa) |
YYSTACK_FREE (yyss); |
#endif |
return yyresult; |
#if YYERROR_VERBOSE |
if (yymsg != yymsgbuf) |
YYSTACK_FREE (yymsg); |
#endif |
/* Make sure YYID is used. */ |
return YYID (yyresult); |
} |
|
|
|
/* Line 1675 of yacc.c */ |
#line 785 "p-exp.y" |
|
|
3039,4 → 3497,3
error ("A %s in expression, near `%s'.", (msg ? msg : "error"), lexptr); |
} |
|
|