gitextract_pa2oc77t/ ├── .gitignore ├── README.md ├── ch01/ │ ├── 1.1/ │ │ └── 1.1.md │ ├── 1.3/ │ │ └── 1.3.md │ └── 1.6/ │ └── 1.6.md ├── ch02/ │ ├── 2.2/ │ │ └── 2.2.md │ ├── 2.3/ │ │ └── 2.3.md │ ├── 2.4/ │ │ ├── 2.4.1.1.c │ │ ├── 2.4.1.2.c │ │ ├── 2.4.1.3.c │ │ └── 2.4.md │ ├── 2.6/ │ │ └── 2.6.md │ ├── 2.8/ │ │ └── 2.8.md │ └── key-point/ │ └── key-point.md ├── ch03/ │ ├── 3.1/ │ │ └── 3.1.md │ ├── 3.3/ │ │ ├── 3.3.md │ │ └── assets/ │ │ ├── 3.3.5-4-1.graphml │ │ ├── 3.3.5-4-2.graphml │ │ ├── 3.3.5-4-3.graphml │ │ ├── 3.3.5-4-4.graphml │ │ ├── 3.3.5-4.graphml │ │ ├── 3.3.5-5-1.graphml │ │ ├── 3.3.5-5-2.graphml │ │ ├── 3.3.5-5-3.graphml │ │ ├── 3.3.5-5-4.graphml │ │ └── 3.3.5-5.graphml │ ├── 3.4/ │ │ ├── 3.4.md │ │ ├── assets/ │ │ │ ├── 3.4.1-1-dfa.graphml │ │ │ ├── 3.4.1-1-nfa.graphml │ │ │ ├── 3.4.1-1.graphml │ │ │ ├── 3.4.1-2.graphml │ │ │ ├── 3.4.1-3-nfa.graphml │ │ │ ├── 3.4.1-3.graphml │ │ │ └── 3.4.1-4.graphml │ │ └── src/ │ │ ├── failure-function.js │ │ └── kmp.js │ ├── 3.5/ │ │ ├── 3.5.md │ │ └── src/ │ │ ├── lex.l │ │ ├── lex2.l │ │ └── lex3.l │ ├── 3.6/ │ │ ├── 3.6.md │ │ └── assets/ │ │ └── 3.6.1.graphml │ ├── 3.7/ │ │ ├── 3.7.md │ │ └── assets/ │ │ ├── 3.7.1-1.graphml │ │ ├── 3.7.1-2.graphml │ │ ├── 3.7.1-3.graphml │ │ ├── 3.7.3-4-dfa.graphml │ │ └── 3.7.3-4-nfa.graphml │ ├── 3.8/ │ │ ├── 3.8.md │ │ └── assets/ │ │ ├── 3.8.1-dfa.graphml │ │ ├── 3.8.1-nfa.graphml │ │ ├── 3.8.2-nfa.graphml │ │ ├── 3.8.3-1.graphml │ │ └── 3.8.3-2.graphml │ ├── 3.9/ │ │ ├── 3.9.md │ │ └── assets/ │ │ ├── 3.9.2-1-1.graphml │ │ ├── 3.9.2-1-2.graphml │ │ └── 3.9.2-1-dfa.graphml │ └── key-point/ │ └── key-point.md ├── ch04/ │ ├── 4.2/ │ │ ├── 4.2.md │ │ └── assets/ │ │ └── 4.2.1.graphml │ ├── 4.3/ │ │ └── 4.3.md │ ├── 4.4/ │ │ ├── 4.4.md │ │ └── cs.columbia.edu-aho-cs3261-properties-of-cfl-121008.html │ ├── 4.5/ │ │ └── 4.5.md │ ├── 4.6/ │ │ ├── 4.6.md │ │ └── assets/ │ │ ├── 4.6.1-1.graphml │ │ ├── 4.6.1-2.graphml │ │ └── 4.6.1-3.graphml │ ├── 4.7/ │ │ └── 4.7.md │ └── key-point/ │ └── key-point.md ├── ch05/ │ ├── 5.1/ │ │ ├── 5.1.md │ │ └── assets/ │ │ ├── 5.1.1-1.graphml │ │ ├── 5.1.1-2.graphml │ │ ├── 5.1.3-1.graphml │ │ └── 5.1.3-2.graphml │ ├── 5.2/ │ │ ├── 5.2.1.js │ │ ├── 5.2.md │ │ └── assets/ │ │ └── 5.2.2-1.graphml │ ├── 5.3/ │ │ └── 5.3.md │ ├── 5.4/ │ │ └── 5.4.md │ └── 5.5/ │ └── 5.5.md ├── ch06/ │ ├── 6.1/ │ │ ├── 6.1.md │ │ └── assets/ │ │ ├── 6.1.1.graphml │ │ ├── 6.1.2-1.graphml │ │ ├── 6.1.2-2.graphml │ │ └── 6.1.2-3.graphml │ ├── 6.2/ │ │ ├── 6.2.md │ │ └── assets/ │ │ └── 6.2.1.graphml │ ├── 6.3/ │ │ └── 6.3.md │ ├── 6.4/ │ │ ├── 6.4.md │ │ └── assets/ │ │ ├── 6.4.3-1.graphml │ │ └── 6.4.3-2.graphml │ ├── 6.5/ │ │ └── 6.5.md │ ├── 6.6/ │ │ └── 6.6.md │ └── 6.7/ │ ├── 6.7.md │ └── assets/ │ └── 6.7.1-1.graphml ├── ch07/ │ ├── 7.2/ │ │ ├── 7.2.6.c │ │ ├── 7.2.md │ │ └── assets/ │ │ ├── 7.2.1-1.graphml │ │ ├── 7.2.3-1.graphml │ │ ├── 7.2.3-2.graphml │ │ ├── 7.2.3-3.graphml │ │ └── 7.2.4.graphml │ ├── 7.3/ │ │ ├── 7.3.md │ │ └── assets/ │ │ ├── 7.3.1-activation-stack.graphml │ │ ├── 7.3.1-activation-tree.graphml │ │ └── 7.3.2.graphml │ ├── 7.4/ │ │ └── 7.4.md │ ├── 7.5/ │ │ ├── 7.5.md │ │ └── assets/ │ │ ├── 7.5.1-1.graphml │ │ ├── 7.5.1-2.graphml │ │ ├── 7.5.1-3.graphml │ │ └── 7.5.2.graphml │ ├── 7.6/ │ │ └── 7.6.md │ └── 7.7/ │ ├── 7.7.md │ └── assets/ │ ├── 7.7.1-1.graphml │ └── 7.7.1-2.graphml ├── ch08/ │ ├── 8.2/ │ │ └── 8.2.md │ ├── 8.3/ │ │ └── 8.3.md │ ├── 8.4/ │ │ ├── 8.4.md │ │ └── assets/ │ │ ├── 8.4.1-2.graphml │ │ └── 8.4.2-2.graphml │ └── 8.5/ │ ├── 8.5.md │ └── assets/ │ ├── 8.5.1.graphml │ ├── 8.5.3.graphml │ └── 8.5.4.graphml ├── ch12/ │ ├── 12.3/ │ │ └── 12.3.md │ └── 12.7/ │ └── 12.7.md └── src/ └── lexer/ ├── Lexer.java ├── Num.java ├── Rel.java ├── SyntaxException.java ├── Tag.java ├── Token.java └── Word.java