いくつかのスペースを区切り記号として使用することは可能ですか? 私が言いたいのは...
いくつかの Python 演算子優先パーサーが与えられた場合、自然言語と演算子を組み合わせて、メモを取るための省略形として使用したいと考えています。つまり'caffeine : A1 antagonist -> caffeine : peripheral stimulant'
、解釈があり'caffeine is an A1 antagonist implies that it is a peripheral stimulant'
ます。
parse('a:b -> c : d e')
たとえば、これを次のように解析できるようにしたい[[['a', ':', 'b'], '->', ['c', ':', ['d', 'e']]]]
このようなもので
operands = delimitedList(Word(alphanums), delim=',')
# delim=' ' obviously doesn't work
precedence = [
(":", 2, opAssoc.LEFT),
("->", 2, opAssoc.LEFT),
]
parser = operatorPrecedence(operands, precedence)
def parse(s): return parser.parseString(s, parseAll=True)
print parse('a:b -> c : d e')
可能?