×Full view
Back to Portfolio

// Flutter · Dart · Python · Compiler Design

Custom Language Builder

A Flutter app that lets developers visually design and compile their own programming languages, backed by a Python compiler engine.

Platform: Flutter
Backend: Python

Overview

The Custom Language Builder is a cross-platform Flutter application that provides a visual interface for creating custom programming language syntax, keywords, and grammar rules. Users define token types, expressions, and statement structures through a GUI — the app serializes these into a specification sent to a Python backend that generates a working lexer and parser using PLY (Python Lex-Yacc).

Tech Stack

FlutterDartProviderPythonPLY (Lex-Yacc)REST API

Key Contributions

  • Designed a visual node-based editor in Flutter for defining language grammar without writing BNF manually.
  • Built REST API bridge between Flutter frontend and Python compiler backend using http package.
  • Managed complex form state with Provider — multi-step wizard with validation at each stage.
  • Implemented real-time syntax highlighting preview of user-defined language inside the app.

Screenshots

Screenshot Screenshot Screenshot

Results & Learnings

Successfully demonstrated that Flutter can serve as a powerful frontend for developer tooling. The Provider pattern kept the multi-step wizard state clean and made backtracking between steps trivial.