当前位置:  技术问答>java相关

*******哪位大虾有对表达式进行解析的类?******

    来源: 互联网  发布时间:2015-08-27

    本文导语:  比如说求下列字串的值:    (a+b)*5-7 | 有一个现成的,非常好用:JavaCC(JavaCC Java Compiler Compiler),纯JAVA的词法分析生成器,功能十分强大,可以用来编写编译器的。 可以免费下载使用:http://ww...

比如说求下列字串的值:
   (a+b)*5-7

|
有一个现成的,非常好用:JavaCC(JavaCC Java Compiler Compiler),纯JAVA的词法分析生成器,功能十分强大,可以用来编写编译器的。
可以免费下载使用:http://www.webgain.com/products/java_cc/

|
自己写一个吧,不难。
设两个栈,一个操作符栈,一个操作数栈。
基本方法如下:‘(’的优先级最低。‘+’,‘-’略高,‘×’,‘÷’最高。
最先遇到的操作符,操作数都进各自的栈。当新遇到操作符时,与栈顶的操作苻比较优先级,如果新操作符大,就继续进栈,否则栈顶的操作苻出栈,同时从操作数栈出两个操作数,运算后的结果再进操作数栈,同时新操作符进栈。
‘)’的出来比较特别,遇到时要一步一步计算(就是取两个数,用栈顶操作符运算,结果入栈,同时操作符出栈),直到遇到‘(’操作符。然后‘(”出栈,并且抛弃’)‘苻。简单的大致就如此了。
更复杂的表达式需要学习编译原理中的词法分析

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 各位大虾,小弟有一事不明,请大虾赐教!
  • 在solaris下如何卸载wu-ftpd???????????????????????谢谢大虾!!!!!!!!!!
  • 请大虾们谈谈linux和unix的异同吧
  • 请大虾,详细介绍一下JavaBean的写法,和调用过程!
  • 对LDAP有研究的大虾请进,见者有分
  • 超级新手菜鸟请问各位大虾!
  • 各位大虾,一个初学者该怎样开始学习java?
  • 请问各位大虾,什么地方有Jsp学习资料?
  • 哪位大虾知道weblogic与websphere的差别?
  • 大虾救命!APACHE没有理睬JSP?!!!
  • 请问各位大虾,如何把一个String赋值给一个Char[]??
  • 大虾救命啊!!!50分!!!
  • 哪位大虾指点一下哪里有weblogic下载啊???
  • 请问各位unix大虾,哪有免费的unix下载?
  • 大虾救命!APACHE没有理睬JSP?!!! iis7站长之家
  • 在下初学java,请各位大虾推荐几个java学习网站吧!
  • 请各位大虾介绍几个好一点的linux论坛,谢谢!
  • 大虾救命,dos下面怎么输入中文?
  • 请问大虾们,如何学习linux?
  • session里面可以放整型数吗?大虾请指教!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3