Парсер на С++
Парсер, который принимает на вход текстовый файл, содержащий один корневой узел, и построить в памяти древовидное представление данных.
Каждому узлу назначить целочисленный id. Затем слить данные в текстовый
файл такой струтуры: (id узла, id вышестоящего узла, имя узла, значение в
узле)
В случае наличия ошибок формата данных, выдавать сообщение вида "Неверный формат данных" и завершать работу.
Пример иерархической структуры:
shape = {
type = "tetrahedron"
vertices = {
point = { x = "1" y = "0" z = "0"
}
point= { x = "0" y = "1" z = "0" }
point ={ x = "0" y = "0" z = "1" }
point = { x = "1" y = "1" z = "1" }
}
color = { r = "0xFF" g = "0x00" b = "0x80" alpha = "0x80" }a="25"
}
Пример выходного файла:
(1, 0, shape, )
(2, 1, type, tetrahedron)
(3, 1, vertices, )
(4, 3, point, )
(5, 4, x, 1)
(6, 4, y, 0)
(7, 4, z, 0)
(8, 3, point, )
(9, 8, x, 0)
(10, 8, y, 1)
(11, 8, z, 0)
(12, 3, point, )
(13, 12, x, 0)
(14, 12, y, 0)
(15, 12, z, 1)
(16, 3, point, )
(17, 16, x, 1)
(18, 16, y, 1)
(19, 16, z, 1)
(20, 1, color, )
(21, 20, r, 0xFF)
(22, 20, g, 0x00)
(23, 20, b, 0x80)
(24, 20, alpha, 0x80)
(25, 1, a, 25)
Условие: Есть текстовый формат для хранения произвольных данных, имеющих иерархическую структуру. Синтаксис файла такой:
имя_узла – строка из букв, цифр, и символа '_', начинающаяся не с цифры
значение_узла – произвольная строка в двойных кавычках, не содержащая символов перевода строки и двойных кавычек
узел ::= имя_узла '=' (значение_узла | список )
список = '{' узел [узел ... ] '}'
-
104 Здравствуйте! В данный момент как раз работаю над библиотекой парсерных комбинаторов, основанной на STL и libicu (для поддержки Юникода), который, однако, легко убрать с небольшим количеством правок. Специфичных для ОС расширений не использую. В качестве системы сборки использую CMake, но могу и meson или visual studio.
Правда, опыт парсинга не особо велик, хотя и есть: irc и ini можно распарсить регулярными выражениями, а для аргументов командной строки (внедрял их в irc бота) использовал pegjs.
Могу ответить в telegram @handicraftsman или по email [email protected]
-
274 24 3 сделаю на С++. Есть опыт парсеров на плюсах. Учусь на втором курсе. На первом учили с/с++. Буду рад сотрудничать!
-
461 41 1 Зделаю, пишите мне в телеграмм @mars_d , или тут на сайте, буду рад Вам помочь.
Aktualne zlecenia dla freelancerów w kategorii C i C++
Konsultacja i audyt bieżącego projektu na Odoo 19 Community EditionSzukamy programisty Odoo — samodzielnego dewelopera z doświadczeniem w pracy z Odoo 19 Community Edition, w tym z wykorzystaniem Claude Code. Potrzebujemy specjalisty, który ma zrealizowane projekty w Odoo oraz praktyczne doświadczenie w programowaniu z użyciem Claude Code.… C i C++, Javascript & Typescript ∙ 1 dzień 5 godzin temu ∙ 5 ofert |
Tworzenie lub modyfikacja oprogramowania i logiki dla trzech autonomicznych stacji LoRa opartych na ESP32.
410 PLN
tworzenie lub modyfikacja oprogramowania i logiki dla trzech autonomicznych stacji LoRa opartych na ESP32. Urządzenia powinny uruchamiać punkt dostępu Wi-Fi, udostępniać lokalną stronę przez przeglądarkę (HTTP), odbierać tekst i obrazy w promieniu 5-10 km (plus minus),… C i C++, C# ∙ 1 dzień 7 godzin temu ∙ 3 oferty |
Rozwój oprogramowania dla Arduino (moduły RF 3–7,5 GHz, automatyczne skanowanie częstotliwości)Należy opracować system na Arduino do automatycznego wyszukiwania aktywnego analogowego sygnału wideo oraz automatycznego dostosowywania nadajnika do wykrytej częstotliwości.Planowane jest wykorzystanie trzech oddzielnych modułów odbiorczo-nadajnych: 3000–4200 MHz; 4900–6000… C i C++, Systemy wbudowane i mikrokontrolery ∙ 2 dni 6 godzin temu ∙ 4 oferty |
Czarna Ukraina (projekt RP na bazie MTA)
4233 PLN
|
Inżynier infrastruktury proxy mieszkalnychBudujemy sieć proxy dla użytkowników od podstaw — w pełni własną, bez dostawców zewnętrznych. Potrzebujemy jednego wyjątkowego inżyniera sieci, który zbuduje całą podstawę techniczną. Co zbudujesz: - SDK w tle dla Androida, które kieruje ruch proxy przez urządzenia użytkowników… C i C++, DevOps ∙ 8 dni 2 godziny temu ∙ 13 ofert |