HPlogo HP/DDE Debugger User's Guide: HP 9000 Series 700/800 Computers > Appendix B Language Managers

C Language Manager

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Glossary

 » Index

Type Name

lang_c

Title

ANSI C

Description

In general, this manager supports the C expressions and declarations described in the C language reference manual for your system, plus the debugging extensions listed under "Syntax."

Syntax

  • declaration

    Declaration of a type or variable, restricted to the following syntax:

    • type_ref id,...

    • type_ref id[bounds]

    • typedef type_ref id

      type_ref:    char
      wchar_t
      int
      long
      long long
      short
      float
      double
      long double
      void
      struct id
      union id
      enum id
      type_ref *
      typeof(identifier)
      unsigned
      signed
      id
  • expression

    A C expression constructed from the comments, operators, identifiers, constants, type cast, and extensions listed in this section.

    Comments

    /* comment */

    Operators

    Arithmetic

    +, -, *, /, %

    Increment/decrement

    ++,

    Relational

    <, <=, >, >=, ==, !=

    Logical

    &&, ||, !

    Bitwise logical

    &, ^, |, ~

    Shift

    <<, &>&>

    Assignment

    =, +=, -=, *=, /=, %=, |=, ^=, &=, &>&>=, <<

    Address

    *, &

    Conditional

    ?:

    Sequential evaluation

    ,

    Size

    sizeof

    Type conversion

    (type)

    Array indexing

    [,]

    Member reference

    ->, .

    Grouping

    ()

    Identifiers

    Identifiers are case sensitive and start with a dollar sign ($), an underscore (_), or a letter (ISO Latin-1 decimal values 65-90 and 97-122); subsequent characters can be a dollar sign ($), an underscore (_), a letter, or a digit (0-9). Use of the dollar sign is an extension to C.

    Constants

    Title not available (Syntax )

    Integer

    digits[L|l|U|u] (decimal)

    0xdigits[L|l|U|u] (hexadecimal)

    0digits[L|l|U|u] (octal)

    For example, 0xFu specifies an unsigned hexadecimal number.

    For specifying a long long, any combination of two L's is acceptable (LL, ll, Ll, lL).[L|l|U|u]

    Float

    digits.digits[{Ee}[+|-]digits][F|f|L|l]

    digits.[{E|e}[+|-]digits][F|f|L|l]

    .digits[{E|e}[+|-]digits][F|f|L|l]

    For example, 2.0e4L specifies a number of type long double.

    String

    "string"
    '
    character' '\nnn'

    Wide string

    L"string" L'character' L'\nnn'

    Type Cast

    (type_name)expression

    Debugger Extensions

    location\identifierName identifier visible from the scope location
    `va(address) Virtual address address
    `long(expression) Cast the resulting value of expression to type long
    `longlong(expr) Cast the resulting value of expression to type long long
    `short(expression) Cast the resulting value of expression to type short
    typeof(identifier) The type of identifier; can be used to refer to
    anonymous types
    Array slices In place of an array subscript, you
    can give a range of elements:
     * Lower bound to upper bound
     expression..expressionGiven range
     *..expressionLower bound to given expression
     expression..*Given expression to
    upper bound
     Example: print table [*, 100..110]

  • language_type

    {lang_c|c|cc}

  • manager_option

    None.

Startup File

None.

Related Managers

None.