dluchaup / rfa

library for Research based on Finite Automata

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Directories:

lib/ contains a library for Research work using Finite Automata (RFA)
     for:
     (1) pattern matching,
     (2) ranking / language counting for formatted encryption
     (3) generating random elements in a language


Build instructions:
	cd lib
	make

Testing:
	make tests

The resulting library is:
	lib/bin/rank.a

(cleaning: make cleanall)

Examples:
	lib/test/fa/src/dfa_tests.cc
          shows how DFA/NFA are constructed and how pattern matching is done
        lib/test/fa/scripts/dfa_tests.sh  testing script to invoke dfa_tests
        
	lib/test/fa_rank/src/fa_rank_tests.cc
          shows how ranking based on is done
	lib/test/fa_rank/scripts/fa_rank_tests.sh test script for fa_rank_tests

        examples/cfg
           this directory contains several examples of ranking/unranking using
           CFG grammars, including the examples used in
(1) Daniel Luchaup, Thomas Shrimpton, Thomas Ristenpart, Somesh Jha
    "Formatted Encryption beyond Regular Languages"
    21st ACM Conference on Computer and Communications Security (ACM CCS 2014)
            See end of examples/cfg/README for more info.


About

library for Research based on Finite Automata

License:Other


Languages

Language:C++ 85.8%Language:Makefile 5.3%Language:Yacc 3.0%Language:Lex 2.7%Language:C 1.6%Language:Shell 1.5%