Парсер на С++
Парсер, который принимает на вход текстовый файл, содержащий один корневой узел, и построить в памяти древовидное представление данных.
Каждому узлу назначить целочисленный 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 , или тут на сайте, буду рад Вам помочь.
Current freelance projects in the category C & C++
Consultation and audit of the current project on Odoo 19 Community EditionWe are looking for an Odoo Developer — a solo developer with experience in Odoo 19 Community Edition, including using Claude Code. We need a specialist who has successfully implemented projects in Odoo and practical experience in development using Claude Code. Important: we only… C & C++, Javascript and Typescript ∙ 1 day 5 hours back ∙ 5 proposals |
Creation or refinement of firmware and logic for three autonomous LoRa stations based on ESP32.
113 USD
Creation or refinement of firmware and logic for three autonomous LoRa stations based on ESP32. The devices must set up a Wi-Fi access point, serve a local site via a browser (HTTP), receive text and images within a radius of 5-10 km (plus or minus), store data (preferably on… C & C++, C# ∙ 1 day 7 hours back ∙ 3 proposals |
Software development for Arduino (RF modules 3–7.5 GHz, automatic frequency scanning)It is necessary to develop a system on Arduino for the automatic search of active analog video signals and the automatic tuning of the transmitter to the detected frequency.It is planned to use three separate transceiver modules: 3000–4200 MHz; 4900–6000 MHz; 6100–7500… C & C++, Embedded Systems & Microcontrollers ∙ 2 days 6 hours back ∙ 4 proposals |
Black Ukraine (RP-project on base MTA)
1164 USD
|
Residential Proxy Infrastructure EngineerWe're building a residential proxy network from scratch — fully owned, no third-party suppliers. We need one exceptional network engineer to build the entire technical foundation. What you'll build: - Android background SDK that routes proxy traffic through user devices… C & C++, DevOps ∙ 8 days 2 hours back ∙ 13 proposals |