SlideShare a Scribd company logo
1 of 4
Java Program: There are errors in the lexer and shank file. Please fix those errors and there must
be no error in any of the code at all. Below is the lexer, shank, and token files. The shank file is
the main method. There is a rubric attached as well.
Lexer.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import mypack.Token.TokenType;
public class Lexer {
private static final int INTEGER_STATE = 1;
private static final int DECIMAL_STATE = 2;
private static final int IDENTIFIER_STATE = 3;
private static final int SYMBOL_STATE = 4;
private static final int ERROR_STATE = 5;
private static final int STRING_STATE = 6;
private static final int CHAR_STATE = 7;
private static final int COMMENT_STATE = 8;
private static final char EOF = (char) -1;
private static String input;
private static int index;
private static char currentChar;
private static int lineNumber = 1;
private static int indentLevel = 0;
private static int lastIndentLevel = 0;
private static HashMap<String, TokenType> keywords = new HashMap<String, TokenType>()
{{
put("while", TokenType.WHILE);
put("if", TokenType.IF);
put("else", TokenType.ELSE);
put("print", TokenType.PRINT);
}};
private static HashMap<Character, TokenType> symbols = new HashMap<Character,
TokenType>() {{
put('+', TokenType.PLUS);
put('-', TokenType.MINUS);
put('*', TokenType.MULTIPLY);
put('/', TokenType.DIVIDE);
put('=', TokenType.EQUALS);
put(':', TokenType.COLON);
put(';', TokenType.SEMICOLON);
put('(', TokenType.LEFT_PAREN);
put(')', TokenType.RIGHT_PAREN);
put('{', TokenType.LEFT_BRACE);
put('}', TokenType.RIGHT_BRACE);
put('<', TokenType.LESS_THAN);
put('>', TokenType.GREATER_THAN);
}};
public Lexer(String input) {
Lexer.input = input;
index = 0;
currentChar = input.charAt(index);
}
private void nextChar() {
index++;
if (index >= input.length()) {
currentChar = EOF;
} else {
currentChar = input.charAt(index);
}
}
private void skipWhiteSpace() {
while (Character.isWhitespace(currentChar)) {
nextChar();
}
}
private int getIndentLevel() {
int level = 0;
int i = index;
char c = input.charAt(i);
while (c == ' ' || c == 't') {
if (c == 't') {
level += 1;
} else if (c == ' ') {
level += 1;
}
i++;
if (i >= input.length()) {
break;
}
Shank.java
package mypack;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class Shank {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Error: Exactly one argument is required.");
System.exit(0);
}
String filename = args[0];
try {
List<String> lines = Files.readAllLines(Paths.get(filename));
for (String line : lines) {
try {
Lexer lexer = new Lexer(line);
List<Token> tokens = lexer.lex(line);
for (Token token : tokens) {
System.out.println(token);
}
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
} catch (IOException e) {
System.out.println("Error: Could not read file '" + filename + "'.");
}
}
}
Token.java
package mypack;
public class Token {
public enum TokenType {
WORD,
NUMBER,
SYMBOL
}
public TokenType tokenType;
private String value;
public Token(TokenType type, String val) {
this.tokenType = type;
this.value = val;
}
public TokenType getTokenType() {
return this.tokenType;
}
public String toString() {
return this.tokenType + ": " + this.value;
}
}

More Related Content

Similar to Java Program- There are errors in the lexer and shank file- Please fix.docx

Serializing EMF models with Xtext
Serializing EMF models with XtextSerializing EMF models with Xtext
Serializing EMF models with Xtextmeysholdt
 
Jug trojmiasto 2014.04.24 tricky stuff in java grammar and javac
Jug trojmiasto 2014.04.24  tricky stuff in java grammar and javacJug trojmiasto 2014.04.24  tricky stuff in java grammar and javac
Jug trojmiasto 2014.04.24 tricky stuff in java grammar and javacAnna Brzezińska
 
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»Anna Shymchenko
 
Droidcon Poland - From Kotlin to Machine Code
Droidcon Poland - From Kotlin to Machine CodeDroidcon Poland - From Kotlin to Machine Code
Droidcon Poland - From Kotlin to Machine CodeTomasz Polanski
 
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemWprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemSages
 
What is the proper pseudocode for the following java codeimport j.pdf
What is the proper pseudocode for the following java codeimport j.pdfWhat is the proper pseudocode for the following java codeimport j.pdf
What is the proper pseudocode for the following java codeimport j.pdfartimagein
 
Scala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghScala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghStuart Roebuck
 
IT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdf
IT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdfIT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdf
IT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdfDhanuskarSankar1
 
Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams Ganesh Samarthyam
 
Opa presentation at GamesJs
Opa presentation at GamesJsOpa presentation at GamesJs
Opa presentation at GamesJsHenri Binsztok
 
Network security
Network securityNetwork security
Network securitybabyangle
 
Java Program I keep receiving the following error in my code- Can you.pdf
Java Program I keep receiving the following error in my code- Can you.pdfJava Program I keep receiving the following error in my code- Can you.pdf
Java Program I keep receiving the following error in my code- Can you.pdfRyanF2PLeev
 
Frequency .java Word frequency counter package frequ.pdf
Frequency .java  Word frequency counter  package frequ.pdfFrequency .java  Word frequency counter  package frequ.pdf
Frequency .java Word frequency counter package frequ.pdfarshiartpalace
 

Similar to Java Program- There are errors in the lexer and shank file- Please fix.docx (20)

Serializing EMF models with Xtext
Serializing EMF models with XtextSerializing EMF models with Xtext
Serializing EMF models with Xtext
 
Why Learn Python?
Why Learn Python?Why Learn Python?
Why Learn Python?
 
Jug trojmiasto 2014.04.24 tricky stuff in java grammar and javac
Jug trojmiasto 2014.04.24  tricky stuff in java grammar and javacJug trojmiasto 2014.04.24  tricky stuff in java grammar and javac
Jug trojmiasto 2014.04.24 tricky stuff in java grammar and javac
 
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
Дмитрий Контрерас «Back to the future: the evolution of the Java Type System»
 
Droidcon Poland - From Kotlin to Machine Code
Droidcon Poland - From Kotlin to Machine CodeDroidcon Poland - From Kotlin to Machine Code
Droidcon Poland - From Kotlin to Machine Code
 
Multithreading in Java
Multithreading in JavaMultithreading in Java
Multithreading in Java
 
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data EcosystemWprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
Wprowadzenie do technologii Big Data / Intro to Big Data Ecosystem
 
What is the proper pseudocode for the following java codeimport j.pdf
What is the proper pseudocode for the following java codeimport j.pdfWhat is the proper pseudocode for the following java codeimport j.pdf
What is the proper pseudocode for the following java codeimport j.pdf
 
Scala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghScala @ TechMeetup Edinburgh
Scala @ TechMeetup Edinburgh
 
IT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdf
IT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdfIT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdf
IT8761-SECURITY LABORATORY-590519304-IT8761 security labmanual.pdf
 
TechTalk - Dotnet
TechTalk - DotnetTechTalk - Dotnet
TechTalk - Dotnet
 
Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams Productive Programming in Java 8 - with Lambdas and Streams
Productive Programming in Java 8 - with Lambdas and Streams
 
C tutorial
C tutorialC tutorial
C tutorial
 
C tutorial
C tutorialC tutorial
C tutorial
 
C tutorial
C tutorialC tutorial
C tutorial
 
Opa presentation at GamesJs
Opa presentation at GamesJsOpa presentation at GamesJs
Opa presentation at GamesJs
 
Network security
Network securityNetwork security
Network security
 
Akka
AkkaAkka
Akka
 
Java Program I keep receiving the following error in my code- Can you.pdf
Java Program I keep receiving the following error in my code- Can you.pdfJava Program I keep receiving the following error in my code- Can you.pdf
Java Program I keep receiving the following error in my code- Can you.pdf
 
Frequency .java Word frequency counter package frequ.pdf
Frequency .java  Word frequency counter  package frequ.pdfFrequency .java  Word frequency counter  package frequ.pdf
Frequency .java Word frequency counter package frequ.pdf
 

More from lucilabevin

JKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docx
JKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docxJKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docx
JKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docxlucilabevin
 
Jeffrey has a company with 100 employees- Over the past quarter he has.docx
Jeffrey has a company with 100 employees- Over the past quarter he has.docxJeffrey has a company with 100 employees- Over the past quarter he has.docx
Jeffrey has a company with 100 employees- Over the past quarter he has.docxlucilabevin
 
JCL Inc- is a major chip manufacturing firm that sells its products to (3).docx
JCL Inc- is a major chip manufacturing firm that sells its products to (3).docxJCL Inc- is a major chip manufacturing firm that sells its products to (3).docx
JCL Inc- is a major chip manufacturing firm that sells its products to (3).docxlucilabevin
 
Java-Data structure Write a method that reverses the order of elemen.docx
Java-Data structure   Write a method that reverses the order of elemen.docxJava-Data structure   Write a method that reverses the order of elemen.docx
Java-Data structure Write a method that reverses the order of elemen.docxlucilabevin
 
JAVA please How do we implement a circular array Create an array of si.docx
JAVA please How do we implement a circular array Create an array of si.docxJAVA please How do we implement a circular array Create an array of si.docx
JAVA please How do we implement a circular array Create an array of si.docxlucilabevin
 
java Implement an algorithm to find the nth to the last element of a s.docx
java Implement an algorithm to find the nth to the last element of a s.docxjava Implement an algorithm to find the nth to the last element of a s.docx
java Implement an algorithm to find the nth to the last element of a s.docxlucilabevin
 
Jarrod became the father of triplets on June 20- On what date is he.docx
Jarrod became the father of triplets on June 20-   On what date is he.docxJarrod became the father of triplets on June 20-   On what date is he.docx
Jarrod became the father of triplets on June 20- On what date is he.docxlucilabevin
 
Janelle is a sixth-grade student who experiences hearing loss- When Ja.docx
Janelle is a sixth-grade student who experiences hearing loss- When Ja.docxJanelle is a sixth-grade student who experiences hearing loss- When Ja.docx
Janelle is a sixth-grade student who experiences hearing loss- When Ja.docxlucilabevin
 
Jane- who is married to Stuart- and Betty- a divorced single parent- h.docx
Jane- who is married to Stuart- and Betty- a divorced single parent- h.docxJane- who is married to Stuart- and Betty- a divorced single parent- h.docx
Jane- who is married to Stuart- and Betty- a divorced single parent- h.docxlucilabevin
 
It is the responsibility of the stakeholders to identify themselves to.docx
It is the responsibility of the stakeholders to identify themselves to.docxIt is the responsibility of the stakeholders to identify themselves to.docx
It is the responsibility of the stakeholders to identify themselves to.docxlucilabevin
 
Isabei Briggs Myers was a pioneer in the study of personality types- T.docx
Isabei Briggs Myers was a pioneer in the study of personality types- T.docxIsabei Briggs Myers was a pioneer in the study of personality types- T.docx
Isabei Briggs Myers was a pioneer in the study of personality types- T.docxlucilabevin
 
Issue Materiality is to Sustainability Materiality as Stakeholder Mana.docx
Issue Materiality is to Sustainability Materiality as Stakeholder Mana.docxIssue Materiality is to Sustainability Materiality as Stakeholder Mana.docx
Issue Materiality is to Sustainability Materiality as Stakeholder Mana.docxlucilabevin
 
Inflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docx
Inflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docxInflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docx
Inflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docxlucilabevin
 
is often used for interaction structure prediction)- Questions for Dis.docx
is often used for interaction structure prediction)- Questions for Dis.docxis often used for interaction structure prediction)- Questions for Dis.docx
is often used for interaction structure prediction)- Questions for Dis.docxlucilabevin
 
