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
1 year ago
ast Initial Commit 1 year ago
cmd Initial Commit 1 year ago
formatter/html Add horizontal line using '---' 1 year ago
internal/stack Initial Commit 1 year ago
parser Use unscan rather than passing around tokens 1 year ago
scanner Initial Commit 1 year ago
.gitignore Initial Commit 1 year ago
LICENSE Initial Commit 1 year ago
README.md Improve README 1 year ago
amu.go Initial Commit 1 year ago
go.mod Initial Commit 1 year ago
go.sum Initial Commit 1 year ago
test.amu Initial Commit 1 year 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.