求助 写一个java 表达式编译器

程序员猪佩琪 2009-08-14 09:32:05
如题:有一个Map型的context,里面存有上下文中的值,

Student s = new Student();
Teacher t = new Teacher();
t.setStudent(s);
Map m = new HashMap();
m.put("stu",s);
m.put("tea",t);

context.put("stu",s),
context.put("tea",t),
context.put("map1",);

给定一个表达式:"abc\"ddd".indexOf(2)+map1.stu.getStudent()
把这个表达式翻译成为代码: "abc\"ddd".indexOf(2)+(Student)((Teacher)((java.util.Map) context.get("map1")).get("stu")).getStudent().

表达式要求:能支持类导航(比如说是map类型的,你去调用get方法,如果是一般类,则调用
方法调用
java的运算符,+,-,*,/ !=等
大家给点思路吧,怎样把表达式,翻译成为代码了!
...全文
143 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gesanri 2009-08-15
  • 打赏
  • 举报
回复
先把《编译原理》这门课学好再来考虑这个问题吧
czp3158 2009-08-15
  • 打赏
  • 举报
回复
帮顶里……
Toanso 2009-08-15
  • 打赏
  • 举报
回复
帮顶
java1109 2009-08-15
  • 打赏
  • 举报
回复
up
bea_java 2009-08-14
  • 打赏
  • 举报
回复
顶起。。。
landyshouguo 2009-08-14
  • 打赏
  • 举报
回复
帮顶了,http://www.yeeyan.com/articles/view/benhuoer/44086
healer_kx 2009-08-14
  • 打赏
  • 举报
回复
ANTLR,建议你看看,现在它已经算是最nb的一款 语法解析工具了,而且是Java写的。
程序员猪佩琪 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]
ANTLR,建议你看看,现在它已经算是最nb的一款 语法解析工具了,而且是Java写的。
[/Quote]
给个思路吧,我看了网上说用什么词法,语法分析!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