Advertisement
Guest User

Untitled

a guest
May 28th, 2015
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. public boolean isStrongLlk(MyLang language) {
  2. // FIRSTk(a FOLLOWk(A)) + FIRSTk(b FOLLOWk(A)) = 0
  3. boolean retValue = true;
  4. int indexI = 0;
  5. List<Node> rules = language.getLanguarge();
  6. for (Node ruleI : rules) {
  7. if (!retValue) {
  8. break;
  9. }
  10. ++indexI;
  11. LlkContext contextI = ruleI.getFirstFollowK();
  12. int indexJ = 0;
  13. for (Node ruleJ : rules) {
  14. ++indexJ;
  15. if (ruleI == ruleJ || !retValue) {
  16. break;
  17. }
  18. if (ruleI.getRoole()[0] == ruleJ.getRoole()[0]) {
  19. LlkContext contextJ = ruleJ.getFirstFollowK();
  20. for (int i = 0; i < contextI.calcWords(); ++i) {
  21. if (contextJ.wordInContext(contextI.getWord(i))) {
  22. System.out.println(
  23. String.format("Rules with indices %s and %s do not conform to strong LLk k = %s",
  24. indexI, indexJ, language.getLlkConst()
  25. )
  26. );
  27. retValue = false;
  28. break;
  29. }
  30. }
  31. }
  32. }
  33. }
  34. return retValue;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement