• Stars
    star
    3
  • Rank 3,963,521 (Top 79 %)
  • Language
    Ada
  • License
    MIT License
  • Created about 7 years ago
  • Updated over 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
35
star
2

protobuf

The Google Protocol Buffers implementation in Ada
Ada
30
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
20
star
5

aarch64-alire-index

Alire port to aarch64
11
star
6

ada-lsp

Language Server Protocol for Ada
Ada
11
star
7

android_app_demo

Small demo for android app in Ada/webAssembly
JavaScript
11
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
8
star
11

jupyter

Jupyter Client API in Ada
Ada
5
star
12

coroutines

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

torrent

BitTorrent protocol implementation in Ada
Ada
4
star
14

increment

Incremental analysis in Ada
Ada
4
star
15

garlic

GNAT Library for Ada Distributed Environment (garlic)
Ada
4
star
16

acme-ada

ACME implementation in Ada
Ada
3
star
17

upload-bintray-action

Bintray file uploader action
JavaScript
3
star
18

advent-of-ada

Advent of Code solutions
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

ada-tips

Collection of tip-of-the-day for Ada
Ada
2
star
24

als-alire-index

An Alire index to build ada_language_server
Shell
2
star
25

network

Ada asynchronous network library
Ada
2
star
26

rst-unparser

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

slimp

Implementation of SlimProto TCP protocol
Ada
1
star
28

declarative-regions

Ada declarative regions library
Ada
1
star
29

debug-viz-demo

Debug Visualization Demo for Ada
Python
1
star
30

xtensa-alire-index

Alire index for xtensa LX7 toolchain
1
star
31

ak09940a

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

icm20602

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

hmc5883

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

mount_photos

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

ethernet

Root crate for ethernet drivers
Ada
1
star
36

enet_tap

ENet driver implementation over TUN/TAP device
Ada
1
star
37

ada-coco-r

Coco/R compiler generator in Ada
Ada
1
star
38

nmea-0183

NMEA 0183 message decoder
Ada
1
star
39

tftp

Trivial File Transfer Protocol (TFTP) implementation
Ada
1
star
40

bme280

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

qmc5883

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