[antlr-interest] Parsing Success with ANTLR!!!!

Mark Bednarczyk voytechs at yahoo.com
Fri Jun 10 19:14:38 PDT 2005


I can parse any of my NPL files with ANTLR grammar. The amazing thing is,
the portion I added to the parser is only:

 wc -l npl.g
    423 npl.g

423 lines of code - wow! For a language that contains all of Java syntax +
extra network related statements like (header, field) IPv4, IPv6 and MAC
address data types, arrays on fields and headers, property statement, print
statement, link statement, assert, enum and even I forget what else.

Ofcourse this isn't finished yet, I will be tweaking things for a while and
I still have to build the tree walkers, the linker and interpreter. But a
major milestone reached.

As a comparison the manual parser and lexer were (~12,515 lines of code):

     90 AndOpNode.java
    235 ArrayDimensionNode.java
    107 ArrayReferenceNode.java
    102 AssertFailure.java
    147 AssertStatement.java
     81 AssignMinusOpNode.java
    138 AssignOpNode.java
     81 AssignPlusOpNode.java
     43 BooleanNode.java
     72 BreakLoopSignal.java
    112 BreakStatement.java
    229 BufferStatement.java
    108 CommaOpNode.java
     88 ConstReferenceNode.java
    171 Context.java
     61 ContinueLoopSignal.java
     87 ContinueStatement.java
     69 DivideOpNode.java
     96 EnumReferenceNode.java
    119 EnumStatement.java
     69 ExpException.java
     63 ExpInternalException.java
    332 ExpressionParser.java
    124 ExpStringTokenizer.java
    404 ExpTokenizer.java
     91 ExpToken.java
    143 FamilyStatement.java
    423 FieldStatement.java
    190 FilterStatement.java
    177 FlowentryStatement.java
    164 FlowkeyStatement.java
    153 FlowpairStatement.java
    175 ForStatement.java
     84 GreaterEqualsThanOpNode.java
     84 GreaterThanOpNode.java
    208 HeaderStatement.java
     63 IdentifierSyntaxError.java
    125 IfStatement.java
     99 IntNodeImpl.java
     43 IntNode.java
    106 InverseOpNode.java
     84 LessEqualsThanOpNode.java
     84 LessThanOpNode.java
    211 LinkAssertion.java
    166 LinkStatement.java
    211 LocalStatement.java
     93 LogicalAndOpNode.java
    108 LogicalEqualOpNode.java
     93 LogicalNotEqualOpNode.java
    112 LogicalNotOpNode.java
     84 LogicalOrOpNode.java
     87 MinusOpNode.java
     81 ModOpNode.java
     85 MultiplyOpNode.java
     83 MutableArrayReferenceNode.java
     43 MutableIntNode.java
     41 MutableNode.java
    127 MutableReferenceNode.java
     43 MutableStringNode.java
    116 NodeException.java
     69 Node.java
    104 NodeList.java
     61 NoMoreTokensException.java
     48 NoOpNode.java
     60 OperandException.java
    450 OpNode.java
     90 OrOpNode.java
    125 PlusOpNode.java
     81 PowOpNode.java
    166 PrintStatement.java
    154 ProcessStatement.java
     69 PropertyResizeSignal.java
    166 PropertyStatement.java
    195 ReferenceNode.java
     61 SnaplenLimitException.java
    142 StatementContainer.java
    280 StatementNode.java
    583 StatementParser.java
     98 StringNodeImpl.java
     43 StringNode.java
    495 SymTable.java
    129 SyntaxError.java
    471 Token.java
    309 TokenList.java
    274 VariableStatement.java
     43 Visitable.java
    133 Visitor.java
    108 WhileStatement.java
  12515 total

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20050610/aff2f6be/attachment.html


More information about the antlr-interest mailing list