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
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to