The nuance may have more to do with grammar. Parser
is a noun. Parsing
is a gerund (a way in english of turning a verb into either a noun or an adjective.) Parsing is the action that a parser does. We haven't been completely consistent in our choices, but we seem to use gerunds only when the real noun sounds stupid/unnatural. In this case the real noun doesn't sound stupid, so I vote we go with parser
.
Examples:
optimization
(not optimizing
)
compilers
(not compiling
)
computer-networks
(not computer-networking
)
search-algorithms
, search-trees
, search-problem
(not searching
or searching-*
)
runtime-analysis
(not runtime-analyzing
or analyzing-runtime
)
proof-techniques
(not proving
)
graph-theory
(not graph-theorizing
)
reductions
(not reducing
)
cpu-cache
(not caching
)
But
sorting
(not sort-algorithms
, sort-problem
)
machine-learning
(not machine-learner
or machine-knowledge
)
dynamic-programming
(not dynamic-programs
)
functional-programming
(not functional-program
)
parallel-computing
(not parallel-computer
)
image-processing
(not image-process
)
natural-language-processing
(not natural-language
)
So learning
, programming
and processing
are the main places we use gerunds.
Edit (4 months later)
Here's another piece of evidence that parsers and parsing are really tag-synonyms that are being chosen randomly by question askers. If you go to each tag page you will see "related tags" on the right hand side. This is the other tags that are paired with the tag in question most often. The related tags for these tags are similar:
parsers (53 questions) related tags:
parsing (46 questions) related tags:
It doesn't get much more similar than that.