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,
| 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]