Ip Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docx
Ip Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docxIp Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docx
Ip Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docxlucilabevin
 
Introduction- Take this quiz to get a quick check on your understandin.docx
Introduction- Take this quiz to get a quick check on your understandin.docxIntroduction- Take this quiz to get a quick check on your understandin.docx
Introduction- Take this quiz to get a quick check on your understandin.docxlucilabevin
 
Introduction to Minerals and Rocks A large segment of geology is the s.docx
Introduction to Minerals and Rocks A large segment of geology is the s.docxIntroduction to Minerals and Rocks A large segment of geology is the s.docx
Introduction to Minerals and Rocks A large segment of geology is the s.docxlucilabevin
 
Introduction to Pest Biology Lab Manual- Try to complete this matching.docx
Introduction to Pest Biology Lab Manual- Try to complete this matching.docxIntroduction to Pest Biology Lab Manual- Try to complete this matching.docx
Introduction to Pest Biology Lab Manual- Try to complete this matching.docxlucilabevin
 
In which organisms a part of the genetic code has alternative reading-.docx
In which organisms a part of the genetic code has alternative reading-.docxIn which organisms a part of the genetic code has alternative reading-.docx
In which organisms a part of the genetic code has alternative reading-.docxlucilabevin
 
intermediate accounting II CH 14 Question 1- Early extinguishment of d.docx
intermediate accounting II CH 14 Question 1- Early extinguishment of d.docxintermediate accounting II CH 14 Question 1- Early extinguishment of d.docx
intermediate accounting II CH 14 Question 1- Early extinguishment of d.docxlucilabevin
 

