2012-01-05 3 views
3

Существует некоторая строка с кодом:Как проверить программно, что исходный компилятор?

std::string code = "int main(){return 0;}" 

Какой инструмент можно использовать, чтобы проверить, является ли действительный код C++? Нечто похожее на

checker.checkCPPcode(code) which returns bool 

было бы здорово.

+8

Компилятор, что еще? –

+3

Почему бы не записать его во временный файл, запустить на нем обычный компилятор C++ и проверить код возврата? –

+0

[Библиотека для синтаксического анализа исходного кода C/C++] (http://stackoverflow.com/questions/2318347/library-to-parse-c-c-source-code) – Sjoerd

ответ

6

Компилятор C++, такой как g++, выполнит эту работу. Запишите строку во временный файл, запустите g++ -fsyntax-only на файл и действуйте на возвращаемое значение.

2

Вы можете вставить содержимое строки во вновь созданный файл cpp и запустить g++ или любой другой компилятор, который вы можете использовать на нем, и проверить выход компилятора.

+0

Почему downvote? –

Смежные вопросы