The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Kaitai Struct запустил веб-версию компилятора"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от opennews (ok) on 28-Июл-16, 12:18 
Проект Kaitai Struct (http://kaitai.io/), позволяющий (https://www.opennet.ru/opennews/art.shtml?num=44226) описывать бинарные форматы структур данных с помощью декларативного языка, а затем исследовать файлы с помощью визуализатора и компилировать этим описания в готовый код парсера на поддерживаемых языках программирования, запустил (http://kaitai.io/repl) веб-версию компилятора. Веб-версия компилятора работает целиком на стороне клиента (т.е. исполняется на JavaScript, а не просто отсылает код на сервер и получает готовый результат).


Благодаря технологии ScalaJS, JavaScript-версия компилятора использует тот же код, что и обычный компилятор ksc, вызываемый из командной строки. В качестве примеров в веб-версии доступны разборы форматов DOS MZ .exe, Doom .wad, пакетов IPv4, изображений GIF и архивов ZIP. В репозитарии форматов (https://github.com/kaitai-io/kaitai_struct_formats) доступны еще около десятка примеров .ksy-описаний.

URL: http://kaitai.io/repl
Новость: http://www.opennet.ru/opennews/art.shtml?num=44864

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

2. "Kaitai Struct запустил веб-версию компилятора"  +2 +/
Сообщение от Аноним84701 on 28-Июл-16, 13:18 
> Проект Kaitai Struct, позволяющий описывать бинарные

Как было в той новости "ожидается поддержка С и С++", так  и осталось:
---
Supported languages

Official Kaitai Struct compiler now supports compiling .ksy into source modules for the following languages:

Java
JavaScript
Python
Ruby
---

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Kaitai Struct запустил веб-версию компилятора"  +4 +/
Сообщение от Аноним (??) on 28-Июл-16, 14:43 
Парсер бинарного формата не компилируется в сишку? Максимум ненужно.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от GreyCat (ok) on 28-Июл-16, 16:27 
Поддержка C++ - work in progress. В этой JavaScript-версии, опубликованной сегодня, она есть, как несложно убедиться, посмотрев на комбобокс выбора языков. На дня выпустим v0.4 - будет ровно такая же в обычном command line компиляторе. Другой вопрос, что там далеко не все еще работает: http://kaitai.io/ci/
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от _ (??) on 28-Июл-16, 17:12 
На сайте первые две строки в дроп-боксе выбора языка - cpp_stl и csharp  ...
А ты - Ъ?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от Аноним (??) on 28-Июл-16, 17:48 
Ты не понимаешь, работа с бинарными форматами в этом скриптовом крапе редкостное порево. Особенно в JavaScript. Хотя отдельные экспонаты умудряются парсить ни много ни мало а OSM'ный PBF на стороне клиента, из яваскрипта. И даже типизированные массивы эмулируют для гуано (в основном микрософтовского) которое их не умеет.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Kaitai Struct запустил веб-версию компилятора"  –1 +/
Сообщение от Аноним (??) on 28-Июл-16, 17:53 
> Поддержка C++ - work in progress.

А просто си - не того, чтобы везде подцепить можно было? Ruby и прочий JS это замечательно, но они - вещи в себе. Их interop с остальными равен нулю. На JS не больно сделаешь библиотеку котрую потом из Ruby вызвать можно будет. Плюсы в этом плане не сильно лучше - на плюсах сделать реюзабельную из других мест библиотеку не то чтобы совсем невозможно, но - изврат и все-равно потребует использовать наружу сишные интерфейсы, потому что с плюсовыми в этом плане не задалось.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от Аноним84701 on 28-Июл-16, 18:23 
>> поддержка С и С++
> На сайте первые две строки в дроп-боксе выбора языка - cpp_stl и csharp
> csharp

Казалось бы, причем тут шарп?
Хотя да, мне интересно было бы для сей, а вот про плюсы с той новости я скопипастил возможно зря.


> На сайте первые две строки в дроп-боксе выбора языка

На главном сайте:
---     
Language-neutral: write once, use in all supported languages:

Java
JavaScript
Python
Ruby
---
А копипастил вообще с  гитхаба (с которого и брал информацию, т.к. мало ли что может не попасть на основной):
https://github.com/kaitai-io/kaitai_struct

> А ты - Ъ?

Не, куда уж мне до си-шарповиков (

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от Аноним (??) on 28-Июл-16, 20:32 
C++ STD для моральных  … реверсеров!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от GreyCat (ok) on 28-Июл-16, 20:51 
>> Поддержка C++ - work in progress.
> А просто си - не того, чтобы везде подцепить можно было? Ruby
> и прочий JS это замечательно, но они - вещи в себе.
> Их interop с остальными равен нулю.

Да проблема в том, что с C interop по таким вопросам тоже сам по себе никому не нужен. Ну, будет какая-то штука, которая умеет парсить входящий поток и раскладывать по struct'ам в памяти - дальше-то что? Для подключения такого в любой другой язык по сути придется вручную переописать эти структуры на этом языке - а какой в этом смысл, если суть проекта как раз в том, чтобы не делать этого, а получить готовый результат на любом языке?

Кроме того, с чистым C на самом деле есть несколько принципиальных вопросов: например, там будет совсем ручной memory management (и разным потребителям он нужен иногда сильно разный), или, например, это будет первый язык, который не укладывается в концепцию "все можно сделать выражением".

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Kaitai Struct запустил веб-версию компилятора"  +/
Сообщение от angra (ok) on 28-Июл-16, 22:37 
В таком "скриптовом крапе" как perl существуют встроенные pack/unpack. В других скриптовых языках они есть в виде либ, в том числе и для js. Так что особых проблем с парсингом бинарных форматов нет. Ну по крайней мере для тех, кто смог осилить эти функции.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру