0% found this document useful (0 votes)
30 views4 pages

Evaluation Rubric For Programming Language Implementation

Uploaded by

202211791
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views4 pages

Evaluation Rubric For Programming Language Implementation

Uploaded by

202211791
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Rubric for Programming Language

Implementation
1. Lexical Analysis
Sub-Criteria Points Description Sample Input Expected Output / Behavior
Tokenizer Recognizes let x = 10 Breaks into: 'let', variable x, '=',
7 + 5;
Correctness valid tokens number 10, '+', number 5, ';'
Identifies let x = 10
Error Handling 5 @ 5; Displays error: Invalid token @
invalid tokens
No redundant let x = 10; Skips comments/whitespace,
Efficiency 3 // comment
steps minimal processing time

2. Syntax Analysis
Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
Parser Accepts valid if (x > 5) { Builds correct internal
10 print("hi"); }
Correctness syntax forms structure
AST Accurate AST x = a + b * c; AST: Assign(x, Add(a,
7 Multiply(b, c)))
Generation structure
Error Detects if x > 5 {
Syntax error: missing
3
Handling malformed syntax parentheses

3. Semantic Analysis
Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
Symbol Table Tracks variable let x = 10; Redeclaration warning
5 let x = 15;
Management declarations & scope or error
let x = "hi" + Error: cannot add
Type Checking 5 Enforces type rules 5; string and number
Detects semantic print(y); Error: Variable y is
Error Detection 5 not defined
violations
4. Execution and Evaluation
Expected
Sub-Criteria Points Description Sample Input Output /
Behavior
Expression Computes print(2 * (3 + 4));
6 Prints: 14
Evaluation expressions
Control Flow of control: while (i < 3) { print(i);
6 i = i + 1; } Prints: 0 1 2
Structures if, while, for
function square(x) {
Function Calls and returns return x * x; }
4 Prints: 25
Execution from functions print(square(5));

CLI/REPL Accepts runtime > let name = input(); Executes


4 print("Hello, " + name);
Support input interactively

5. Memory Management
Expected
Sub-Criteria Points Description Sample Input Output /
Behavior
Proper
Variable let x = 5; x = 6;
Variable x
4 initialization &
Lifecycle updated correctly
updates
GC / Manual
Memory cleanup let x = [1, 2, 3]; x = Memory cleared
Memory 4 null;
managed or collected
Handling
Access to Prevents use-after- let x = [1, 2, 3]; Error: access to
2 delete(x); print(x[0]); deleted object
Deleted Object delete

6. Error Handling and Debugging


Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
No interpreter let x = 10 / 0;
Runtime Errors 4 Error: division by zero
crash
Debugging Error message with let x = "hi" + Shows helpful message
3 5;
Feedback line info with line number
Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
Logging / Optional execution toy run [Link] Shows token stream,
3 --verbose
Verbose Mode trace parse trace, eval steps

7. User Interface / CLI


Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
Clean interaction with toy run [Link]
Usability 3 Executes program
CLI
CLI Supports flags and toy run [Link] - Executes with debug
2 -debug
Arguments script input mode
Output Neat and consistent print("Hi")
2 Output: Hi
Format display

toy --help
Shows command list
Help / Docs 3 Displays usage/help
and usage

8. Advanced Features
Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
Object- class Person { greet() {
Class/object print("Hello"); } }
Oriented 4 let p = new Person(); Output: Hello
handling
Support [Link]();

Anonymous
Lambda let add = (x, y) => x +
3 functions y; print(add(2,3)); Output: 5
Functions
supported
Concurrency / Parallel execution parallel { print(1); } Output: 1 2 (order
3 parallel { print(2); }
Async (e.g., threads) may vary)
New feature runs
Feature plug-in repeat 3 times {
Extensibility 2 print("Hi") } with minimal core
flexibility
changes

9. Presentation and Demonstration


Expected Output /
Sub-Criteria Points Description Sample Input
Behavior
Feature Demonstrates all Demo using examples Features shown with
4
Walkthrough major features from each rubric section explanations
Clarity & Clear and engaging Presenter walks through Maintains interest and
2
Engagement delivery slides/code clarity
Code & Demo Error-free Run test suite and live All code runs without
2
Quality execution demo issue
Professional Styled slides and Meets standard of
Slides/Attire 2
presentation style professional dress academic/tech demo

Total Points:

You might also like