W Toku

Build me a compiler

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, use regular expressions and finite automata; for syntax analysis, use context-free grammars and precedence-based parsing

ALL PARTS OF THE CODE MUST BE LARGELY COMMENTED!

Umiejętności: Programowanie C, Programowanie w C++, Java, Architektura oprogramowania, Testowanie oprogramowania

Zobacz więcej: sample java program finding highest lowest score, using neural networks build compiler, program reads numbers text file sorts highest lowest, highest lowest pips currencies, highest lowest excel, excel formula highest lowest values, close highest lowest low amibroker, sort highest lowest zen cart, mt4 highest lowest low, highest lowest mt4 indicator, help me build up my mailchimp email lists, i need a professional website build for my business i offer outsourcing solutions for foreigners, wordpress tutor to help me build & edit my existing site, wordpress tutor to help me build edit my existing site, build up my website, cancel my order for freelancer, custom writing my order hum1010, essay my family best writing higher levels, i need to cancal my order freelancer, satellite view of my house right now

O pracodawcy:
( 2 ocen ) ostrava, Czech Republic

Numer ID Projektu: #22313672

8 freelancerów złożyło ofertę na kwotę €91 do tego projektu

schoudhary1553

Hello Sir, I am expert who understands the value of time. I pride myself in my attention to detail. I am very hard working and aim to deliver in less time than quoted. I want to make you, my employer happy without cha Więcej

€100 EUR w ciągu 2 dni
(73 Oceny)
6.4
Mdaurich

Hello! I can do the job in a short period of time, I would like to be part of the development. I await contact.

€45 EUR w ciągu 7 dni
(20 Oceny)
4.5
VnNorthStar

Hi I’m ready for the project I read your specifications and I’m sure I can do it perfectly by Java Please give me a chance to work for you

€70 EUR w ciągu 5 dni
(62 Oceny)
4.7
egg

Hello, sir. I have read your project details and thinking about the solution. I can do the project for u. I will finish it ASAP once you chose me. I will do it using C or C++. Thanks.

€50 EUR w ciągu 2 dni
(29 Oceny)
4.3
nirmalsarswat

Hi, I have developed my own language called Drew with JVM. I am pretty sure I can get your task done. I can use either C or C++ as well. You want a transpiled langauge or a machine compile language?

€333 EUR w ciągu 5 dni
(6 Oceny)
3.2
ITtechsol

Hello! I am very interested in your post project. While I read your description carefully, I was excited with feeling that I would be able to satisfy for your requirements in this job. We can negotiate on price/Budget Więcej

€20 EUR w ciągu 1 dnia
(3 Oceny)
3.3
Artemrodin1987

Hello, I have just read your requirement very careful and I am sure that I can finish it for 1 hours because I am a professional C/C++ expert with strong algorithm. So I think it is a important opportunity for me to pr Więcej

€100 EUR w ciągu 1 dnia
(5 Oceny)
3.0
kachowdri

Would be willing to do it cheaply if I can use Scala instead of C, C++ or Java. [login to view URL]

€10 EUR w ciągu 7 dni
(0 Oceny)
0.0