pydsl is a language library written in python. It provides some verbs for Grammars.
from pydsl.File.BNF import load_bnf_file
grammardefinition = loand_bnf_file('myfile.bnf')
grammardefinition.alphabet # Returns the alphabet used by this grammar
grammardefinition.minsize
grammardefinition.maxsize
grammardefinition.enumerate # Returns a generator that generates every accepted word
from pydsl.Checker import check
check(grammardefinition,'mystring') # returns True or False
from pydsl.Match import match
match(grammardefinition,'mystring') # returns ('my','string')
from pydsl.Parser import parse
parse(grammardefinition,'mystring') # returns a ParseTree
from pydsl.Extract import extract
extract(grammardefinition,'abcmystringabc') # returns ('mystring',3,11)
- disttools:
- python3 setup.py install
- pip:
- pip install pydsl
- python >= 2.7
- optional: ply library ( http://www.dabeaz.com/ply/ )
Copyright (C) 2008-2014 Nestor Arocha (nesaro@gmail.com)