Чтение фрагментов кода из пользовательского ввода (случай переключения Java)
Я работаю над небольшим проектом по теме моего компилятора и был назначен в разделе switch-case(java). Вот как это происходит: пользователь вводит фрагмент кода из оператора switch-case, и моя программа должна иметь возможность чтобы определить, имеет ли код пользователя правильный синтаксис или он работает. Это довольно сложно объяснить, вот пример: пользователь вводит
int try=1;
switch (try){
case 1:
System.out.print("try=1 /or anything/");
break;
case 2:
System.out.print("try=2 /or anything/");
break;
}
}
и моя программа должна вывести результат из оператора case, в данном случае, что "try=1" должно быть выходным. Содержание case не имеет большого значения, но мой код должен быть в состоянии использовать это как вывод MY И он должен быть в состоянии сказать, если введенный пользователем код не работает или имеет некоторую синтаксическую ошибку. Например, если переменная не была инициализирована, мой вывод должен быть "Идентификатор не инициализирован" или что-то в этом роде. Есть ли какая-нибудь библиотека или что-то, что могло бы помочь мне в этом? Я пытался кодировать это вручную и пытался токенизировать входные данные, но это действительно сложно и очень долго, поскольку возможности бесконечны, потому что пользователь мог бы также ввести небольшую операцию перед использованием переменной в случай переключения. В настоящее время я пытаюсь понять ANTLR, который предложил мой профессор. Если бы кто-то из вас мог дать мне какую-либо ссылку или помочь с этим, я был бы очень благодарен. Я не прошу коды, просто немного Помощь в том, что искать, так как я действительно не знаю, что искать. Извините, если это s - это очень длинный пост и довольно интересный вопрос для некоторых из вас (я не очень хорош в этом), но большое спасибо за чтение. Любая помощь приветствуется:D