Domain
Compilers & Languages
Skill Profile
Lexical and syntactic analysis: tokenization, LL/LR/PEG parsers, ANTLR
Roles
3
where this skill appears
Levels
5
structured growth path
Mandatory requirements
11
the other 4 optional
Compilers & Languages
Compiler Theory
3/17/2026
Choose your current level and compare expectations. The items below show what to cover to advance to the next level.
The table shows how skill depth grows from Junior to Principal. Click a row to see details.
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Knows lexical analysis basics: source code tokenization, regular grammars and finite automata. Can implement a simple lexer manually, understands the practical difference between lexer and parser. |
| Language Tooling Engineer | Understands lexer/parser fundamentals: tokenization, grammar rules, and AST construction. Writes simple lexers using regular expressions and modifies existing parser rules for language tooling. | |
| Systems Programmer (C/C++) | Understands basic concepts of lexical analysis and parsing: tokens, grammars, and parse trees. Reads and traces through existing lexer/parser code to understand language processing pipelines. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Implements LL(k) and LR parsers, builds AST for programming languages. Uses parser generators (ANTLR, yacc/bison). Handles syntax errors with error recovery strategies. |
| Language Tooling Engineer | Implements recursive descent and PEG parsers for DSLs. Builds error-recovery mechanisms for partial parsing to support IDE features. Generates syntax-highlighted token streams from lexer output. | |
| Systems Programmer (C/C++) | Implements lexers and parsers for system-level languages using tools like flex/bison or hand-written recursive descent. Handles operator precedence, ambiguity resolution, and efficient token buffering. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Designs complete compiler frontend: lexer, recursive descent parser, AST builder. Implements Pratt parsing for operator precedence. Optimizes parsing performance for large codebases. |
| Language Tooling Engineer | Required | Designs incremental parsing architectures (tree-sitter style) for real-time editor feedback. Implements grammar composition for embedded languages and optimizes parser performance for large source files. |
| Systems Programmer (C/C++) | Required | Designs compiler front-end architectures with custom lexer generators and GLR/Earley parsers for complex grammars. Implements source-map-preserving transformations and mentors team on formal language theory. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Defines frontend architecture for a new language or dialect, makes grammar decisions. Establishes parser quality standards for the team, conducts code reviews focusing on correctness. |
| Language Tooling Engineer | Required | Defines compiler architecture. Establishes development standards. Coordinates compiler team. |
| Systems Programmer (C/C++) | Required | Defines compiler architecture. Establishes development standards. Coordinates the compiler team. |
| Role | Required | Description |
|---|---|---|
| Compiler Engineer | Required | Shapes language frontend technical standards for the platform. Researches and introduces advanced parsing methods (Earley, PEG, GLL). Publishes open source solutions and influences the tooling ecosystem. |
| Language Tooling Engineer | Required | Defines compiler/language development strategy. Designs core language features. Shapes technology vision. |
| Systems Programmer (C/C++) | Required | Defines compiler/language development strategy. Designs core language features. Establishes technology vision. |