Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I developed an application using lex & yacc. It is a simple calculator which does add, subtract and multiplication. The program is compiled correctly without errors. But when i execute the program, it is giving 0 as output irrespective of input and the result is always 0.000. For example if the input is 3.2 + 4.5, the output is 0.000. I dont know where i have gone wrong. The programs are given below.
I would recommend printing out all the arguments to make sure you are parsing them as you intended it too. It has been a long time since I have used lex and yacc but I am guessing you are getting 0's for all your values with that code.
This should probably be moved to the programming forum....
Ok... so I decided to do some debugging for you because I was bored...
You are setting yyval correctly. You are also correctly determining which operation you are doing. However, $1 is always 0.0000 when your number case comes up so this is where your problem lies. I'll leave the rest to you.