Skip to content
This repository has been archived by the owner on May 24, 2024. It is now read-only.

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
JesseCoretta authored Sep 21, 2023
1 parent e6b04b3 commit 204b653
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# go-antlraci

[![Go Reference](https://pkg.go.dev/github.com/JesseCoretta/go-antlraci?status.svg)](https://pkg.go.dev/github.com/JesseCoretta/go-antlraci) ![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)
[![Go Reference](https://pkg.go.dev/badge/github.com/JesseCoretta/go-antlraci.svg)](https://pkg.go.dev/github.com/JesseCoretta/go-antlraci) [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://github.com/JesseCoretta/go-antlraci/blob/main/LICENSE) [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/JesseCoretta/go-antlraci/go.yml)](https://github.com/JesseCoretta/go-antlraci/actions/workflows/go.yml) [![Libraries.io dependency status for GitHub repo](https://img.shields.io/librariesio/github/JesseCoretta/go-antlraci)](https://github.com/JesseCoretta/go-antlraci) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/JesseCoretta/go-antlraci/issues) [![Experimental](https://img.shields.io/badge/experimental-blue?logoColor=blue&label=%F0%9F%A7%AA%20%F0%9F%94%AC&labelColor=blue&color=gray)](https://github.com/JesseCoretta/JesseCoretta/blob/main/EXPERIMENTAL.md)



Package antlraci contains an ANTLR4-generated codebase meant to facilitate the parsing of ACIv3 definitions. The codebase is created through use of ANTLR4 parser/lexer grammar rules that honor the complete third (3rd) version of the Access Control Instruction syntax -- a form of permission expressions favored and supported by multiple X.500/LDAP server implementations on the market today.

Expand All @@ -12,7 +14,7 @@ At NO POINT is any portion of the **AUTO-GENERATED** ANTLR4 codebase edited for

## Status of this repository

This repository is under heavy development and may not yet be suitable for mission-critical use. Certain error handlers should be added prior to any production release.
This package is imported and used by its sister package, [`go-aci`](https://github.com/JesseCoretta/go-aci), for all parsing related functionality.

## Purpose of this repository

Expand All @@ -26,7 +28,7 @@ For those interested, the following command was used to generate this codebase (
$ antlr4 -Dlanguage=Go -package antlraci ACI*.g4
```

Two (2) grammar files -- `ACIParser.g4` and `ACILexer.g4` -- must be present within the directory in which the above `bash` command is executed. They have been included in this repository for reference and, optionally, use elsewhere.
Two (2) grammar files -- [`ACIParser.g4`](https://github.com/JesseCoretta/go-antlraci/blob/main/_grammar/ACIParser.g4) and [`ACILexer.g4`](https://github.com/JesseCoretta/go-antlraci/blob/main/_grammar/ACILexer.g4) -- must be present within the directory in which the above `bash` command is executed. They have been included in this repository for reference and, optionally, use elsewhere.

For information on setting up ANTLR4 on your system, see the following resources:

Expand All @@ -37,12 +39,12 @@ For information on setting up ANTLR4 on your system, see the following resources

Some package-level functions have been added to simplify the parsing process for individual components of an ACIv3 instruction, as well as an instruction as a whole.

- ParseTargetRule
- ParseTargetRules
- ParseBindRule
- ParseBindRules
- ParsePermissionBindRule
- ParsePermissionBindRules
- ParseInstruction
- `ParseTargetRule`
- `ParseTargetRules`
- `ParseBindRule`
- `ParseBindRules`
- `ParsePermissionBindRule`
- `ParsePermissionBindRules`
- `ParseInstruction`

See the Go [documentation](https://pkg.go.dev/github.com/JesseCoretta/go-antlraci) for usage information.
Click the reference badge at the top of this file to learn more about this package.

0 comments on commit 204b653

Please sign in to comment.