对一个Java程序进行简单的词法分析。。
展开全部
/** 反射机制,请求数据保存、更新操作 */
public int requestUpdate(String methName, Object[] param) {
int success = 0;
if (methName == null || param == null)
return success;
ArrayList<Method> methods = dataOperMethodsMap.get(methName
.toLowerCase());
if (methods == null || methods.isEmpty())
return success;
Method invokemethod = null;
if (methods.size() == 1) {
invokemethod = methods.get(0);
} else {
for (Method method : methods) {
Class[] paramclasses = method.getParameterTypes();
// 寻找方法参数长运绝度相同
if (paramclasses.length != param.length)
continue;
// 长度匹配后,匹配每个参数旁物姿的类型
invokemethod = method;
for (int i = 0; i < paramclasses.length; i++) {
if (!paramclasses[i].isInstance(param[i]))
invokemethod = null;
}
}
}
if (invokemethod == null)
return success;
/蚂槐/ 执行操作
try {
System.out.println(invokemethod.getName());
invokemethod.invoke(updateAccess, param);
success = 1;
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return success;
}
public int requestUpdate(String methName, Object[] param) {
int success = 0;
if (methName == null || param == null)
return success;
ArrayList<Method> methods = dataOperMethodsMap.get(methName
.toLowerCase());
if (methods == null || methods.isEmpty())
return success;
Method invokemethod = null;
if (methods.size() == 1) {
invokemethod = methods.get(0);
} else {
for (Method method : methods) {
Class[] paramclasses = method.getParameterTypes();
// 寻找方法参数长运绝度相同
if (paramclasses.length != param.length)
continue;
// 长度匹配后,匹配每个参数旁物姿的类型
invokemethod = method;
for (int i = 0; i < paramclasses.length; i++) {
if (!paramclasses[i].isInstance(param[i]))
invokemethod = null;
}
}
}
if (invokemethod == null)
return success;
/蚂槐/ 执行操作
try {
System.out.println(invokemethod.getName());
invokemethod.invoke(updateAccess, param);
success = 1;
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return success;
}
展开全部
pulic int get(int i){
return i+1;
}
public 关键郑指族字喊弊
int 类型;
i 变量名;
set 方逗激法名
+ 运算符
return i+1;
}
public 关键郑指族字喊弊
int 类型;
i 变量名;
set 方逗激法名
+ 运算符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这不是什么词法分析,java的反射机制就是做这个的。你到网上搜一下java 反射,很多例子的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有一个JJT项目,是做词法分析的,可以试用一下,我是没搞清楚。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询