SAN zoneshow log parser and utils
Compilers Principles Practice
flex/bison C language
rexical/racc Ruby language
nex/yacc Go language
ANTLR4 visitor/listener Java/Python3/TypeScript language
prepare
show Makefile , generate code, compile and run
show run_diff.rb , lexer/parser usage
ruby
gem install rexical racc
c flex/bison
go
github.com/blynn/nex
golang.org/x/tools/cmd/goyacc
antlr4
copy or link antlr-latest-complete.jar(>=4.12 for TypeScript target) to project directory.
install antlr4 runtime
java CLASSPATH=.:$(pwd)/antlr-latest-complete.jar
python pip3 install antlr4-python3-runtime
node js/ts pnpm i -D antlr4 vite typescript
# Refer to the Makefile
# npmjs package antlr4 >= 4.12.0
# add `"targets": {"chrome": "58","node":"16"}` to .babelrc, run npx webpack rebuild dist/ generate ES6 js
make ts_vis ts_lis
tsc xxx
ruby util-add-js-suffix.rb
node vantlr4/ts2js/TsMainListener-node.js < cfg4.txt
node vantlr4/ts2js/TsMainVisitor-node.js < cfg4.txt
# work on web
vite # dev open web browser show html
vite build -c xxx # build, and/or can change`<script>` in html,
ruby util-html-ch-nomodule.rb