-
Notifications
You must be signed in to change notification settings - Fork 0
/
About_ANTLR4
38 lines (31 loc) · 1.89 KB
/
About_ANTLR4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
ANTLR v4 is a powerful parser generator that you can use to read, process,
execute, or translate structured text such as program source code, data, and
configuration files. That means you can use it to build all sorts of useful tools
like legacy code converters, domain-specific language interpreters, Java to
C# translators, wiki renderers, XML/HTML parsers, DNA pattern recognizers,
bytecode assemblers, language pretty printers, and of course full compilers.
ANTLR is an LL parser (Left-to-right, Leftmost derivation) is a top-down parser for
a subset of context-free languages. It parses the input from Left to right,
performing Leftmost derivation of the sentence.
It simplifies a lot of steps that makes creating language recognizer and parsers easier and convenient .
ANTLR4 provides two ways of traversing syntax tree:
Listener (default):
The listener pattern is an event driven method of traversing the syntax tree for each parser rule type.
Provides an interface containing entry and exit event methods for each parser rule.
Visitor:
This allows the parse tree traversal to also be controlled by the user.
The nodes(for parser rules) in the parse tree are traversed or visited explicitly
using the visit methods provided.
The Listener and Visitor patterns both have their own pros and cons
DEBUGGING GRAMMAR:
we can also debug the grammar itself, all it takes is an input file
and the generated lexer and parser code files
It's a parser generator toolkit written in Java.
ANLTR is widely used in the software development industry for
developing programming languages, query languages, and pattern matching.
It generates the parser code from its own grammar
ANTLR can generate parser code in 10 different programming languages
We can inspect generated 'Parse Tree' through 2 ways:
1. using cmd line: grun Hello r -tree
2. using GUI, grun Hello r -gui
then we have enter the expression or raw text,