[ First ]  [ Previous ]  [ Next ]  [ Last ]  [ Manuals ]


Expression Syntax

This section defines the debugger's expression syntax. Each listing follows several conventions to make it easier to read:

For example,


  <name>    identifier
   <qualified-name>

defines the syntax of a name. A name can be either an identifier or a qualified name; the latter is a syntactic category described in another of the definitions listed in this section.

The following list describes expression syntax:


  <name>    identifier
   <qualified-name>

  <typedef-name>    identifier

  <class-name>    identifier

  <qualified-name>    <qualified-class-name>::<name>

  <qualified-class-name>    <class-name>
   <class-name>::<qualified-class-name>

  <complete-class-name>    <qualified-class-name>
   :: <qualified-class-name>

  <qualified-type-name>    <typedef-name>
   <class-name>::<qualified-type-name>

  <simple-type-name>    <complete-class-name>
   <qualified-type-name>
   char
   short
   int
   long
   signed
   unsigned
   float
   double
   void

  <ptr-operator>    *
   &

  <type-specifier>    <simple-type-name>

  <type-specifier-list>    <type-specifier> <type-specifier-list>(opt)

  <abstract-declarator>    <ptr-operator> <abstract-declarator>(opt)
   (<abstract-declarator>)

  <type-name>    <type-specifier-list> <abstract-declarator>(opt)

  <literal>    integer-constant
   character-constant
   floating-constant
   string-literal

  <register-name>    ¨PC
   ¨SP
   ¨Dnumber
   ¨Anumber

  <register-name>    ¨Rnumber
   ¨FPnumber
   ¨RTOC

  <register-name>    $PC
   $SP
   $RTOC
   $Anumber

NOTE

Registers not targeted by the processor do not display random values for unknown register expressions.

NOTE

For specifying a register, the range for number depends on the number of registers available on the target processor.

  <primary-expression>    <literal>
   this
   ::identifier
   ::<qualified-name>
   (<expression>)
   <name>
   <register-name>

  <postfix-expression>    <primary-expression>
   <postfix-expression>[<expression>]
   <postfix-expression>.<name>
   <postfix-expression>-><name>

  <unary-operator>    *
   &
   +
   -
   !
   ~

  <unary-expression>    <postfix-expression>
   <unary-operator> <cast-expression>
   sizeof <unary-expression>
   sizeof(<type-name>)

  <cast-expression>    <unary-expression>
   (<type-name>)<cast-expression>

  <multiplicative-expression>    <cast-expression>
   <multiplicative-expression> * <cast-expression>
   <multiplicative-expression> / <cast-expression>
   <multiplicative-expression> % <cast-expression>

  <additive-expression>    <multiplicative-expression>
   <additive-expression> + <multiplicative-expression>
   <additive-expression> - <multiplicative-expression>

  <shift-expression>    <additive-expression>
   <shift-expression> << <additive-expression>
   <shift-expression> >> <additive-expression>

  <relational-expression>    <shift-expression>
   <relational-expression> < <shift-expression>
   <relational-expression> > <shift-expression>
   <relational-expression> <= <shift-expression>
   <relational-expression> >= <shift-expression>

  <equality-expression>    <relational-expression>
   <equality-expression> == <relational-expression>
   <equality-expression> != <relational-expression>

  <and-expression>    <equality-expression>
   <and-expression> & <equality-expression>

  <exclusive-or-expression>    <and-expression>
   <exclusive-or-expression> ^ <and-expression>

  <inclusive-or-expression>    <exclusive-or-expression>
   <inclusive-or-expression> | <exclusive-or-expression>

  <logical-and-expression>    <inclusive-or-expression>
   <logical-and-expression> && <inclusive-or-expression>

  <logical-or-expression>    <logical-and-expression>
   <logical-or-expression> || <logical-and-expression>

  <conditional-expression>    <logical-or-expression>
   <logical-or-expression> ? <expression> : <conditional-expression>

  <expression>    <conditional-expression>

[ First ]  [ Previous ]  [ Next ]  [ Last ]  [ Manuals ]

Visit the Metrowerks website at: http://www.metrowerks.com
For assistance contact Metrowerks Technical Support at: cw_support@metrowerks.com
Copyright © 2000, Metrowerks Corp. All rights reserved.

Last updated: August 17, 2000