Skip to content

Commit

Permalink
Eliminate jstructural
Browse files Browse the repository at this point in the history
  • Loading branch information
io7m committed May 4, 2024
1 parent fb0553d commit 26d3e9b
Show file tree
Hide file tree
Showing 12 changed files with 82 additions and 547 deletions.
39 changes: 39 additions & 0 deletions README.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@

## jlexing

A package containing various types commonly used in [lexical analyzers](https://en.wikipedia.org/wiki/Lexical_analysis)
and parsers.

## Features

*
* High coverage test suite.
* [OSGi-ready](https://www.osgi.org/)
* [JPMS-ready](https://en.wikipedia.org/wiki/Java_Platform_Module_System)
* ISC license.

## Motivation

Many [io7m](https://www.io7m.com/) projects contain hand-written parsers
and lexers. The `jlexing` package exists to declare common lexer types so
that nearly-identical versions of those types don't have to be repeatedly
written for every project.

## Usage

The `LexicalPositionType` represents a span in a region of text. It includes
a mutable builder for constructing immutable `LexicalPosition` values:

```
final LexicalPosition.Builder<Path> b0 =
LexicalPosition.builder();

b0.setLine(23);
b0.setColumn(24);
b0.setColumnEnd(30);
b0.setFile(Optional.of(path0));
b0.setFile(path1);

final LexicalPosition<Path> p =
b0.build();
```
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,43 @@ jlexing
| OpenJDK (Temurin) LTS | Linux | [![Build (OpenJDK (Temurin) LTS, Linux)](https://img.shields.io/github/actions/workflow/status/io7m-com/jlexing/main.linux.temurin.lts.yml)](https://www.github.com/io7m-com/jlexing/actions?query=workflow%3Amain.linux.temurin.lts)|
| OpenJDK (Temurin) Current | Windows | [![Build (OpenJDK (Temurin) Current, Windows)](https://img.shields.io/github/actions/workflow/status/io7m-com/jlexing/main.windows.temurin.current.yml)](https://www.github.com/io7m-com/jlexing/actions?query=workflow%3Amain.windows.temurin.current)|
| OpenJDK (Temurin) LTS | Windows | [![Build (OpenJDK (Temurin) LTS, Windows)](https://img.shields.io/github/actions/workflow/status/io7m-com/jlexing/main.windows.temurin.lts.yml)](https://www.github.com/io7m-com/jlexing/actions?query=workflow%3Amain.windows.temurin.lts)|

## jlexing

A package containing various types commonly used in [lexical analyzers](https://en.wikipedia.org/wiki/Lexical_analysis)
and parsers.

## Features

*
* High coverage test suite.
* [OSGi-ready](https://www.osgi.org/)
* [JPMS-ready](https://en.wikipedia.org/wiki/Java_Platform_Module_System)
* ISC license.

## Motivation

Many [io7m](https://www.io7m.com/) projects contain hand-written parsers
and lexers. The `jlexing` package exists to declare common lexer types so
that nearly-identical versions of those types don't have to be repeatedly
written for every project.

## Usage

The `LexicalPositionType` represents a span in a region of text. It includes
a mutable builder for constructing immutable `LexicalPosition` values:

```
final LexicalPosition.Builder<Path> b0 =
LexicalPosition.builder();
b0.setLine(23);
b0.setColumn(24);
b0.setColumnEnd(30);
b0.setFile(Optional.of(path0));
b0.setFile(path1);
final LexicalPosition<Path> p =
b0.build();
```

228 changes: 0 additions & 228 deletions com.io7m.jlexing.documentation/pom.xml

This file was deleted.

20 changes: 0 additions & 20 deletions com.io7m.jlexing.documentation/src/main/assembly/documentation.xml

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit 26d3e9b

Please sign in to comment.