OberonCore
https://forum.oberoncore.ru/

Определение языка (программирования)
https://forum.oberoncore.ru/viewtopic.php?f=27&t=4970
Страница 1 из 1

Автор:  Madzi [ Воскресенье, 09 Февраль, 2014 19:55 ]
Заголовок сообщения:  Определение языка (программирования)

Приветствую всех.

У меня вопрос к уважаемому сообществу, каким способом можно определить язык программирования на котором написан код ?
Бывают ситуации, когда в интернете попадаются фрагменты кода (сниппеты) без указания языка, на котором они написаны. Хотелось бы иметь возможность (программу) для определения языка.

Заранее спасибо.

Автор:  Валерий Лаптев [ Воскресенье, 09 Февраль, 2014 20:19 ]
Заголовок сообщения:  Re: Определение языка (программирования)

Практически нереально - все наследники С имеют практически на 80-90% совпадающий синтаксис.
Требует исследования.

Автор:  Роман М. [ Понедельник, 16 Июнь, 2014 14:15 ]
Заголовок сообщения:  Re: Определение языка (программирования)

Madzi писал(а):
Приветствую всех.

У меня вопрос к уважаемому сообществу, каким способом можно определить язык программирования на котором написан код ?
Бывают ситуации, когда в интернете попадаются фрагменты кода (сниппеты) без указания языка, на котором они написаны. Хотелось бы иметь возможность (программу) для определения языка.

Заранее спасибо.
Нужно учесть, что способ Copy-Paste как таковой весьма опасен. Нередко бывает, что код не покрывает всех случаев и часто решает частную задачу.


Валерий Лаптев писал(а):
Практически нереально - все наследники С имеют практически на 80-90% совпадающий синтаксис.
Требует исследования.

Эвристически определить можно, я думаю. Определять нужно по набору фактов. Может, достаточно определить к какому семейству языков относится.
Но у каждого языка своя семантика, поэтому это сложная задача.

Автор:  Валерий Лаптев [ Понедельник, 16 Июнь, 2014 22:08 ]
Заголовок сообщения:  Re: Определение языка (программирования)

Для определения языка надо или большой объем кода, или в небольшом куске - характерные особенности именно этого языка.
Экзотические языки определяются сразу (APL, например).
Паскаль-ветка от С-ветки тоже определяется просто - хотя бы одно присваивание или объявление переменной.
А дальше нужны более мелкие особенности.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/