Starting from:

$35

Lab #5 Solution

Write a lex program to remove the comments, extra white spaces/tabs/newlines etc., and tokenize all valid C program constructs, such as integer constants, floating point constants, character/string constants, identifiers, Keywords, operators like Arithmetic, Relational, Assignment, Conditional, bitwise etc., and install the necessary information of the tokens identifiers and constants, into a symbol table.

The symbol table should maintain at least the following information for the identifiers and constants.

    • token name

    • lexeme

    • value (if any)

For example, for a C statement int marks=95;, these values should be,

    • token name is id1

    • lexeme is marks

    • value is 95

Note: There may be many identifiers in your source program. You may identify each of them by giving

unique token names (like id1 , id2 ,    ....

The input is a C program whose name is given as command line argument, and output should be a) contents of symbol table b) all other token, displayed on the screen.



































8

More products