Extendable Enum like Type?
Ethan Furman
ethan at stoneleaf.us
Thu Jul 18 12:14:09 EDT 2019
On 07/18/2019 06:04 AM, Antoon Pardon wrote:
> I am experimenting with writing an Earley Parser. Now I would like to
> have the non-terminals from the grammer I am reading in, be represented
> bye an enum like type. So that if the grammer contains the following
> production: Term -> Term '+' Factor I can reprensent the right hand side
> with a list that gets printed something like the following:
> [<Non_Terminal.Term:1>, '+', <Non_Terminal.Factor:2>] I am a bit at a
> loss right now on how to start. Can someone point me in the right
> direction?
The basic method is:
from enum import Enum # `from aenum` [1][2] if less than Python 3.4
Class NonTerminal(Enum):
Term = 1
Factor = 2
...
The docs [3] also have a lot of information.
Does that answer your question?
--
~Ethan~
[1] https://pypi.org/project/aenum/
[2] I am the author of Enum, aenum, and the enum34 backport.
[3] https://docs.python.org/3/library/enum.html
More information about the Python-list
mailing list