subject

The c language allows you to define new names for existing types using typedefs. here is some example code that uses typedefs:
typedef int money;
int x;
money y;
typedef money dollars;
dollars z;
x = 10;
y = x; // ok because x and y are of type int
z = y; // ok because y and z are of type int
the first typedef defines money to be a synonym for int. any declaration that follows this typedef can use money instead of int. the second typedef defines dollars to be a synonym for money, which makes it a synonym for int. any declaration that follows this typedef can use dollars instead of int.
typedefs can also be used with struct types:
struct pair {
int x;
int y;
};
typedef struct pair point;
point p;
a typedef can occur anywhere that a variable declaration (local or global) can occur. the usual c scoping rules apply to the names in typedefs. note that typedef int money; is considered to be a declaration of the name money and that both money x; and typedef money dollars; are considered to be uses of the name money.
question 2
now consider the name-analysis phase of the compiler. note that, in addition to the usual errors for multiply-defined names and for uses of undefined names, the name analyzer must enforce the following rules:
the declaration typedef t xxx; is an error if t is not a built-in type (e. g., int, bool) or a struct type (in which case t will be of the form: struct ttt) or a new type defined by a previous typedef in the current or an enclosing scope.
the declaration typedef t xxx; is an error if xxx has already been declared in the current scope (as a variable, function, parameter, or new type).
a variable, function, or parameter can only be declared to be of type t if t is either a built-in type or a new type defined by a previous typedef in the current or an enclosing scope. (a variable can still be declared to be of type struct ttt as before.)
answer each of the following questions:
what information should be stored with each name in the symbol table?
what should be done to process a typedef: typedef t xxx; ?
what should be done to process a declaration of a variable, function, or parameter named xxx and declared to be of type t?
what should be done to process the use of a name xxx in a statement?
illustrate your answer by showing the entries that would be in the symbol table after processing the following declarations:
struct monthdayyear {
int month;
int day;
int year;
};
typedef struct monthdayyear date;
date today;
typedef int dollars;
dollars salary;
typedef dollars moredollars;
moredollars md;
int d;

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 22:50
Assume the existence of a bankaccount class. define a derived class, savingsaccount that contains two instance variables: the first a double, named interestrate, and the second an integer named interesttype. the value of the interesttype variable can be 1 for simple interest and 2 for compound interest. there is also a constructor that accepts two parameters: a double that is used to initialize the interestrate variable, and a string that you may assume will contain either "simple", or "compound", and which should be used to initialize the interesttype variable appropriately. there should also be a pair of functions getinterestrate and getinteresttype that return the values of the corresponding data members (as double and int respectively).
Answers: 2
question
Computers and Technology, 23.06.2019 05:30
Sally is editing her science report about living things. she needs to copy a paragraph from her original report. order the steps sally needs to do to copy the text to her new document.
Answers: 1
question
Computers and Technology, 23.06.2019 21:00
Which task uses a simple parameter?
Answers: 1
question
Computers and Technology, 23.06.2019 21:30
Enzo’s balance sheet for the month of july is shown. enzo’s balance sheet (july 2013) assets liabilities cash $600 credit card $4,000 investments $500 student loan $2,500 house $120,000 mortgage $80,000 car $6,000 car loan $2,000 total $127,100 total $88,500 which expression finds enzo’s net worth?
Answers: 1
You know the right answer?
The c language allows you to define new names for existing types using typedefs. here is some exampl...
Questions
question
Mathematics, 07.03.2020 00:56
Questions on the website: 13722367