libfsm

DFA regular expression library & friends

libfsm and friends: NFA, DFA, regular expressions and lexical analysis

; re -cb -pl dot '[Ll]ibf+(sm)*' '[Ll]ibre', dot

libfsm.svg

Getting started:

Lexing is the process of categorising a stream of items by their spellings.
The output from this process is a stream of tokens, each of a specific lexeme
category, which are most commonly input to a parser responsible for asserting
the order of these tokens is valid.

lx is an attempt to produce a simple, expressive, and unobtrusive lexer
generator which is good at lexing, does just lexing, is language independent,
and has no other features.

You get:

  • libfsm — library for manipulating FSM (NFA and DFA)
  • libre — library for compiling regular expressions to NFA
  • fsm(1) — command line interface for FSM
  • re(1) — command line interface for executing regular expressions
  • lx(1) — lexer generator

Clone with submodules (contains required .mk files):

; git clone --recursive https://github.com/katef/libfsm.git

To build and install:

; pmake -r install

You can override a few things:

; CC=clang PREFIX=$HOME pmake -r install

Building depends on:

  • Any BSD make. This includes OpenBSD, FreeBSD and NetBSD make(1)
    and sjg's portable bmake (also packaged as pmake).

  • A C compiler. Any should do, but GCC and clang are best supported.

  • ar, ld, and a bunch of other stuff you probably already have.

Fuzzing depends on the theft property-based testing library:

Ideas, comments or bugs: kate@elide.org

Main metrics

Overview
Name With Ownervoku/Arrayy
Primary LanguagePHP
Program languageMakefile (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2016-01-25 11:15:40
Pushed At2025-07-08 10:51:02
Last Commit At2023-09-04 17:34:38
Release Count159
Last Release Name7.9.6 (Posted on )
First Release Name1.0.0-rc.1 (Posted on 2013-07-28 23:46:18)
用户参与
Stargazers Count489
Watchers Count16
Fork Count33
Commits Count667
Has Issues Enabled
Issues Count67
Issue Open Count4
Pull Requests Count58
Pull Requests Open Count7
Pull Requests Close Count10
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private