What is a semel?

Ancient Greeks knew that things are made up of parts,
and that the parts themselves are made up of parts.
Does this lead to an infinite regress?
Democritus said no, there is a smallest part, a part which itself cannot be cut.
In Greek, "a-temnein" means "not cut",
"atomos" means "indivisible",
and "atom" means "the smallest unit".

Ancient Greeks did not know about sub-atomic particles:

See also here.

All matter in the universe is composed of elements.

There are 118 elements in the Periodic Table of Elements.

As Tom Lehrer sang in his song "The Elements":

"These are the only ones of which the news has come to Harvard
And there may be many others but they haven't been discovered."

The smallest unit of picture is the picture element, or pixel.
The smallest unit of volume is the volume element, or voxel.
The smallest unit of semantics is the semantic element, or semel.

How many semels are there in C++?
There are 507, of which 344 are concrete, and 163 are abstract.
Of the 163 abstract semels, 53 are "internal", for the convenience of The Semel Editor (TM).

Just as all matter is composed of combinations of the 118 elements in the Periodic Table, all C++ programs are composed of combinations of the 344 concrete semels.

A semel is like a class:

Each semel has a name.
The name of a semel comes from its place in the inheritance hierarchy of semels.

Example:

semel
|
expression
|
literal
|
integer
|
signed
|
int

is named "expression / literal / integer / signed / int". (The leading "semel / " is implicit.)

End of example.