2013-05-30 52 views
1

我有一个场景,我需要使用两个多值属性实例化一个匿名模板。ANTLR字符串模板 - 如何使用两个多值属性指定模板?

以下是我从阅读文档尝试:

<mva_set1, mva_set2:{ x, y | Permit,IP,,<x>,,<y>,,,}; separator="\n"> 

为了说明问题的缘故,让我们假设我提供了 以下两个阵列的两个属性:

string[] input_1 = new string[] { "128.230.0.0/16", "10.20.0.0/16" }; 
string[] input_2 = new string[] { "131.230.0.0/16", "154.20.0.0/16" }; 

然后我使用以下两个函数调用应用属性:

template.Add("mva_set1", input_1); 
template.Add("mva_set2", input_2); 

结果让我感到惊讶。我以为我会得到四行,因为我期望为四对中的每一对实例化模板。但是,我得到的仅仅是两对实例化两对:

Permit IP 128.230.0.0/16 131.230.0.0/16 
Permit IP 10.20.0.0/16 154.20.0.0/16 

我是否正确使用了这个?有没有更好的替代方法来做到这一点?

回答

0

您获得的输出量是任何一个列表的最大大小。 Ter