https://github.com/christianparpart/flow
Flow Control Language, Compiler, and Virtual Machine
https://github.com/christianparpart/flow
compiler-backend flow flow-control-language language-frontends virtual-machine
Last synced: 5 months ago
JSON representation
Flow Control Language, Compiler, and Virtual Machine
- Host: GitHub
- URL: https://github.com/christianparpart/flow
- Owner: christianparpart
- Created: 2018-05-16T20:17:59.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-23T12:20:14.000Z (almost 8 years ago)
- Last Synced: 2025-02-14T05:51:18.541Z (over 1 year ago)
- Topics: compiler-backend, flow, flow-control-language, language-frontends, virtual-machine
- Language: C++
- Size: 252 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Flow
**Flow** is a domain specific language designed to define control flow for
customizable hooks in your application, such as for request routing, event routing, and
more.
This project provides you with the Flow language frontend, compiler backend, and a virtual machine.
### Main Features
- A deterministic, non-turing-complete domain specific language for routing and configuration
- Special purpose literal types, such as: IPv4/IPv6 address, CIDR network, regular expression.
- Extensibility through the module system
- Execution Quota, making sure your scripts terminate within a given amount of instructions.
- Configurable language features during script compilation
- ...
### Use Flow, if ...
Use Flow if:
- speed matters
- reliability of termination of your scripts matter.
- table based configuration is not enough
### Notes
Flow was initially designed to act as a highly flexible configuration language in the
[x0 HTTP web application server](https://github.com/christianparpart/x0) and then evolved
into a routing framework that can be used in many host application.