Compiler / Transpiler Engineer

Caizin

Full Time3+ yearsPosted 3 days ago

Let the right jobs find you

Get personalised suggestions from verified company career pages, matched to your role, location, level, and skills.

Overview

Position Type

Full Time

Experience

3+ years

Job Description

What you will do

  • Implement and extend parsers for UniBasic statements and expressions (control flow, file/OS I/O, dynamic-array and multivalue operations, CALL dispatch), each producing well-defined AST nodes.
  • Build and refine semantic-analysis passes: name resolution, parameter-direction inference (input / output / in-out), and type binding/propagation across call sites.
  • Implement AST-to-AST transformations that lower UniBasic constructs to a Java AST, and help keep the emitter a pure printer.
  • Handle the hard, real-world edge cases legacy code is full of: ambiguous syntax, context sensitive tokenization, inconsistent formatting, and dialect quirks.
  • Write thorough tests for every parser, pass, and transformation: including golden-file tests that transpile real UniBasic and compile the generated Java.
  • Diagnose failures across the whole chain (a wrong.java output traced back to a lexer, parser, or transformer bug) and fix the root cause.
  • Contribute to design discussions on pipeline architecture, AST shape, and how new language features flow from parse → SEMA → transform → emit.

Must-have qualifications

Compiler / language-tool fundamentals

  • 3–5yearsofsoftware engineering experience, including hands-on work on a compiler, transpiler, interpreter, static analyzer, linter, or similar language tooling.
  • Solid working knowledge of the frontend pipeline: lexing/tokenization, parsing (recursive descent / Pratt / precedence handling), AST design, and at least one of semantic analysis or code generation.
  • Comfortable reasoning about grammars, precedence/associativity, and context sensitive parsing: and about why a construct produces the AST node it does.

Engineering craft

  • Strong Java (Java 17+) and comfort with a typed, Object-oriented codebase.
  • Disciplined about testing: you write tests for the code you change and treat a failing corpus file as a bug to root-cause, not skip.
  • Practical experience with refactoring and clean-code.
  • Clear written communication; able to justify a parsing/lowering decision and document edge cases

Required Skills

Compiler IrTranspilerJavaAstSemantic AnalysisCode GenerationTestingRefactoringClean Code

About the Company

Caizin

Pune, India

Share This Job