Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package compilers;
- /**
- *
- * @author ENGINEER
- */import java.io.*;
- import java.util.Scanner;
- public class lexical {
- public look_up_table lut=new look_up_table();
- public void insert_lut(String tok){
- if(is_rw(tok))
- lut.insert(tok, "rw");
- else if(is_dig(tok))
- lut.insert(tok, "dig");
- else if(is_id(tok))
- lut.insert(tok, "id");
- else
- System.out.println(tok+"error");
- }
- public void insert_ch(char ch){
- if(is_op(ch))
- lut.insert(String.valueOf(ch),"op");
- else if(is_sp(ch))
- lut.insert(String.valueOf(ch),"sp");
- else
- System.out.println(ch+"error");
- }
- public void run(look_up_table lut1)throws Exception{
- String s,tok="";
- lut=lut1;
- int i;
- char ch;
- Scanner in=new Scanner(new File("D:\\aya.txt"));
- while(in.hasNext()){
- s=in.nextLine();
- for(i=0;i<s.length();i++){
- ch=s.charAt(i);
- if(ch!=' '){
- if(is_sp(ch)||is_op(ch)){
- insert_lut(tok);
- tok="";
- insert_ch(ch);
- ch=' ';
- }
- else tok+=ch;
- }
- else if(!tok.equals("")) {
- insert_lut(tok);
- tok="";
- }
- }
- if(!tok.equals("")){
- insert_lut(tok);
- tok="";
- }
- }
- in.close();
- //}
- }
- public static boolean is_sp(char ch){
- if(ch==';'||ch==','||ch=='{'||ch=='}'||ch=='('||ch==')')
- return true;
- else
- return false;
- }
- public static boolean is_op(char ch){
- if(ch=='+'||ch=='*'||ch=='/'||ch=='='||ch=='-')
- return true;
- else
- return false;
- }
- public static boolean is_rw(String s1){
- if(s1.equals("byte")||s1.equals("int")||s1.equals("body")||s1.equals("print")||s1.equals("Def"))
- return true;
- else
- return false;
- }
- public static boolean is_dig(String s1){
- for(int i=0;i<s1.length();i++){
- if(s1.charAt(i)>='0'&&s1.charAt(i)<='9')
- continue;
- else
- return false;
- }
- return true;
- }
- public static boolean is_id(String s1){
- if(s1.charAt(0)>='a'&&s1.charAt(0)<='z'||s1.charAt(0)>='A'&&s1.charAt(0)<='Z'){
- for(int i=1;i<s1.length();i++){
- if(s1.charAt(i)>='0'&&s1.charAt(i)<='9'||s1.charAt(0)>='a'&&s1.charAt(0)<='z'||s1.charAt(0)>='A'&&s1.charAt(0)<='Z')
- continue;
- else
- return false;
- }
- }
- else
- return false;
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement