Во-первых, я прошу прощения за мой плохой английский, это не мой естественный язык.
Итак, я пытаюсь проанализировать DSL-код на C ++, чтобы потом можно было скомпилировать его с G ++ или GCC. Мне не нужна оценка выражений, таблицы переменных или что-то подобное. Мне просто нужно скопировать их в полученный файл. В качестве примера:
start:
integer x
read x
write x + 2
[]
этот код должен превратиться в:
#include <iostream>
int main(void){
int x;
std::cin>>x;
std::cout<<x + 2;
return 0; }
и он должен прочитать целое число и записать его + 2 в консоль ..
Я также хотел бы, чтобы заявление if какое-то время … делать … для и делать … в то время …
Это возможно с ANTLR4? Я хотел бы использовать его, и если это возможно, можете ли вы перенаправить меня на хороший учебник?
Я сделал что-то похожее с flex и bison … но не получилось так, как я хотел.
Большое спасибо, мужчины! Ты обалденный!
Задача ещё не решена.
Других решений пока нет …