Skip to content

Independent implementation of the pattern matching algorithms in Maude.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

rljacobson/mod2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

937ae71 · Apr 9, 2025

History

20 Commits
Apr 6, 2025
Apr 6, 2025
Apr 9, 2025
Apr 6, 2025
Apr 6, 2025
Apr 6, 2025
Apr 6, 2025
Mar 2, 2025
Mar 2, 2025
Apr 6, 2025

Repository files navigation

mod2-lib: A pattern matching and term rewriting library

  • The mod2-lib library builds on lessons learned in previous experiments to bring advanced pattern matching algorithms to Rust.

  • The mod2 crate is a small Maude-like language meant to exercise the algorithms in mod2-lib and stand as a thorough example of how to use mod2-lib.

  • The mod2-abs crate is an abstraction layer over backend implementations of various generally useful utilities used throughout.

This project is a work in progress. For a more complete work, check out Loris.

Status

Syntax for mod2

  • Lexer & parser
  • M-expression
  • symbol declarations
  • modules syntax
  • Module & submodule semantics
  • custom operators
  • Imperative Language

mod2-lib algorithms

  • Sort infrastructure
  • Dagify
  • Compilers
    • automata
    • Stack Machine
  • Match
  • Free theory
    • Free net
  • Built-ins
  • Variable theory
  • Other theories
    • CUI
    • AU
    • ACU

License and Authorship

Copyright © 2025 Robert Jacobson. This software is distributed under the terms of the MIT license or the Apache 2.0 license at your preference.