Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. package compilers;
  2.  
  3. /**
  4. *
  5. * @author ENGINEER
  6. */import java.io.*;
  7. import java.util.Scanner;
  8. public class lexical {
  9. public look_up_table lut=new look_up_table();
  10. public void insert_lut(String tok){
  11. if(is_rw(tok))
  12. lut.insert(tok, "rw");
  13. else if(is_dig(tok))
  14. lut.insert(tok, "dig");
  15. else if(is_id(tok))
  16. lut.insert(tok, "id");
  17. else
  18. System.out.println(tok+"error");
  19.  
  20.  
  21.  
  22. }
  23. public void insert_ch(char ch){
  24. if(is_op(ch))
  25. lut.insert(String.valueOf(ch),"op");
  26. else if(is_sp(ch))
  27. lut.insert(String.valueOf(ch),"sp");
  28. else
  29. System.out.println(ch+"error");
  30. }
  31. public void run(look_up_table lut1)throws Exception{
  32. String s,tok="";
  33. lut=lut1;
  34. int i;
  35.  
  36. char ch;
  37. Scanner in=new Scanner(new File("D:\\aya.txt"));
  38. while(in.hasNext()){
  39. s=in.nextLine();
  40.  
  41. for(i=0;i<s.length();i++){
  42. ch=s.charAt(i);
  43. if(ch!=' '){
  44. if(is_sp(ch)||is_op(ch)){
  45.  
  46.  
  47. insert_lut(tok);
  48. tok="";
  49.  
  50.  
  51. insert_ch(ch);
  52. ch=' ';
  53.  
  54.  
  55. }
  56. else tok+=ch;
  57. }
  58. else if(!tok.equals("")) {
  59.  
  60.  
  61. insert_lut(tok);
  62. tok="";
  63. }
  64. }
  65. if(!tok.equals("")){
  66.  
  67. insert_lut(tok);
  68. tok="";
  69. }
  70. }
  71. in.close();
  72.  
  73. //}
  74.  
  75.  
  76. }
  77. public static boolean is_sp(char ch){
  78. if(ch==';'||ch==','||ch=='{'||ch=='}'||ch=='('||ch==')')
  79. return true;
  80. else
  81. return false;
  82. }
  83. public static boolean is_op(char ch){
  84. if(ch=='+'||ch=='*'||ch=='/'||ch=='='||ch=='-')
  85. return true;
  86. else
  87. return false;
  88. }
  89.  
  90. public static boolean is_rw(String s1){
  91. if(s1.equals("byte")||s1.equals("int")||s1.equals("body")||s1.equals("print")||s1.equals("Def"))
  92. return true;
  93. else
  94. return false;
  95. }
  96.  
  97. public static boolean is_dig(String s1){
  98. for(int i=0;i<s1.length();i++){
  99. if(s1.charAt(i)>='0'&&s1.charAt(i)<='9')
  100. continue;
  101. else
  102. return false;
  103. }
  104. return true;
  105.  
  106.  
  107. }
  108. public static boolean is_id(String s1){
  109. if(s1.charAt(0)>='a'&&s1.charAt(0)<='z'||s1.charAt(0)>='A'&&s1.charAt(0)<='Z'){
  110. for(int i=1;i<s1.length();i++){
  111. 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')
  112. continue;
  113. else
  114. return false;
  115. }
  116.  
  117. }
  118. else
  119. return false;
  120.  
  121. return true;
  122.  
  123.  
  124.  
  125. }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement