Question: Q: talk about this 2 classes and explain in 1- package compilerscanner; import java.util.ArrayList; import java.util.regex.Pattern; public class ScannerConstruction { String varName = _[a-z][a-zA-Z0-9_]*; String

Q: talk about this 2 classes and explain in

1-

package compilerscanner;

import java.util.ArrayList; import java.util.regex.Pattern;

public class ScannerConstruction {

String varName = "_[a-z][a-zA-Z0-9_]*"; String text = "[a-zA-Z0-9_@#$!%&*-/+=]+"; String numInt = "[0-9]+"; String numReal = "[0-9]+[.][0-9]+"; String comment = "[<][a-zA-Z0-9_@#$!?%^&*-/+]+[>]";

String tokenType = "";

ArrayList keywords = new ArrayList(); ArrayList Operands = new ArrayList(); ArrayList symbol = new ArrayList(); ArrayList bracts = new ArrayList();

public ScannerConstruction() {

Operands.add("-"); Operands.add("/"); Operands.add("*"); Operands.add("+"); Operands.add(">"); Operands.add("<"); Operands.add("="); Operands.add("!="); Operands.add("not"); Operands.add("and"); Operands.add("or");

keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add(""); keywords.add("");

bracts.add("("); bracts.add(")"); bracts.add("["); bracts.add("]"); bracts.add("{"); bracts.add("}");

symbol.add(","); symbol.add(";"); symbol.add("\'"); symbol.add("\\"); symbol.add("\""); symbol.add("?"); }

public String getTokenType(String w) { if (keywords.contains(w)) { tokenType = "keyword"; } else if (Operands.contains(w)) { tokenType = "Operands"; } else if (symbol.contains(w)) { tokenType = "Symbol"; } else if (bracts.contains(w)) { tokenType = "Bracts"; } else if (Pattern.matches(numInt, w)) { tokenType = "Integer"; } else if (Pattern.matches(numReal, w)) { tokenType = "Real"; } else if (Pattern.matches(varName, w)) { tokenType = "variable"; } else if (Pattern.matches(comment, w)) { tokenType = "Comment"; } else if (Pattern.matches(text, w)) { tokenType = "Text"; } else { tokenType = "Error"; } return tokenType; }

}

2-

package compilerscanner;

import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import jdk.nashorn.internal.parser.Lexer;

/** * * @author DELL */

public class CompilerScanner {

public static void main(String[] args) throws FileNotFoundException { String str = ""; File File = new File("Input.txt"); Scanner s = new Scanner(File); ScannerConstruction sc = new ScannerConstruction(); while(s.hasNext()){ str = s.next(); System.out.println("input word = \\" + str + "\\ \t token = " + sc.getTokenType(str)); } } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!