The syntax of
The syntax of
NB: This assumes that grammaticality is binary
The problem of determining whether
Some decision problems are undecidable
= there is no general way of answering them
=
The fact that native speakers can (quickly) determine (un)grammataticality suggests that the syntax function
Some computable functions are 'simpler' than others
Correspondingly there are different levels of syntaxes/languages
By J. Finkelstein - CC BY-SA 3.0, Link
The syntactic rules of
The syntax of regular languages is described by a finite set of production rules
A production rule of a regular language has to look like:
where
One member (usually
Production rules
Every finite language is a regular language (proof omitted)
What we defined above is right regular languages
Every regular language is recognised by a finite state automaton, and every language recognised by a finite state automaton is a regular language (proof omitted)
A finite state automaton is a kind of machine that does not have (long-term) memory
Regular languages can encode certain types of dependencies
However, regular languages are not capable of unlimited counting, so there is no way to formulate dependencies like the following (proof omitted)
Natural languages show such dependencies, e.g., centre embedding
It's been claimed that birdsongs are regular languages
Context free languages are generated by productions rules of the form:
where
Context free languages can have unlimited center embedding dependencies, so more powerful than regular languages
Every context free language is recognised by a push-down automaton, and every language recognised by a push-down automaton is a context free language (proof omitted)
A push-down automaton is a machine with a stack memory
There are languages that are not context free, e.g.,
Syntacticians argue that some natural languages have unbounded numbers of cross-serial dependencies, so are not context free
Chomsky's Transformational Grammar:
The next class of languages in the Chomsky hierarchy is context sensitive languages, whose production rules are either of the following:
Natural language syntax does not have the full power of context-sensitive languages
Natural language is mostly context free, but it goes a bit outside of it with certain types of cross-serial dependencies
Mildly context free languages
No need to make syntactic rules for the entire language
Focus on some constructions, e.g.
If you like, you can write some context-free rules for some (or all) of the constructions
Make sure to have recursion so that your language will be infinite