README
8005-Programming-Language
What the 8005 Microprocessor Instruction Set Looks like
- Halt
- Increment R0 (R0 = R0 + 1)
- Decrement R0 (R0 = R0 - 1)
- Increment R1 (R1 = R1 + 1)
- Decrement R1 (R1 = R1 - 1)
- Add (R0 = R0 + R1)
- Subtract (R0 = R0 - R1)
- Print R0
- Jump to address if R0 != 0
- Jump to address if R0 == 0
- Load in to R0
- Load in to R1
- Store R0 into address
- Store R1 into address
- Swap R0 and address
- Swap R1 and address
- Ring the bell!
- Print R0 as an ASCII character
Currently, Panda does not support functionality to compile some code into some of these instructions but this has been provided as a reference
Installation
Installing Panda
To install Panda, perform: npm i 8005-panda-lang -g
Voila! You have successfully installed Panda!
Usage
Running Panda interpreter
To run the Panda interpreter, perform
panda
To quit the Panda interpreter and retrieve the machine code from your inputted Panda code, perform
quit;
in the interpreter
Compiling Panda files
- Valid Panda files have the .pan file extension
- To compile a .pan file, perform
panda fileName.pan
Details
Baseline Features
My programming language allows users to use basic declaration statements with addition and subtraction
My compiler successfully parses the code written in my programming language and prints out all the 8005 machine code
My programming language is elegant and easy to use
My programming language allows users to use the print as a number function
The Grammar/Syntax
Keywords
- "new" = Variable Declaration
- "print" = Print as unsigned char
- "printAsChar" = Prints a decimal value as it's ASCII equivalent
Operators
- "=" = Assignment
- "-" = Decrement
- "+" = Increment
Terminals
- " " = Whitespace
- ";" = End of statement
Functions
- "print" = Print
Documentation
HOW TO: Declarations
Samples of valid variable declarations are listed below
new variableName1 = 13;
new variableName2 = variableName1;
new variableName3 = variableName1 + 3;
Restrictions in Panda for declaring variables
- Inability to assign a value to more than 2 values in a binary expression
- Only numerical values
Things to keep in mind when declaring variables in Panda
Make sure that you don't have variables which exceed over 256 or are under 0 otherwise the code will parse but you will have buggy machine code
Make sure you don't use floats in your code
Make sure there is no space between the last part of the statement and semi colon
HOW TO: Assignments
Samples of valid variable assignments are listed below
variableName1 = 13;
variableName2 = variableName1;
variableName3 = variableName1 + 3;
Restrictions in Panda for assignments
- Inability to assign a value to more than 2 values in a binary expression
- Only numerical values
Things to keep in mind when assigning variables in Panda
Make sure that you don't have variables which exceed over 256 or are under 0 otherwise the code will parse but you will have buggy machine code
Make sure you don't use floats in your code
Make sure there is no space between the last part of the statement and semi colo### HOW TO: Assignments
HOW TO: Print as Int
Samples of valid print calls are listed below
print 13;
print variable;
Restrictions in Panda for print
- Inability to print binary expressions
- Only numerical values
Things to keep in mind when printing in Panda
Make sure that you don't have variables which exceed over 256 or are under 0 otherwise the code will parse but you will have buggy machine code
Make sure you don't use floats in your code
Make sure there is no space between the last part of the statement and semi colon
HOW TO: Print Int as Char
Samples of valid printAsChar calls are listed below
printAsChar 65;
printAsChar variable
Restrictions in Panda for printAsChar
- Inability to print binary expressions
- Only numerical values
Things to keep in mind when printing as char in Panda
Make sure that you don't have variables which exceed over 256 or are under 0 otherwise the code will parse but you will have buggy machine code
Make sure you don't use floats in your code
Make sure there is no space between the last part of the statement and semi colon
Final example
test.pan
new i = 13;
print i;
i = i + 60;
printAsChar i;
In your terminal, perform: panda test.pan
Coming Soon
We're working on some spectacular things with Panda Lang. Our current focus at the moment is ---Conditionals---