-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathREADME
41 lines (31 loc) · 1.35 KB
/
README
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
39
40
41
From the golang-nuts mailing list (with few modifications):
--== intro ==--
Hi. I just want to announce a simple port of the lemon parser generator
to the Go programming language.
Shortly: Lemon is a LALR(1) parser generator, similar to yacc, but is
much simpler. Also it has few neat features, like:
- It is thread-safe and re-entrant
- Tokenizer calls the parser, instead of parser calls tokenizer
(the opposite of yacc/bison)
- Uses no global variables, allows to run multiple parsers
simultaneously
- Auto-generation of token symbol constants (yacc/bison requires a
list)
- No need to count grammar symbols, they can be named (nice names
instead of $1 $2 $3)
- etc..
The Lemon is developed as a part of the sqlite project. The generator code is
quite horrible, but it works and I believe it is very solid. Of course it has
few drawbacks, but.. :)
Lemon homepage:
http://www.hwaci.com/sw/lemon
--== golemon specific info ==--
I don't know whether I will support the golemon or not, but at least if someone
likes lemon (like me), he/she has a decent (I hope so) base for his/her
experiments now.
I've successfully compiled and executed the very beginning of this
tutorial:
http://freshmeat.net/articles/lemon-parser-generator-tutorial
See also 'examples' directory.
Hopefully, I will have enough enthusiasm to fix some of the obvious
issues (see TODO).