sxzz/ast-explorer
sxzz/ast-explorer has 577 GitHub stars and 74 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-10 04:24 UTC. Last push 2026-11-09.
A web tool to explore the ASTs generated by parsers.
What you can do
- 🦾 Enable code highlighting, suggestions, and formatting with Monaco Editor.
- 🤩 Support most popular front-end languages and parsers.
- 🗒️ Save your code via URL. No database, no server downtime.
- 🐙 Customize parser version via CDN, e.g., @babel/parser alpha.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalAST Explorer
AST Explorer - A web tool to explore the ASTs generated by parsers.
- Stable Release: ast-explorer.dev
- Dev Channel: dev.ast-explorer.dev
Feel free to add more languages and parsers via PR!
Features
- 🦾 Enable code highlighting, suggestions, and formatting with Monaco Editor.
- 🤩 Support most popular front-end languages and parsers.
- 🗒️ Save your code via URL. No database, no server downtime.
- 🐙 Customize parser version via CDN, e.g.,
@babel/parseralpha. - 🌈 Set custom parser options with a GUI.
- 🌚 Good-looking dark mode theme.
- 📱 Even compatible with mobile devices.
Languages and Parsers
- JavaScript / TypeScript
- Vue
- Svelte
- Ember
- Astro
- Angular
- CSS
- HTML
- JSON
- Markdown
- YAML
- Rust
- SQL
- PHP
- Java
- Python
- C#
- Solidity
- WXML
- GraphQL
- Protocol Buffers
More parsers via web-tree-sitter, see tree-sitter parsers.
URL Encode Algorithm
The input code and options are stored in the URL as a hash fragment,
which is the string following the # symbol
and is not transmitted to the server.
Implementation
const code = 'code'
const parserId = 'acorn'
const optionsString = JSON.stringify({
ecmaVersion: 'latest',
sourceType: 'module',
})
const serialized = utoa(
// utoa, or compress() if want to compress the data
JSON.stringify({
c: code,
p: parserId,
o: optionsString,
}),
)
const url = `https://ast-explorer.dev/#${serialized}`
// no compress
function utoa(data: string): string {
return btoa(unescape(encodeURIComponent(data)))
}
// compress is optional
import { strFromU8, strToU8, unzlibSync, zlibSync } from 'fflate'
function compress(data: string) {
const buffer = strToU8(data)
const zipped = zlibSync(buffer, { level: 9 })
const binary = strFromU8(zipped, true)
return btoa(binary)
}
Contributing
To contribute to the project, see Contribution Guide.
Credits
This project references and is inspired by fkling/astexplorer, an open-source web tool for exploring the ASTs generated by various parsers.
Also, thanks to the following projects for their contributions:
Sponsors
License
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,486 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,790 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,332 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,455 스타