Re: [stack] Is this language concatenative?
"William Tanksley, Jr" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Michael Nedzelsky <[email protected]> wrote: > William Tanksley, Jr wrote: > > Michael Nedzelsky <[email protected]> wrote: > > > > But a quotation is not a member of T*, is it? Therefore it's not a > > > > "simple program". > > > It is a member if T*! > > Oh. Then no, I don't think your definition is adequate; it admits all > > ill-formed strings, such as "]]]]a]]]". Your grammar can't be parsed. > Which grammar?? > My definition is about languages, i.e. subsets of T*. Oh. Okay, now I see what I've been missing. Yes, your definition is strictly about languages, not (per se) about grammars. That's a good thing. > S1 --> a | b| [S] (S+S) > S --> e | a | b | S S | [ S ] | (S + S) > Examples of simple programs: a, b, [], (a+b), [a b],(+), (a+(+)), (+b) > The last three programs looks strange, but they are syntactically valid. > The language L is (syntactically) concatenative by my defintion, since all the > three requirements are satisfied. Yes, I see your point. Your definition seems to have the same problem our previous definitions had: they allow things which are unmistakably not concatenative (your infix (S+S) sublanguage isn't concatenative). But your definition is better than most, because you include the "unique factorization" property, and because it is expressed in terms of concatenation and valid splitting, both fundamental to concatenative languages. Perhaps I'm wrong. Should our definition allow for languages which are perhaps not _entirely_ concatenative, but whose "top layer" is concatenative? > Michael Nedzelsky -Billy