amu/README.md

1.2 KiB

AMU

AMU is a human readable markup language I made for my own uses and to learn. It is the first lexer and parser that I have written by hand.


Purpose

The purpose of this project is to create a markup language for my own use. I will use this primarily for quickly writing simple documents, for example, taking notes in class or doing some quick homework. It fulfills all my needs and I will add things as I need them. There are functions for extensibility when adding a new thing to parse is not justified.


Usage

This repo is a library for parsing AMU. It can be imported and used like any other go library. In cmd, there are binaries for interacting with AMU. cmd/amu contains a command line program that takes a file with AMU or reads from stdin and outputs HTML. In cmd/amulive, there is a Gtk app that provides a real-time preview of the document on the right with a text box on the left.


Syntax

The syntax for most of AMU's features can be seen in test.amu in this repo.


Performance

Timing this program using the test file, I consistently get 4ms run time on my XPS 13. This is much faster than the projects I have made before for a similar purpose, although it is likely unnoticeable for most people.