Automata

A library that implements formal finite state automata.

Лицензия

Лицензия

The MIT License (MIT)
Категории

Категории

Auto Библиотеки уровня приложения Code Generators
Группа

Группа

tel.schich
Идентификатор

Идентификатор

automata
Последняя версия

Последняя версия

0.2.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

Automata
A library that implements formal finite state automata.
Ссылка на сайт

Ссылка на сайт

https://schich.tel
Система контроля версий

Система контроля версий

https://github.com/pschichtel/automata

Скачать automata

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/tel.schich/automata/ -->
<dependency>
    <groupId>tel.schich</groupId>
    <artifactId>automata</artifactId>
    <version>0.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/tel.schich/automata/
implementation 'tel.schich:automata:0.2.1'
// https://jarcasting.com/artifacts/tel.schich/automata/
implementation ("tel.schich:automata:0.2.1")
'tel.schich:automata:jar:0.2.1'
<dependency org="tel.schich" name="automata" rev="0.2.1">
  <artifact name="automata" type="jar" />
</dependency>
@Grapes(
@Grab(group='tel.schich', module='automata', version='0.2.1')
)
libraryDependencies += "tel.schich" % "automata" % "0.2.1"
[tel.schich/automata "0.2.1"]

Зависимости

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12

Модули Проекта

Данный проект не имеет модулей.

Automata Maven Central

A library that implements formal finite state automata.

If you are looking for an efficient and feature complete linear-time regular expression engine, then this is not the project for you. Google's re2 will very likely do a better job at that.

However if you are trying to convert regular expressions into FSAs in order to proof certain properties of the regular expressions and are not too tight on performance requirements, this could be the project you are looking for.

What works?

  • Converting simple ("formal") regular expressions into NFAs
  • Converting Java's Patterns (most of the regular syntax is supported) into NFAs
  • Converting NFAs into DFAs
  • Various operations on DFAs and/or NFAs:
    • minimizing DFAs
    • completing DFAs
    • combining multiple automata into a one (e.g. intersection)
    • complements
  • simple text matching

Possible future features

  • Transition events
  • ???

Inspired by

Prof. Dr. Karl Stroetmann's Formal Languages Lecture

Версии библиотеки

Версия
0.2.1
0.2.0
0.1.0