Skip to main content

PigLang Initialized

· 2 min read
Abhinn Pandey

Project Overview

Pig is a Simple Quick Programming Language for Beginners and Advanced Users.

Project Goals

The Main Target is to create an Programming Language that anyone can use even those who dont know Coding, Here are some Goals To Fulfill:

  1. Showcase the developer's skills in Logical and Analytical Thinking and Programming.
  2. Create a captivating Programming Language that WORKS.
  3. Implement Variables, Datatypes and Functions.
  4. Implement Control Flow :- If,Else,Then and For.

Project Scope

The project scope encompasses the following key elements:

Scanner

Scanner will Do the Lexical Analysis and Translates source code to to Tokens,

Parser

Parser will Make the AST or Abstract Syntax Tree for defining the GRAMMAR Of the Language.

CodeGen

Codegen Function to Translate ASTs to LLVM IR, So LLVM Can Compile it.

Compiler

LLVM will take the IR and Translate it to Machine Code.

Project Requirements

To achieve the desired project goals and scope, the following requirements have been identified:

  1. Language Keywords and Grammer
  2. An Programming Language to Implement the Compiler, I chose Rust
  3. Deep Knowledge about how Programming Languages work
  4. Good in Programming And Logical THinking

Initial Planning and Development Setup

During the project initiation phase, the following activities were undertaken:

  1. Research: I Will Read and dive deep into other Programming Languages Source Codes for Ideas and help.

  2. Project Plan: A detailed project plan was created, outlining the various stages of development, key milestones, and estimated timelines. This plan provides a roadmap for the project's execution and ensures effective project management.

  3. Development Environment Setup:

    • Installed Emacs
    • Installed Rust
    • Initialized Git Repo