I am giving it a try, but I fear that, whatever the definitions chosen, there will be unsatisfied people. Let's discuss it.
A formal grammar may be defined as a set of string rewriting rules that are used to specify a set of strings, in a mathematically precise way. In some cases they may associate structural information with the string.
There are also tree grammars, used to define sets of trees, and graph grammars used to define sets of graph, both by mean of rewriting rules. There may be others.
There may actually be many way to read a formal grammar:
- Typically, a context-free grammar may be read as a way to generate strings by rewriting them according to some rules (I am simplifying a bit). All the strings that can be generated form the language defined by the grammar. This is the generative reading of a formal grammar.
- It may also be read as a system of equation over sets of strings, the language being the smallest solution to the equation for one of the variables. You may call it the denotational reading of the grammar.
- It may also be read as a tree grammar.
- And, it can even be read as the specification of an algorithm to check whether a string is in the defined language.
The techniques for attaching other mathematical meaning to the strings (or trees, or graphs) may be considered as outside the mathematical domain of formal grammars.
But basically, formal grammars are mathematical entities.
Generative grammars is more a linguistic concept. In some looser sense (I guess) it is a set of rules that specify how linguistic elements can be combined to form linguistically acceptable construction, such as sentences (syntax) or simple words (morphology).
As formal grammars usually have a generative reading, they are often used by linguists to specify formally generative grammars, often in conjonction with other mathematical tools attached to them.
In a larger sense, generative grammar can also refer to a description of mechanisms by which the structure of syntactically correct linguistic constructions will emerge.
Generative grammars are concerned with syntax only, with sentences that will respect structural rules of the language. According to such rules, and to Noam Chomsky, "Colorless green ideas sleep furiously" is syntactically an English sentence. Whether it means anything is for Salvador Dali to say.
Further thoughts on the issue.
As I said, I do not expect to satisfy everyone.
Not being very knowledgeable in either semantics or pragmatics, I gladly take in @jlawler's remark that "lots of generative grammars deal with semantics and pragmatics [and] only the ones who accept Chomsky's assumptions insist of segmenting them."
This point of view can be vindicated in the following way.
Ignoring the metaphysical issues on human thought and language (and I include here all forms of linguistic expression in the word language), the human brain and language system (including all senses) may be seen a physical device that receives input data, manipulates it in various ways, including memorization, and produces other data through various means (speech, writing, gesture, ...). In a nutshell, hoping not to hurt anyone's feelings, this is pretty much the description of a general purpose computing device. Note that I used the word "data" rather than "symbol".
Can the working of such a machine be theorized formally with a formal grammar, viewed as a generative formal system? For example, could Chomsky's type 0 grammars be such a generative grammar formalizing the human language machine?
The first point to note is that the human language machine is a physical computational device. Hence we may wonder whether physical computational devices can be fully described by a generative formal grammar. This raises two open questions, one in mathematics that may not be answerable, and one in physics.
The first question is the Church-Turing thesis. It is a conjecture that any kind of algorithmic computability is equivalent to Turing computability. Turing computability is itself proved to be equivalent to "computation" by type 0 grammars. Note again the multiple readings of a grammar.
This conjecture is generally considered not to be provable. I suspect it relies on an understanding of computability that assumes denumerability of all things computational. Computational devices are considered to be symbol manipulation devices, operating along an open time-line (there may be other assumptions).
Whether that covers all possible physical devices remains an open problem in physics. There is some research work on these issues. Some is attempting to understand what kind of constraints in the physical world would imply the denumerability and time open-linearity hypothesis. Other research is trying to imagine more powerful computational models that could be allowed if some fundamental hypotheses were changed.
For the time being, short of answering these questions, we have to assume the correctness of the Church-Turing thesis for all computational devices, including the human language machine. Hence, human language, together with the knowledge, memorization and interaction that goes with it, must necessarily have a description as a type 0 grammar, which can be read as a generative description.
Thus, considering that the whole language process may be described by a generative grammar is in this sense an appropriate point of view.
However, my vindication of it is not fully satisfactory for at least two somewhat related reasons:
this analysis only states that the language abilities of each human being can be modeled by a generative formal grammar. But it says nothing about a general model that could be used for all human beings, with maybe only part of the rules to account for differences between people, the other rules being a common core that could be taken as representing the language ability of mankind.
type 0 grammars can be very unstructured, and hard to understand. They generally do not have perspicuity, unless very carefully constructed, organized, and commented. A type 0 grammar, however generative, is not necessarily expressing a linguistic theory, an organized and structured body of knowledge "explaining" the inner working of language so that linguistics phenomena of all kinds can be accounted for and even predicted.
Even if some magic event gave us a generative grammar for English (assuming the existence of a precise definition of English), we might not be able to extract from it any useful knowledge about the language.
This is a bit intended to debunk the magic of words, and of formal systems, however important they may also be. It is not intended to disparage the work that would extend the idea of generative grammars to semantics or pragmatics. I often felt the distinction between syntax and semantics to be a somewhat arbitrary convenience, and informally took syntax to be what has tractable mathematical formalization ... which is not too precise either. The distinction is a bit more precise in logic with model theory.
S -> NP VP. It may be considered generative by some and not by others, because generative has been around a long time and there are many competing and often contradictory versions.