Ian Kelly wrote: > […] Thomas 'PointedEars' Lahn […] wrote: >> Ian Kelly wrote: >>> Within a grammar, the question of "is an X a Y" is nonsensical in >>> isolation. It can only be answered in relation to a parse tree. >>> Consider the simple grammar: >>> >>> S -> A | B >>> A -> x >>> B -> x >>> >>> Is x an A? It depends. >> >> No, by the definition 2 below, that we all accepted implicitly up to this >> point, x is *definitely* an A. > > What gives you the impression that I ever accepted it?
,-<news:mailman.181.1427346636.10327.python-l...@python.org> | | What the grammar that you quoted from shows is that STRING+ is an | expression. There is *no way* for you to make that statement if you did not accept definition (2). >> (2) Let the statement “x is an A” be true if x can be produced in a >> production chain starting with or including the non-terminal A >> left-hand side – >> >> x ∈ A ↔ ∃A (… ⇒ A ⇒ … ⇒ x). > > Sorry, but this definition just seems entirely arbitrary to me. It is just the formalization of the definition that we all have agreed to, including you. > Mathematically, it looks nonsensical; A is a symbol, not a set. “A” is the goal symbol of a production, so it can be interpreted as the superset of all set of terminals that can be produced from it, through the goal symbols that can be produced from it. And all of us implicitly did that when we said “STRING(+) (literals) is/are (not) (an) expression(s)”. > This question of whether "x is an A" is informal and not a topic of formal > language theory so far as I'm aware. Can you cite some source for it? No, because I was formalizing the ad-hoc definition by Chris Angelico in <news:mailman.51.1426995416.10327.python-l...@python.org>. >> Now, according to these definitions, in the offered grammar x is *both* >> an A and a B. Because what matters is _not_ the practical result of >> production chains (the actual parse tree), but the certainty of the >> theoretical possibility of it. > > This strikes me as being a lot like arguing, "some kites are toys, and > some kites are birds; therefore, all kites are both toys and birds." False analogy again. We are discussing *in theory* a *formal* grammar. Its goal symbols have *no meaning* except what can be produced from them. > As noted above, the inaccuracy that Gregory pointed out has no bearing > on my argument. But it does. > You're really going to make me spell it out, aren't you? Fine, here you > go. > > single_input -> […] -> expr -> […] -> atom -> STRING STRING > > Note: the derivation contains exactly one expr node, which indirectly > produces both STRINGs. Neither STRING in this derivation is > individually produced from the expr. So you have proven that which nobody ever doubted nor requested, but I pointed out already. What you have still not proven is what you claimed: the parse tree. I am sorry that you cannot see that your argument is strewn with gaping defects in logic, but I think I will stop trying to convince you of that now. -- PointedEars Twitter: @PointedEars2 Please do not cc me. / Bitte keine Kopien per E-Mail. -- https://mail.python.org/mailman/listinfo/python-list