(excerpted from the Forward of the Esperanto dictionary by John Wells)
Compound words are very common in Esperanto, as are words formed from a root by the use of suffixes or prefixes.
In ordinary nominal compounds the order of elements is the same as is usual in English: poŝ/mono (pocket-money) is a kind of mono, but mon/poŝo (money pocket) is a kind of poŝo. Likewise, bird/kanto (bird-song) kant/birdo (songbird). Where desirable, an o may be inserted to make such compound words easier to pronounce: kantobirdo, birdokanto.
Similarly, in the case of words with suffixes: patr/ino (mother) is a kind of ino, fajf/ilo (whistle) is a kind of ilo, etc.
Nominal compounds are always written as a single word in Esperanto; so 'vacation bus' is either feriaŭtobuso (one word) or feria aŭtobuso (two words) but never ferio aŭtobuso.
Forming the various parts of speech from a given root is very simple. (See Grammatical Endings below)
From the root of martel/o (a hammer) we form martela (to do with hammers, hammerlike) marteli (to hammer), and so on:
Sometimes, however, this extreme simplicity is not possible: although from kuri (to run) we can form kuro (a run [instance of the action]), we could not treat marteli (to hammer) in the same way, because by changing the the ending to o we get martelo, which already has the meaning 'a hammer' (the instrument) and so cannot be used to name an instance of the action - for this we add the suffix -ad- and say martelado (a hammering).
This is easily explained. Roots themselves fall into classes, almost all being nominal, verbal, or adjectivial. (The remainder are preositions, conjunctions, numerals, etc.) Thus martel/ is nominal, kur/ verbal, and bel/ adjectival. In other words, if we add o, martelo is the name of an object, kuro the name of an action, and belo the name of an abstract quality.
In forming a verb from a noun, an adjective from a verb, a noun from an adjective, and so on, everything depends on what sort of a word the startingpoint is.
If the startingpoint is a word whose grammatical ending is the same as the class of the root, all one has to do is change the ending. The examples are like this, because the starting points are martelo (nominal root, noun ending), kuri (verbal root, verb ending), and bela (adjectival root, adjective ending).
However, if the startingpoint is a word where the ending is different from the root class, A SUFFIX MUST BE USED TO PREVENT THE MEANING OF THE ENDING BEING LOST: -a is represented by -ec-, -i by -ad-.
Thus to form the noun naming the action marteli, where the startingpoint has a nominal root (martel) but a verb ending (i), we must keep the 'verbness' implied in i by changing it to ad before adding the new ending o; martelado (a hammering).
Homo (man) has a nominal root and a noun ending. So the corresponding adjective is simply homa (human). Suppose that we want to form an abstract noun from homa, a noun meaning 'humanness, humanity'. Homa has a nominal root but an adjectival ending. So we must not allow the 'adjectiveness' to be lost; a becomes ec, and the noun ending o is added to give homeco (humanness, humanity).
A suffix should not be used if it is superfluous: obviously, to form the name of the instrument from the verb marteli we do not need to use the suffix -il- [which means tool or instrument] since martel itself refers to an instrument, and the instrument is accordingly just martelo (a hammer). With ŝoveli, on the other hand, the root is verbal; ŝovelo means an act of shoveling, and to name a shovel we must use -il-, thus ŝovelilo (a shovel). Likewise, bros/ (nominal root), so broso (a brush [the implement]); but komb/ (verbal root), so kombilo (a comb). In such cases it is obviously important to to know the root class; in the dictionary, therefore, the entries concerned must indicate the root class.
For further details of the theory behind all this, see the relevant sections in Kalocsay and Waringhein's 'Plena Gramatiko' (Full Grammar) or refer to Kalocsay's monograph 'La gramatika karaktero de la Esperantaj radikoj' (Budapest, 1938)