Re: [stack] Is this language concatenative?
Michael Nedzelsky <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
Let T be a non-empty set of terminal symbols.
Let T* denotes the set of all strings over alphabet T, where e \in T* denotes
the empty string.
The word 'program' means lement of L.
Definition:
Simple program is a program which is not a concatenation of two non-empty
programs.
The language L \subset T* is concatenative if and only if it satisfies the
following requirements:
1) The empty string is a program:
e \in L
2) The concatenation of two programs is a program:
(\forall x, y \in T*) x,y \in L --> xy \in L
3) The unique factorization property holds for programs. That is, every
program other than empty program can be factored into simple programs in
exactly one way.
The third requirements can be difficult to verify, so the following definition
can be useful.
The language L \subset T* is strict left (right) concatenative if and only if
it satisfies the following requirements:
1) The empty string is a program:
e \in L
2) The concatenation of two programs is a program:
(\forall x, y \in T*) x,y \in L --> xy \in L
3) (P = XY) /\ (P, X are programs) --> Y is a program. # for left
(P = XY) /\ (P, Y are programs) --> X is a program. # for right
The unique factorization property holds for strict left (right) concatenative
languages.
It seems to me that the Cat and Joy are both strict left and right
concatenative languages according to this defintion.
Michael Nedzelsky
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/concatenative/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/concatenative/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[email protected]
mailto:[email protected]
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/