OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xmlvoc message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xmlvoc] Definition: formal language



* Patrick Durusau
| 
| The term for the day is: formal language.

This one is easy if you can write it in maths; it's simply a set of
strings composed of characters from some alphabet (where an alphabet
is just a set of characters). I don't think we can take that approach,
however.
 
| Taylor in Models of Computation and Formal Languages, notes:
| 
| "The term 'formal' is introduced in order to distinguish such
| languages from natural languages, programming languages, and so on. It
| is in fact, possible to regard natural languages such as Spanish and
| programming languages such as PROLOG as formal languages, provided one
| ignores their semantic aspects." (p. 5)

This was pretty good, but is not a definition, unfortunately.
 
| I would suggest something along the following lines:
| 
| formal language: An artificial language that is used to investigate
| the properties of languages in general. As distinguished from
| natural or programming languages that have other primary uses.

I'm afraid this won't work. A formal language is strictly any language
for which a strict definition is given. This can be as a set of all
the strings in the language, as a BNF grammar, as a regular
expression, or in some other way.
 
| Captures the notion that the language is not a "natural" one, i.e.,
| artificial, and notes that it has a primary purpose other than use
| as a programming language.

Actually, purpose does not affect whether something is a formal
language or not. The question is whether it has a formal definition of
its syntax.
 
| Started to say something about how a formal language has a finite
| set of rules that can generate an infinite number of strings from a
| finite alphabet, which obviously excludes even verbose programming
| languages but did not think it would add anything to the definition.

Agreed. That would just be a definition of one way to define a formal
language, rather than a definition of what a formal language *is*.
 
| Lars: Do you want to take a crack at it?

Helped by your initial exploration I think I can:

  formal language: Any language with a defined set of allowed symbols
  and a precise definition of which strings composed from these
  symbols are considered syntactically correct. The syntax definitions
  of formal languages are often given as BNF grammars or regular
  expressions, but a formal language can be defined in any way so long
  as the definition is mathematically precise and it can also serve
  any purpose.

What do you think?

-- 
Lars Marius Garshol, Ontopian         <URL: http://www.ontopia.net >
GSM: +47 98 21 55 50                  <URL: http://www.garshol.priv.no >



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]