  Formal grammars are extensively used in Computer Science and related fields
to study the rules which govern production of a language. The use of these
grammars can be extended beyond mere language production. One possibility is to
view these grammars as logical machines, similar to automata, which can be
modified to compute or help in computation, while also performing the basic
task of language production. The difference between such a modified grammar and
an automaton will then lie in the semantics of computation performed. It is
even possible for such a grammar to appear non-functional (when no language is
produced as a result of its productions), but in reality, it might be carrying
out important tasks. Such grammars have been named Functional Grammars
(including a special sub-category, called Virtual Grammars), and their
properties are studied in the paper.
