You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Arsen Musayelyan 68e399c54b Improve README 3 weeks ago
ast Initial Commit 4 weeks ago
cmd Initial Commit 4 weeks ago
formatter/html Add horizontal line using '---' 3 weeks ago
internal/stack Initial Commit 4 weeks ago
parser Use unscan rather than passing around tokens 3 weeks ago
scanner Initial Commit 4 weeks ago
.gitignore Initial Commit 4 weeks ago
LICENSE Initial Commit 4 weeks ago
README.md Improve README 3 weeks ago
amu.go Initial Commit 4 weeks ago
go.mod Initial Commit 4 weeks ago
go.sum Initial Commit 4 weeks ago
test.amu Initial Commit 4 weeks ago

README.md

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.