java - java中字符串的语法匹配

标签 java string syntax string-matching

在 Java 中,我想编写一个语法匹配器。

对于 string1:a = a+b,和 string2:c = c+d,syntax_matcher(string1,string2) = true。

但是,if string1 : a > 0; string2 : c == 0, syntax_matcher(string1,string2) = false。

任何想法,如何有效地做到这一点?

最佳答案

也许你可以做的是编写一个 Stack 并且对于第一个语句从左到右移动,将 VAR 之类的值推送到 ASSIGNMENT,然后是 VAR,然后是 OPERATOR,然后是 VAR

一旦你有了它,你就可以开始第二个表达式并从右到左移动,每次比较你有的和你从堆栈中弹出的。

您正在阅读的内容与弹出的内容之间的任何不匹配都会产生 false

关于java - java中字符串的语法匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14891498/

相关文章:

string - 如何交换字符串中的两个字符?

c# - 如何将此字符串转换为日期?

mysql - 尝试重命名数据库时,为什么 mySQL 不给出 "{"的错误?

java - 套接字异常 : Connection reset - Client Jersey 2. 0 Java 7

java - 是否有机会连接到主机中的在线数据库?

c - 字符串显示为奇怪的符号

php - ParseError语法错误,文件意外结束

syntax - 如何在 CoffeeScript fat-arrow 回调中引用实际的 'this' ?

java - 使用文本字段输入预设值,然后打印出该值

java - 当 RSS 订阅号为零时向网站添加文本