My request is to make a compiler that transforms an expression like "add(5, mul(3, sub(10, pow(6, 4))))", in a equivalent mathematical expression, "5 + 3 * (10 - 6^4)" in this case.
Functions: add(x, y) (addition), sub(x, y) (subtraction), mul(x, y) (multiplication), div(x, y) (division), mod(x, y) (modulo), pow (x, y) (power), where x, y are operands
Operand: a number conforming to the following grammar:
<number> ::= <optional-sign> <digit-sequence> <optional-fraction> <optional-exponent>
<optional-sign> ::= "" | "+" | "-"
<optional-fraction> ::= "" | "." <digit-sequence>
<optional-exponent> ::= "" | "e" <optional-sign> <digit-sequence>
<digit-sequence> ::= <digit> | <digit> <digit-sequence>
<digit> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Other elements: brackets ( and ) and whitespace (in the evaluated expression, there can be any number of whitespace characters, like spaces)
Desired result: A mathematical expression equivalent to the specified composition of functions. Make sure the order of operation application stays the same. Unnecessary brackets should be omitted.
The operator precedence has three levels, from lowest to highest:
1: +, -
2: *, /, %
3: ^
The ^ operator is right associative, other operators are left associative.
Implementation language: C, C++ or Java
For lexical analysis you must regular expressions and finite automata; for syntax analysis, use context-free grammars and precedence-based parsing, NO RECURSION!
ALL PARTS OF THE CODE MUST BE LARGELY COMMENTED!
I am very proficient in c and c++. I have 18 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environment. I made many great projects using c++, for example, I made the tools which could convert java codes into c++ scripts, of course garbage collection included, this was very similar to a compiler, and was very complex. I also made our own mobile game using c++, I can show you the demo of client, if you like. I am very proficient in java also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
Hello Sir/Mam
I have 5+ years of experience and strong knowledge about programming languages
Java
HTML
CSS
Wordpress
C++
C
C#
Android
MYSQL
PHP
So you don’t need to worry about third party client. I am very much experienced and assure you that I’ll provide quality work. The project bid is negotiable and P.M for sample work. Thanks
Hello, sir.
I have read your project details carefully.
I am very interesting with your project.
I have ever wrote C programe for the job just because of interesting.
So i have already the solution.
Hello.
This is Hibba an expert in Java Application Development and Compiler Construction.
I have developer 50+ compilers based in python, Java and C++. Most if my expertise involves Java with proper Regex, Theory of automata and automated modelings.
You may contact for further details.
Hi there,thank you for your posting project. I have checked your project and I am very interested in your proejct. I can complete your proejct within a short time. Thank you.
Hello Sir/madam
we would like to inform you that it's not a one person working on this project we got a team.
I am expecting that we can submit earlier.
Relevant Skills and Experience
We gotta strong team of skilled people. People have expertise in software development, competitive programming, web development, amazing coders. It's gonna be wonderful project.