user10003: When one selects a board within Arduino IDE, a preprocessor definition is added to one of the behind-the-scenes files.
After a lot of hunting and some good fortune I found that the format of this definition is:
#define ARDUINO_<PROCESSOR-DESCRIPTOR>_<BOARDNAME>

Some are easy to guess (ARDUINO_AVR_UNO, for example), but others are less so. The Pro Micro has '16' or '8' appended to the definition depending on the speed. I do not know if the definition is different for 5V or 3.3V. I haven't managed to guess the definition for the Mega2560, but it isn't anything obvious.
Question 1: Is there a list in existence of the possible definitions?
Question 2: Is there any distinction, as far as compilation and preprocessor involvement is concerned, between BoardX-5V and BoardX-3.3V, and how is this distinction defined?

user368: The first blank is the platform. This is "AVR" for AVRs, "SAM" for SAM-based Arduinos, etc. This is derived from the platform directory containing the core.
The second blank is the board. This comes from the entry in boards.txt in the core itself, and is the identifier before the first period.
There is no difference between compilation processes with regards to voltages; any speed difference is given in F_CPU and the board itself should not be checked for this.
So there is no definitive list, since the list is of arbitrary size due to its source.

user33122: Mikael has the right answer, but there are multiple boards.txt files depending on the installed boards with board manager,
modifying the command to:
grep board= `find . -name boards.txt` | cut -f2 -d= | sort -u

and running it from your base Arduino directory collects the whole set.

user13432: The list of board symbols can be generated by this shell command:
$ grep board= boards.txt | cut -f2 -d= | sort -u
AVR_ADK
AVR_BT
AVR_DUEMILANOVE
AVR_ESPLORA
AVR_ETHERNET
AVR_FIO
AVR_GEMMA
AVR_LEONARDO
AVR_LILYPAD
AVR_LILYPAD_USB
AVR_MEGA
AVR_MEGA2560
AVR_MICRO
AVR_MINI
AVR_NANO
AVR_NG
AVR_PRO
AVR_ROBOT_CONTROL
AVR_ROBOT_MOTOR
AVR_UNO
AVR_YUN

The boards are defined by the "build.board" property in the boards.txt file. 
mini.build.board=AVR_MINI

This property is used by the build recipe together with ARDUINO_-prefix.
-DARDUINO_{build.board} 

Cheers!

10003: <p>When one selects a board within Arduino IDE, a preprocessor definition is added to one of the behind-the-scenes files.</p>

<p>After a lot of hunting and some good fortune I found that the format of this definition is:</p>

<pre><code>#define ARDUINO_&lt;PROCESSOR-DESCRIPTOR&gt;_&lt;BOARDNAME&gt;
</code></pre>

<p>Some are easy to guess (<code>ARDUINO_AVR_UNO</code>, for example), but others are less so. The Pro Micro has '16' or '8' appended to the definition depending on the speed. I do not know if the definition is different for 5V or 3.3V. I haven't managed to guess the definition for the Mega2560, but it isn't anything obvious.</p>

<p><strong>Question 1</strong>: Is there a list in existence of the possible definitions?</p>

<p><strong>Question 2</strong>: Is there any distinction, as far as compilation and preprocessor involvement is concerned, between <em>BoardX</em>-5V and <em>BoardX</em>-3.3V, and how is this distinction defined?</p>
 368: <p>The first blank is the <em>platform</em>. This is "AVR" for AVRs, "SAM" for SAM-based Arduinos, etc. This is derived from the platform directory containing the core.</p>

<p>The second blank is the <em>board</em>. This comes from the entry in <code>boards.txt</code> in the core itself, and is the identifier before the first period.</p>

<p>There is no difference between compilation processes with regards to voltages; any speed difference is given in <code>F_CPU</code> and the board itself should not be checked for this.</p>

<p>So there is no definitive list, since the list is of arbitrary size due to its source.</p>
 33122: <p>Mikael has the right answer, but there are multiple boards.txt files depending on the installed boards with board manager,
modifying the command to:</p>

<pre><code>grep board= `find . -name boards.txt` | cut -f2 -d= | sort -u
</code></pre>

<p>and running it from your base Arduino directory collects the whole set.</p>
 13432: <p>The list of board symbols can be generated by this shell command:</p>

<pre><code>$ grep board= boards.txt | cut -f2 -d= | sort -u
AVR_ADK
AVR_BT
AVR_DUEMILANOVE
AVR_ESPLORA
AVR_ETHERNET
AVR_FIO
AVR_GEMMA
AVR_LEONARDO
AVR_LILYPAD
AVR_LILYPAD_USB
AVR_MEGA
AVR_MEGA2560
AVR_MICRO
AVR_MINI
AVR_NANO
AVR_NG
AVR_PRO
AVR_ROBOT_CONTROL
AVR_ROBOT_MOTOR
AVR_UNO
AVR_YUN
</code></pre>

<p>The boards are defined by the "build.board" property in the <a href="https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/boards.txt">boards.txt</a> file. </p>

<pre><code>mini.build.board=AVR_MINI
</code></pre>

<p>This property is used by the build <a href="https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/platform.txt#L52">recipe</a> together with ARDUINO_-prefix.</p>

<pre><code>-DARDUINO_{build.board} 
</code></pre>

<p>Cheers!</p>
