Go to file
Devine Lu Linvega c25561c650 Cache value before entering spacer macro 2024-04-08 10:10:56 -07:00
examples Fixed issue with empty r->b rules 2024-04-07 19:03:04 -07:00
old Organized things a bit 2024-04-04 15:33:22 -07:00
src Cache value before entering spacer macro 2024-04-08 10:10:56 -07:00
.clang-format Trying a c parser 2024-04-04 09:04:27 -07:00
.gitignore Trying a c parser 2024-04-04 09:04:27 -07:00
LICENSE Added LICENSE 2024-04-06 09:45:39 -07:00
README.md Organized things a bit 2024-04-04 15:33:22 -07:00
makefile Removed argument queue 2024-04-07 16:16:33 -07:00

README.md

Modal

Modal is a language based a model of computation that uses pattern matching and replacement to rewrite trees.

All Modal code is represented as a series of rules applied to a given tree, formatted textually as tokens delimited with parenthesis, which gets continually modified until no rules match any given part of the tree.

A pattern/replacement can be:

A token: foo, bar, baz
A variable: ?foo, ?bar, ?baz
A sequence of the above: (foo bar baz), (foo ?bar baz), foo (bar (baz))

Build

cc src/modal.c -o bin/modal

Run

bin/modal examples/hello.modal

Credits

Created by wryl, Immediate Mode Technologies.