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