C++ Language Manager

`amb(sum,int,int,...)

refers to all functions named sum in the current environment that take at least two parameters, the ￿rst two being integers.

Also note that, in the examples above, the syntax relates to the use of `amb to specify a location. You can also use `amb as a part of a quali￿ed name to identify objects or variables. An example of the syntax is:

\module\`amb( function name,parameter type,...)\ object name

The language manager implements overload resolution rules appropriate to C++ to resolve ambiguity. Overload resolution considers built-in type conversions but not user-de￿ned type conversions.

The debugger does not execute implicit references to user-de￿ned type-conversion operators.

The debugger supports standard operator syntax for user-de￿ned operators (this does not include the new, delete , ++,--,(), ->, and ->*operators). For example, if the user de￿nes a + operator for a class, the command

print a + b

on two operands of that class invokes the user-de￿ned + operator. However, you can also invoke the operator (including the new, delete , ++,--,(), ->, and ->*operators ) using the following member function call syntax:

print a.operator+(b)

Syntax

declaration

A 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

B-8 Language Managers