Добрый день.
Мне требуется написать
- лексический анализатор(?) (таблица с разбором входного кода на токены готова.)
- синтаксический анализатор (построение дерева разбора по таблице с токенами, проверка конструкций на синтаксические ошибки)
- семантический анализатор - проверить дерево на наличие необъявленных, но используемых переменных
- Транслятор взять синтаксически и семантически корректное дерево и перевести код с С++ на аналогичный код Python
Входным языком выбран урезанный синтаксис кода на C++.
Пример входного языка (который полностью удовлетворяет требования по урезанному синтаксису входного языка).
Код:
|
int var_a = +1;
int var_b = -2;
int var_c = 65;
if(var_a != var_b){
if (var_a < var_b) {
var_c = var_a + var_b;
var_a++;
cout << var_a << "\n";
}else {
var_b++;
cout << var_b << "\n";
}
}
if(var_a == var_b){
cout << var_b << "\n";
} |
Я прикреплю к ТЗ свой лексический анализатор, который можно будет дополнить и на его основе готовить оставшийся функционал, он выдает массив всех токенов, найденных по тексту входного кода.
Сроки, бюджет, общие требования:- Сроки: до 29.08.2022, могу растянуть, (мне уже не горит).
- Бюджет: до 10000, если требуется больше - напишите, пожалуйста, что влияет на такое ценообразование(у меня запрашивали от 20 до 50 000 рублей без всяких объяснений по принципу "Я так оценил").
Я могу согласиться и на большую сумму, просто дайте подробное объяснение Вашей предложенной цене.
- Тип работы: Удаленно.
- Тип отчетности: Периодически пишите о статусе работы(хотя бы 1 раз в 2 недели).
- Способ связи: email, zoom, discord, ЛС на данном форуме
- Не использовать уже готовые библиотеки - парсеры и анализаторы, каждый анализатор и синтезатор должен быть написан вручную.
- Не использовать серверный NodeJS, php и другие бэкенд технологии. Веб-приложение (HTML + JS) должно работать сразу, без установки/настройки ПО.
- Комментировать по возможности код.
- Выводить на экран промежуточные результаты(Можете воспользоваться различными библиотеками, которые облегчают только вывод результатов в верстку, но не более того.)
Оплата работы
Предлагаю 2 варианта схем работы-оплаты:
- Вы сделали 1 из 3 анализаторов/транслятора, присылаете мне обфусцированный проект, я проверяю его в рамках урезанного синтаксиса (Объявление новых переменных, вложенность конструкций максимум 2 if() {} else {}), если все хорошо - я оплачиваю 1/3 от согласованной суммы, высылаете исходники сделанного функционала.
- Вы сделали 1 из 3 анализаторов/транслятора, Я с Вами созваниваюсь в удобное для нас время, Вы показываете результат работы программы.
Мы тестируем его на правильность работы. Если все хорошо, направляю Вам 1/3 от суммы. Вы направляете исходники.(Рекомендую)
Предоплата нежелательна. Я описал 2 варианта схемы сверху, которые дадут нам равные гарантии.
Внимание:
Ознакомьтесь, пожалуйста, с текстом заказа.
Решите для себя, готовы ли Вы выполнять этот заказ. Многие исполнители, с которыми я работал по этому заданию, спустя неделю отказывались выполнять заказ из-за сложности реализации.
Какие знания Вам необходимы/пригодятся:
- Алгоритмы и структуры данных: Бинарные деревья, деревья, Стек.
- Ванильный JS (Если хотите, можете подключить jQuery и любые вспомогательные библиотеки только для вывода промежуточных результатов, не более того).
- ООП