Is arithmetic a context free grammar?
You are confusing two or three different concepts here:

Languages: these are collections of strings.
Context-free grammars: this is a specific way to describe languages.
Parsing: this is the process in which a computer &quot;understands&quot; input.

You haven't explained what you mean by &quot;arithmetic&quot;; some people think of arithmetic as the set of first-order statements about the natural numbers which are true, for example. However, it seems that by arithmetic you mean the set of well-formed arithmetic expressions (you leave out some important details, for example, what atoms are allowed, whether whitespace is allowed, and so on). Assuming this, arithmetic is most certainly not a context-free grammar, simply because arithmetic is a language, not a grammar. However, it can be described as a context-free grammar, as you demonstrate.
The next thing you are worried about is parsing (&quot;order of operations&quot;). Grammars describe languages, that is, sets of strings; parsing is a separate issue. It is true that context-free grammars are intimately related to parsing, via parse trees. It is possible to construct a context-free grammar for the language of arithmetic expressions that reflects &quot;order of operations&quot;, in the sense that we can use the parse tree directly to evaluate the expressions in a recursive way (in the fashion of attribute grammars.
For example, suppose that the only atom is $n$, and that we are only interested in addition and multiplication, and allow parentheses; and furthermore, multiplication has higher priority than addition, and both associate to the left. This is reflected in the following grammar:
\begin{align}
&amp;\mathit{EXPR} \to \mathit{EXPR} + \mathit{TERM} \mid \mathit{TERM} \\
&amp;\mathit{TERM} \to \mathit{TERM} * \mathit{FACTOR} \mid \mathit{FACTOR} \\
&amp;\mathit{FACTOR} \to (\mathit{EXPR}) \mid n
\end{align}
You can check that $n+n+n$ is &quot;understood&quot; as $[n+n]+n$, and $a+b*c$ is understood as $a+[b*c]$, for example. Moreover, this grammar is unambiguous (unless I made a mistake), that is, any word in the language has a unique parse tree.
In practice, starting with an ambiguous context-free grammar and precedence rules (including associativity), parser generators can create equivalent unambiguous context-free grammars (or more accurately, parsing algorithms).