The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+2 votes
101 views
How are constants recogonized by the lexical analyser like

interger 1234     floating point  1234.56789

and what happens when we have -1234  and -1234.56789 how many tokens are generated in this case(each of this case) ?

is "-" considered seperately ?
asked in Compiler Design by Active (3.4k points) | 101 views
–1
"-" is considered as a separate token, it is an unary operator. Rest of the constant is taken as a single token, i.e. -1234.56789 are two token: "-" and "1234.56789".
0
but - is not unary  --  and -= are unary right ?
but i too think it will generate as it is valid operator
+3
If "-" is a separate token in "-2.5" then we need not have a representation for negative numbers :)

1 Answer

0 votes
For generating the number of tokens, following are considered as one:

1.) Keywords: if, else, while, do, for, float,..,etc.

2.) Identifiers: letter followed by letter or underscore or digit.

3.) Constant(consider any real number): 4,10,5.5

4.) Punctuation Symbols: :, ;, , , {, }, [, ], ?

5.) Operators: Relational Operator-> < , >, <=, >=, ==, etc

                       Logical Operator-> &&, ||, !

                       Bitwise Operatore-> &, |, ^(Ex-OR), <<, >>

6.) Few more: +, ++, -, --,/,*,+=,-=,=,etc

Now according to your question integer 1234 will be considered as ONE TOKEN (refer constant discussed above)

and , -1234.56789 will be considered as two token( first for - sign and  second for 1234.56789)

Hope, this clears your doubt and help in understanding of the concept.
answered by (153 points)


Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

40,845 questions
47,507 answers
145,768 comments
62,262 users