More from lucilabevin (20)

JKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docx
JKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docxJKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docx
JKCorp- was listed in the US- sock marke- and isued lever 2 ADR- Whot.docx
 
Jeffrey has a company with 100 employees- Over the past quarter he has.docx
Jeffrey has a company with 100 employees- Over the past quarter he has.docxJeffrey has a company with 100 employees- Over the past quarter he has.docx
Jeffrey has a company with 100 employees- Over the past quarter he has.docx
 
JCL Inc- is a major chip manufacturing firm that sells its products to (3).docx
JCL Inc- is a major chip manufacturing firm that sells its products to (3).docxJCL Inc- is a major chip manufacturing firm that sells its products to (3).docx
JCL Inc- is a major chip manufacturing firm that sells its products to (3).docx
 
Java-Data structure Write a method that reverses the order of elemen.docx
Java-Data structure   Write a method that reverses the order of elemen.docxJava-Data structure   Write a method that reverses the order of elemen.docx
Java-Data structure Write a method that reverses the order of elemen.docx
 
JAVA please How do we implement a circular array Create an array of si.docx
JAVA please How do we implement a circular array Create an array of si.docxJAVA please How do we implement a circular array Create an array of si.docx
JAVA please How do we implement a circular array Create an array of si.docx
 
java Implement an algorithm to find the nth to the last element of a s.docx
java Implement an algorithm to find the nth to the last element of a s.docxjava Implement an algorithm to find the nth to the last element of a s.docx
java Implement an algorithm to find the nth to the last element of a s.docx
 
