Article View: comp.text.sgml
Article #21Re: It's Not Just for Text Anymore
From: Darrell Raymond
Date: Tue, 21 Jul 1992 22:09
Date: Tue, 21 Jul 1992 22:09
61 lines
3492 bytes
3492 bytes
In article <92202.164904U35395@uicvm.uic.edu>, C. M. Sperberg-McQueen <U35395@uicvm.uic.edu> writes: >> The argument is simple. Any system that restricts itself to context-free >> grammars is formally incapable of describing an infinite class of data, >> namely recursive languages. > >Seems to be a typo here. Surely you don't mean that CFGs are incapable >of recursion, since their ability to allow recursion is notoriously what >distinguishes context-free languages from regular languages. The example >you give in your second posting is indeed not context-free, but it is >also not recursive, that I see. Let me say "recursively enumerable", then, as I should have in the first place. In other words, a language that requires a Turing machine as an acceptor. Please excuse my sloppy use of terminology. >1 SGML's competitors for practical use are markup languages like troff >and its cousins and derivatives, Scribe, Script, GML, TeX and LaTeX, and >possibly ODA. The discussion here, however, was predicated on the idea that SGML "is not just for text anymore". It seemed natural to me, then, to conclude that SGML's competitors now include not only other markup languages, but also any existing data models for these other domains. >3 The fact that SGML is limited formally to context-free grammars does >not mean it cannot be useful for defining non-context-free languages. This is exactly what it does mean, I think. How can you define a recursively enumerable language with a context-free grammar? You can't. You can only define the context-free parts of such a language. >The BNF used to define Algol and C, and the railroad track diagrams used >to define Pascal (and presumably Modula 2) cannot handle the >context-sensitive construct DR cited (viz. X**n Y**n) any more than SGML >can, but the grammars are still useful for those working with those >languages. This example doesn't work for several reasons. First, the BNF of C doesn't define C - that requires a lot of semantic information as well (I haven't thought about it enough, but it may be that it even requires Turing equivalence). Second, the construct "X**n Y**n" is in fact context-free. Third, the construct "ww", which is the one I actually mentioned, has no special semantics in C, or any other programming language that I am aware of - it just means "do w and do w again". So recognizing it is not important. Finally, are you confusing two languages? - namely, the language consisting of the set of strings that represent valid C programs (which is context free) and the language accepted by any given C program (which, in general, is recursively enumerable)? >SGML's most serious problems as a practical tool seem to me >not its lack of non-CF power but the number of bells and whistles it has. . . >Darrell, what on earth are you up to now? Trying to establish formal arguments in favor of eliminating bells and whistles. Question: could markup itself be one of them? -Darrell.
Technical Details
Message-ID:
<BrrEw0.MsA@watdragon.waterloo.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!utcsri!torn!watserv1!watdragon.waterloo.edu!drraymonReferences:
<710783547snx@sgmlinc.com> <92202.164904U35395@uicvm.uic.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.text.sgml Path: arc1-ca.pugleaf.net!sparky!uunet!utcsri!torn!watserv1!watdragon.waterloo.edu!drraymon From: drraymon@watdragon.waterloo.edu (Darrell Raymond) Subject: Re: It's Not Just for Text Anymore Message-ID: <BrrEw0.MsA@watdragon.waterloo.edu> Organization: University of Waterloo References: <710783547snx@sgmlinc.com> <92202.164904U35395@uicvm.uic.edu> Date: Tue, 21 Jul 1992 22:09:35 GMT Lines: 61