Go to file
2021-10-04 10:05:24 -07:00
ast Initial Commit 2021-10-02 15:12:57 -07:00
cmd Initial Commit 2021-10-02 15:12:57 -07:00
formatter/html Add horizontal line using '---' 2021-10-04 09:03:42 -07:00
internal/stack Initial Commit 2021-10-02 15:12:57 -07:00
parser Use unscan rather than passing around tokens 2021-10-04 09:26:50 -07:00
scanner Initial Commit 2021-10-02 15:12:57 -07:00
.gitignore Initial Commit 2021-10-02 15:12:57 -07:00
amu.go Initial Commit 2021-10-02 15:12:57 -07:00
go.mod Initial Commit 2021-10-02 15:12:57 -07:00
go.sum Initial Commit 2021-10-02 15:12:57 -07:00
LICENSE Initial Commit 2021-10-02 15:12:57 -07:00
README.md Improve README 2021-10-04 10:05:24 -07:00
test.amu Initial Commit 2021-10-02 15:12:57 -07:00

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 have previously added features to other markup languages, but this caused issues in multiple cases. I decided to create a markup language myself instead.


Usage

This repo is a library for parsing AMU. It can be imported and used like any other go library.

amu

In cmd/amu, there is a binary that will read from Stdin with no arguments, or from a file given as the first argument. It will output the generated HTML.

amulive

In cmd/amulive, there is a Gtk app that has a text box on the left and a webview on the right. It displays the generated HTML on the right as you type into the text box.


Syntax

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


Performance

Timing this program using test.amu, I consistently get 4ms run time. This is much faster than my previous modified markup languages. It is likely unnoticeable in most cases, but interesting nonetheless.