Find Jobs
Hire Freelancers

Build me a compiler

€10-30 EUR

W trakcie realizacji
Opublikowano ponad 4 lata temu

€10-30 EUR

Płatne przy odbiorze
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!
Identyfikator projektu: 22313672

Informację o projekcie

8 ofert
Zdalny projekt
Aktywny 4 lata temu

Szukasz sposobu na zarobienie pieniędzy?

Korzyści ze składania ofert na Freelancer.com

Ustal budżet i ramy czasowe
Otrzymuj wynagrodzenie za swoją pracę
Przedstaw swoją propozycję
Rejestracja i składanie ofert jest bezpłatne
8 freelancerzy składają oferty o średniej wysokości €91 EUR dla tej pracy
Awatar Użytkownika
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 7 dni
4,9 (20 opinii)
4,5
4,5
Awatar Użytkownika
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 5 dni
4,4 (62 opinii)
4,7
4,7
Awatar Użytkownika
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 2 dni
5,0 (29 opinii)
4,3
4,3
Awatar Użytkownika
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 5 dni
5,0 (6 opinii)
3,2
3,2
Awatar Użytkownika
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 e for your project, you will get good result. looking forward to work with you. thanks regards
€20 EUR w 1 dzień
4,9 (3 opinii)
3,3
3,3
Awatar Użytkownika
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 prove my top skill. Please check my reviews that received from clients. Please contact me if you want to finish it instantly. Thank you for having a look.
€100 EUR w 1 dzień
5,0 (5 opinii)
3,0
3,0

O kliencie

Flaga CZECH REPUBLIC
ostrava, Czech Republic
5,0
2
Zweryfikowana metoda płatności
Członek od lis 13, 2019

Weryfikacja Klienta

Inne pracę od tego klienta

A cube with OpenGL
€10-20 EUR
Dziękujemy! Przesłaliśmy Ci e-mailem link do odebrania darmowego bonusu.
Coś poszło nie tak podczas wysyłania wiadomości e-mail. Proszę spróbować ponownie.
Zarejestrowani Użytkownicy Całkowita Liczba Opublikowanych Projektów
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Wczytywanie podglądu
Udzielono pozwolenia na Geolokalizację.
Twoja sesja logowania wygasła i zostałeś wylogowany. Proszę, zalogować się ponownie.