Jarrod became the father of triplets on June 20- On what date is he.docx
Jarrod became the father of triplets on June 20-   On what date is he.docxJarrod became the father of triplets on June 20-   On what date is he.docx
Jarrod became the father of triplets on June 20- On what date is he.docx
 
Janelle is a sixth-grade student who experiences hearing loss- When Ja.docx
Janelle is a sixth-grade student who experiences hearing loss- When Ja.docxJanelle is a sixth-grade student who experiences hearing loss- When Ja.docx
Janelle is a sixth-grade student who experiences hearing loss- When Ja.docx
 
Jane- who is married to Stuart- and Betty- a divorced single parent- h.docx
Jane- who is married to Stuart- and Betty- a divorced single parent- h.docxJane- who is married to Stuart- and Betty- a divorced single parent- h.docx
Jane- who is married to Stuart- and Betty- a divorced single parent- h.docx
 
It is the responsibility of the stakeholders to identify themselves to.docx
It is the responsibility of the stakeholders to identify themselves to.docxIt is the responsibility of the stakeholders to identify themselves to.docx
It is the responsibility of the stakeholders to identify themselves to.docx
 
Isabei Briggs Myers was a pioneer in the study of personality types- T.docx
Isabei Briggs Myers was a pioneer in the study of personality types- T.docxIsabei Briggs Myers was a pioneer in the study of personality types- T.docx
Isabei Briggs Myers was a pioneer in the study of personality types- T.docx
 
Issue Materiality is to Sustainability Materiality as Stakeholder Mana.docx
Issue Materiality is to Sustainability Materiality as Stakeholder Mana.docxIssue Materiality is to Sustainability Materiality as Stakeholder Mana.docx
Issue Materiality is to Sustainability Materiality as Stakeholder Mana.docx
 
Inflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docx
Inflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docxInflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docx
Inflammatory bowel disease (IBD) is an autoimmune disorder impacting t.docx
 
is often used for interaction structure prediction)- Questions for Dis.docx
is often used for interaction structure prediction)- Questions for Dis.docxis often used for interaction structure prediction)- Questions for Dis.docx
is often used for interaction structure prediction)- Questions for Dis.docx
 
Ip Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docx
Ip Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docxIp Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docx
Ip Task- Study- mor rests e car for en ogroed pobiod oi The bemaked on.docx
 
Introduction- Take this quiz to get a quick check on your understandin.docx
Introduction- Take this quiz to get a quick check on your understandin.docxIntroduction- Take this quiz to get a quick check on your understandin.docx
Introduction- Take this quiz to get a quick check on your understandin.docx
 
