amaanq
README generated in Bash.
📚️ 107 public repositories.⭐️ 239 stargazers.📃️ Preferred Licenses: MIT (33%), GPL (14%), Apache (1%), and others (52%).📧 Questions? Reach out via email @ amaanq12@gmail.com
Tree Sitter
I maintain and contribute to various tree-sitter repositories. I've created several in hopes of having grammars for (nearly) every language.
Parsers I own or co-maintain
- Bass — A low-fidelity Lisp dialect for the glue code driving your project
- Bicep — A domain-specific language (DSL) that uses declarative syntax to deploy Azure resources
- Cap'n Proto — An insanely fast data interchange format and capability-based RPC system
- ChainPack Object Notation (CPON) — The best from both XML and JSON
- Cue — An open source data constraint language, which aims to simplify tasks involving defining and using data
- Cython — An optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex)
- Elsa — A lambda calculus evaluator
- FIRRTL — An intermediate representation (IR) for digital circuits designed as a platform for writing circuit-level transformations
- FunC — A high-level language used to program smart contracts on TON
- Gosum — Golang modules checksum database
- Hare — A systems programming language designed to be simple, stable, and robust
- Haxe — An open source high-level strictly-typed programming language with a fast optimizing cross-compiler
- Jenkinsfile (WIP) — A language to create simple and complex delivery pipelines as code via pipeline DSL
- KDL — A document language with xml-like semantics to be used both as a serialization format and a configuration language
- Lua Doc — Documentation for Lua Code
- Lua Patterns — Lua Patterns, a simple string matching tool that's lighter than Regex
- Luau — A fast, small, safe, gradually typed embeddable scripting language derived from Lua
- Move (WIP) — A programming language for writing safe smart contracts
- Nginx (WIP) — A web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache
- Objective-C — A high-level general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language
- Odin — A general-purpose programming language with distinct typing, built for high performance, modern systems, and built-in data-oriented data types
- OpenSCAD — The Programmer's Solid 3D CAD Modeller
- PO — The GNU gettext translation file
- Pony — An open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language
- Puppet — A declarative language that describes the state of a computer system as "resources", which represent underlying network and operating system constructs
- Qmldir — QML module definition files
- Recutils (WIP) — A text-based database for data stored as a sequence of records where each record contains an arbitrary number of named fields
- Rusty Object Notation (RON) — A simple readable data serialization format that looks similar to Rust syntax
- Smali — An assembler/disassembler for the DEX format used by Dalvik, Android's Java VM implementation
- Smithy — A language for defining services and SDKs
- Squirrel — A high level imperative, object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games
- Starlark — A dialect of Python intended for use as a configuration language
- Tablegen — A language to generate complex output files based on information from source files that are significantly easier to code than the output files would be
- Thrift — A software framework for scalable cross-language services development
- Ungrammar — A DSL for specifying concrete syntax trees
- Uxn Tal — The programming language for the Uxn virtual machine
- Yuck — A new configuration syntax used by eww
Parsers I've contributed to
- Arduino — A C++ based framework for microcontrollers
- Astro — An all-in-one web framework designed for speed
- Bash — A Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell
- C — A general-purpose computer programming language
- C++ — A high-level, general-purpose programming language designed for system and application programming
- CMake — An open-source, cross-platform family of tools designed to build, test and package software
- Elixir — A dynamic, functional language for building scalable and maintainable applications
- Elm — A domain-specific programming language for declaratively creating web browser-based graphical user interfaces
- Foam — A C++ toolbox for the development of customized numerical solvers
- GDScript — A high-level, object-oriented, imperative, and gradually typed programming language built for Godot
- Go — A statically typed, compiled high-level programming language designed at Google
- Hack — A programming language for the HipHop Virtual Machine (HHVM), created by Facebook as a dialect of PHP
- Haskell — A general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation
- HTML — The standard markup language for documents designed to be displayed in a web browser
- Java — A programming language and computing platform first released by Sun Microsystems in 1995
- LALRPOP — A Rust parser generator framework with usability as its primary goal
- Markdown — A lightweight markup language for creating formatted text using a plain-text editor
- MATLAB — A programming and numeric computing platform used by millions of engineers and scientists to analyze data, develop algorithms, and create models
- PHP — A widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML
- Python — A high-level, general-purpose programming language
- Racket — The first language to support higher-order software contracts and safe gradual typing
- Rust — A multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency
- V — A simple, fast, safe, compiled programming language for developing maintainable software
- Vimdoc — Help files for Vim and Neovim
Personal Projects
A lot of my free-time nowadays goes to either tree-sitter parser development and maintenance or personal projects. My personal projects tend to revolve around Rust, Linux, Neovim, Reverse Engineering, or Clash of Clans.
I am also an embedded software/hardware enthusiast and love to dabble in assembly code (namely the ARM family due to Android reversing).
Active Projects
- amaanq — What you're reading right now
- apk-updater — Automatically update, decompile, and/or decompress Supercell APKs
- coc.go — Clash of Clans API Wrapper in Go
- coc.rs — Clash of Clans API Wrapper in Rust
- coc-achievement-stats — CLI app to parse top players by achievements
- dotfiles — My dotfiles for my Linux systems
- gk6xui (WIP) — GUI App to configure GK6X keyboards
- logiclong.rs — Logic Long implementation in Rust
- nvim-config — My Neovim config
- rapktool (WIP) — Apktool rewritten in Rust
- screentearctl (WIP) — Linux service for managing screen tear
Inactive Projects
- bytestream — Low level look at Supercell bytestream protocol
- bytestream_derive — Rust derive macros used for codegen for Supercell's custom Message format
- clash-assets — Unpacked game assets
- cr.go — Clash Royale API Wrapper in Go
- Falcon8Reverse — Writing software to interact with Falcon 8 Keypad
- libpain — Demo of how to compile standalone C++ code to Android and hook with Frida
- sc-compression.go — Supercell asset (de)compression tool (in Go) -
- sc-compression.py — Supercell asset (de)compression tool (in Python)
- sc-compression.rs — Supercell asset (de)compression tool (in Rust)
- vscode-hexeditor-varint — Fork that adds varint support
- widgets — Wrappers to enhance the discordgo package
Deprecated Projects
- bytestream-rs — Moved here





