2012-01-18 2 views
0

EDIT: Решено, спасибо всем!Автоматическая компиляция между языками

То, что я хотел бы сделать простым языком, - это ввести пользовательский ввод с одного языка программирования, преобразовать его в другой язык программирования и скомпилировать его автоматически.

Например (упрощенный и не точно, что я хочу сделать, но вдоль подобных линий):

1) Написать питон скрипт, USERDATA = raw_input («бла-бла-бла, пример, пример»)

2) если userData == «blah blah blah, example, example», сериализуйте в текстовый файл с именем «example.cpp» и поместите некоторые предопределенные данные, которые основаны на вводе пользователя (написаны в форме C++, хотя представлены как строка в скрипте python). Для упрощения эти предопределенные данные будут называться предопределенными данными.

3) Степень predeterminedData будет по существу соиЬ < < «это другое сообщение, прежде чем» < < End L,;

4) Компилятор (g ++/gcc) компилирует это автоматически, а общая структура программы вызывает вновь созданный исполняемый файл.

Если кто-то может помочь мне указать на тему/темы, которые я должен прочитать, чтобы иметь возможность достичь этого - если это возможно - это было бы фантастически.

Редактировать: Я сделал классическую ошибку, я думаю. В попытке не быть обвиненным в том, чтобы просить других людей выполнить мою «домашнюю работу» для меня, я был слишком расплывчатым и, следовательно, вводил в заблуждение. Спасибо за ответы до сих пор, но, возможно, теперь я должен быть более конкретным. Это не особенно python или C++, но я объясню ниже. Прошу прощения за то, что я не был более откровенным.

То, что я на самом деле хочу достичь, довольно простое. Я хочу использовать пользовательский ввод с одного языка программирования (python, C++, java) и создать сценарий Lilypond, который будет автоматически компилировать и создавать midi-файл.

Так, например:

1) пользователю предлагается ввести в алфавитном порядке ряд примечаний: например, «C», затем «E», затем «F», так далее и т. Д.

2) Эти «примечание» проверяется оператором цикла управления и строка создаются в сценарии заверешен и сериализованные в файл, который совместит с компилятором (example.ly)

3) Этот файл автоматически компилируется компилятором Lilypond и создает файл midi (example.midi)

4) Позже в программе этот пример.midi можно вызвать и воспроизвести из-за этого процесса создания. Он не существовал бы до этого создания.

+1

Я не уверен, что полностью понимаю, чего вы хотите, но зачем вам это нужно? Чего вы пытаетесь достичь? –

+0

Итак, вы просто ищете процессор шаблонов, который берет исходный код на C++ и заменяет некоторые магические последовательности «заменяющими переменными» на строку из программы python? Компилятор C++ может сделать это сам по себе, см. Параметр компилятора '-D' для определения макроса из командной строки. –

+0

Насколько глубоко ваш энтузиазм? –

ответ

5

Мне кажется, что вы просто хотите написать пользовательский интерфейс для интерактивного создания файлов lilypond.

Я не вижу, что все это связано с компиляцией. Ваш скрипт python должен будет записать файл в лилийской нотации, а впоследствии ваш скрипт должен вызвать lilypond в этом файле (например, с помощью os.system).Вы даже можете пропустить запись в файл и просто подключить вывод к stdin, который также может читать lilypond.

+0

Теперь, когда вы так говорите, это именно то, что я пытаюсь сделать. Как я могу узнать, как «вызвать lilypond» с помощью os.system или использовать stdin? Есть ли какие-нибудь подсказки относительно того, где я мог бы это прочитать? – JayCarter

+0

Извинения, прочтите на нем. Теперь работает как шарм. Большое вам спасибо pmr и всем остальным за их вклад. – JayCarter

+0

@JayCarter Nice. Не забудьте принять ответы, и вы можете прочитать FAQ, чтобы лучше узнать StackOverflow. Вероятно, вы вернетесь с большим количеством вопросов. – pmr

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