Разбор кода Java с помощью Java
Можно ли проанализировать некоторый код Java с помощью регулярного выражения?
Итак, скажем, я хочу списокint
переменные из этого:
int abc1 = 1;
int abc2 = abc1 + 1;
int abd3 = abc1 + abc2;
И я хочу поместить это вArrayList
.
Так что-то вроде этого:
private void parse(String s){
List<List<String>> variables = new ArrayList<List<String>>();
list.add(new ArrayList<String>);//var type
list.add(new ArrayList<String>);//var name
list.add(new ArrayList<String>);//var data
Pattern p = Pattern.compile();//This is what I want
Matcher m = p.matcher(s);
while(m.find()){
String match = m.group();
Pattern p2 = Pattern.compile();//Here as well
Matcher m2 = p.matcher(s);
while(m2.find()){
for(int i = 0; i < m.groupCount()){
//add the variables to the lists
}
}
}
}
Я спрашиваю, что регулярное выражение может решить эту задачу?
Причина всего этого заключается в том, что пользователь может немного контролировать приложение, используя немного кода (кстати, Android-приложение)
Если не рекомендуется использовать регулярные выражения, то какой анализатор мне следует использовать?