用ANTLR解析ASN1

时间:2015-09-24 14:11:18

标签: parsing antlr antlr3 asn.1

我有正式语言课程的作业。老师要求我们使用词法生成器为ASN1 DER编码文件开发词法分析器。我选择了ANTLR 3.5.2,因为词法分析器基本上是一个下推自动机,而不是FSA。我知道ASN1因长度字段而对上下文敏感,因此我们的老师给出了512字节的可解析ASN1文件长度的上限。即使计数是有限的,我仍然坚持它,因为我知道使用无上下文语法计算的唯一方法是使用带有n个规则的语法,如果我必须计算n个字节。此外,512字节只是一个上限,因此在长度字段中可以有1到512之间的每个数字,这意味着我必须计算该范围内的每个数字。因此我在语法中需要512 ^ 2个规则,这似乎太大了。你知道一种更聪明的方法来执行这项任务吗?

0 个答案:

没有答案