• Stars
    star
    3
  • Rank 3,847,166 (Top 78 %)
  • Language
    Ada
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Grammar handling and parser generation Ada library

Anagram

Build Copr build status reuse compliant

Grammar handling and parser generation Ada library

Anagram is an Ada library to work with grammars of program languages. It provides a type to represent classic grammar formalism including BNF, extended BNF and attributed grammars, subprograms to construct, read and convert them, some checks, parser generation, etc.

The Anagram makes it easy to create parsers of various kinds.

Main features:

  • convert EBNF to BNF with several ways of expanding lists
  • generate tables for LALR and simple LR parsers
  • provides API to construct grammar or read it from a textual file
  • resolve conflicts in LR table using precedence and associativity
  • provides generic deterministic parser and Right Nulled GLR Parser
  • provides simple templates to represet rules of attributed grammars
  • API to construct First/Follow sets
  • partition ordered attributed grammar to find attribute evaluation order
  • write grammar in a file of yacc format
  • provides some checks:
    • Is_Well_Formed
    • Is_L_Attributed
    • is ordered attributed grammar

Install

Run

make all install PREFIX=/path/to/install

Dependencies

It depends on Matreshka library.

Usage

Add with "anagram"; in your project file.

Maintainer

@MaximReznik.

Contribute

Feel free to dive in! Open an issue or submit PRs.

License

MIT © Maxim Reznik

More Repositories

1

ada-howto

Collection of How-to documents for Ada
Jupyter Notebook
34
star
2

protobuf

The Google Protocol Buffers implementation in Ada
Ada
26
star
3

matreshka_archive

Matreshka is Ada framework to develop information systems
Ada
25
star
4

adalib

Standard Ada library specification as defined in Reference Manual
Ada
17
star
5

ada-lsp

Language Server Protocol for Ada
Ada
11
star
6

android_app_demo

Small demo for android app in Ada/webAssembly
JavaScript
11
star
7

aarch64-alire-index

Alire port to aarch64
10
star
8

jwt

JSON Web Token (JWT) implementation in Ada
Ada
10
star
9

ada-auth

A mirror of Ada Reference Manual sources
CartoCSS
9
star
10

onnx_runtime

Ada binding to ONNX runtime
Ada
7
star
11

coroutines

Coroutines is a library for non-preemptive multitasking in Ada
Ada
5
star
12

jupyter

Jupyter Client API in Ada
Ada
4
star
13

torrent

BitTorrent protocol implementation in Ada
Ada
4
star
14

increment

Incremental analysis in Ada
Ada
4
star
15

acme-ada

ACME implementation in Ada
Ada
3
star
16

upload-bintray-action

Bintray file uploader action
JavaScript
3
star
17

advent-of-ada

Advent of Code solutions
Ada
3
star
18

garlic

GNAT Library for Ada Distributed Environment (garlic)
Ada
3
star
19

ada_ru

Sources to build www.ada-ru.org site
Ada
3
star
20

webdriver

WebDriver enables introspection and control of web browsers
Ada
2
star
21

openwrt-gnat

Ada cross compiler for OpenWRT
Dockerfile
2
star
22

deflate

A deflate compression library
Ada
2
star
23

als-alire-index

An Alire index to build ada_language_server
Shell
2
star
24

network

Ada asynchronous network library
Ada
2
star
25

rst-unparser

A tool to write a tree of RST elements as a ReStructuredText document.
Ada
1
star
26

slimp

Implementation of SlimProto TCP protocol
Ada
1
star
27

declarative-regions

Ada declarative regions library
Ada
1
star
28

debug-viz-demo

Debug Visualization Demo for Ada
Python
1
star
29

ak09940a

An Ada driver for 3-axis magnetic sensor AK09940A
Ada
1
star
30

icm20602

Driver for ICM-20602 gyroscope and accelerometer sensor
Ada
1
star
31

hmc5883

An Ada driver for 3-axis magnetic sensor
Ada
1
star
32

ada-tips

Collection of tip-of-the-day for Ada
Ada
1
star
33

mount_photos

Mounting Google Photo albums with FUSE in Ada
Ada
1
star
34

bme280

Driver for BME280 humidity, pressure and temperature sensor
Ada
1
star
35

qmc5883

An Ada driver for 3-axis magnetic sensor QMC5883L
Ada
1
star