我如何用Java解析这种语言?

时间:2015-02-04 18:12:35

标签: java xml parsing lexical-analysis

对于模糊的标题感到抱歉,我不知道如何用一行描述问题。

基本上我正在尝试为语言类似于XML的语言构建一个简单的解析器(手动),如下所示:

<my_language check="somestring">
    *strings here*
</my_language>

这里的字符串意味着里面可能有任何东西(但很可能是来自另一种语言的代码)。 完整代码的示例可能是这样的:

<my_language check="House">
    House myHouse = new House();
     house.setAdress("somewhere");
</my_language>

<my_language check="House/Garage">
    Garage myGarage = new Garage();
    garage.setCar("some car");
</my_language>

语言的意义现在并不真正相关。我需要的是一种解析这个的方法,使用递归下降解析器(仅使用语法分析器和词法分析器)。

语法分析器的语法并不是真正的问题......我正在努力做的是找到我需要的令牌的词法分析器。

我最近为类似于XML的语言创建了另一个与此类似的解析器,并且我使用StreamTokenizer作为词法分析器。在这种情况下,虽然我不知道如何使用它。

使用StreamTokenizer,我可以轻松拆分“my_language check =”House“&gt;”等部分到令牌,但后来​​我需要将代码中的代码作为一个整体(保持格式完整),我不知道我该怎么做。基本上我需要整个代码块而不是逐字逐句,但我知道StreamTokenizer不能让我这样做。

那么,我应该采用什么方法?

0 个答案:

没有答案
相关问题