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