Introduction to Minerals and Rocks A large segment of geology is the s.docx
Introduction to Minerals and Rocks A large segment of geology is the s.docxIntroduction to Minerals and Rocks A large segment of geology is the s.docx
Introduction to Minerals and Rocks A large segment of geology is the s.docx
 
Introduction to Pest Biology Lab Manual- Try to complete this matching.docx
Introduction to Pest Biology Lab Manual- Try to complete this matching.docxIntroduction to Pest Biology Lab Manual- Try to complete this matching.docx
Introduction to Pest Biology Lab Manual- Try to complete this matching.docx
 
In which organisms a part of the genetic code has alternative reading-.docx
In which organisms a part of the genetic code has alternative reading-.docxIn which organisms a part of the genetic code has alternative reading-.docx
In which organisms a part of the genetic code has alternative reading-.docx
 
intermediate accounting II CH 14 Question 1- Early extinguishment of d.docx
intermediate accounting II CH 14 Question 1- Early extinguishment of d.docxintermediate accounting II CH 14 Question 1- Early extinguishment of d.docx
intermediate accounting II CH 14 Question 1- Early extinguishment of d.docx
 

Recently uploaded

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 

Recently uploaded (20)

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 

Java Program- There are errors in the lexer and shank file- Please fix.docx

  • 1. Java Program: There are errors in the lexer and shank file. Please fix those errors and there must be no error in any of the code at all. Below is the lexer, shank, and token files. The shank file is the main method. There is a rubric attached as well. Lexer.java import java.util.ArrayList; import java.util.HashMap; import java.util.List; import mypack.Token.TokenType; public class Lexer { private static final int INTEGER_STATE = 1; private static final int DECIMAL_STATE = 2; private static final int IDENTIFIER_STATE = 3; private static final int SYMBOL_STATE = 4; private static final int ERROR_STATE = 5; private static final int STRING_STATE = 6; private static final int CHAR_STATE = 7; private static final int COMMENT_STATE = 8; private static final char EOF = (char) -1; private static String input; private static int index; private static char currentChar; private static int lineNumber = 1; private static int indentLevel = 0; private static int lastIndentLevel = 0; private static HashMap<String, TokenType> keywords = new HashMap<String, TokenType>() {{ put("while", TokenType.WHILE); put("if", TokenType.IF); put("else", TokenType.ELSE); put("print", TokenType.PRINT); }}; private static HashMap<Character, TokenType> symbols = new HashMap<Character, TokenType>() {{ put('+', TokenType.PLUS); put('-', TokenType.MINUS); put('*', TokenType.MULTIPLY); put('/', TokenType.DIVIDE);
  • 2. put('=', TokenType.EQUALS); put(':', TokenType.COLON); put(';', TokenType.SEMICOLON); put('(', TokenType.LEFT_PAREN); put(')', TokenType.RIGHT_PAREN); put('{', TokenType.LEFT_BRACE); put('}', TokenType.RIGHT_BRACE); put('<', TokenType.LESS_THAN); put('>', TokenType.GREATER_THAN); }}; public Lexer(String input) { Lexer.input = input; index = 0; currentChar = input.charAt(index); } private void nextChar() { index++; if (index >= input.length()) { currentChar = EOF; } else { currentChar = input.charAt(index); } } private void skipWhiteSpace() { while (Character.isWhitespace(currentChar)) { nextChar(); } } private int getIndentLevel() { int level = 0; int i = index; char c = input.charAt(i); while (c == ' ' || c == 't') { if (c == 't') { level += 1; } else if (c == ' ') { level += 1; } i++; if (i >= input.length()) { break; }
  • 3. Shank.java package mypack; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class Shank { public static void main(String[] args) { if (args.length != 1) { System.out.println("Error: Exactly one argument is required."); System.exit(0); } String filename = args[0]; try { List<String> lines = Files.readAllLines(Paths.get(filename)); for (String line : lines) { try { Lexer lexer = new Lexer(line); List<Token> tokens = lexer.lex(line); for (Token token : tokens) { System.out.println(token); } } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); } } } catch (IOException e) { System.out.println("Error: Could not read file '" + filename + "'."); } } } Token.java
  • 4. package mypack; public class Token { public enum TokenType { WORD, NUMBER, SYMBOL } public TokenType tokenType; private String value; public Token(TokenType type, String val) { this.tokenType = type; this.value = val; } public TokenType getTokenType() { return this.tokenType; } public String toString() { return this.tokenType + ": " + this.value; } }