Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. set<string> Grammar::FIRST(string& str)
  2. {
  3. set<string> result;
  4. if (str == "e")
  5. {
  6. result.insert("e");
  7. return result;
  8. }
  9.  
  10. for (auto i : FIRSTForG[str])
  11. {
  12. result.insert(i);
  13. }
  14. return result;
  15. }
  16.  
  17.  
  18. set<string> Grammar::FIRST(vector<string>& str){
  19. set<string> result;
  20. if (str.size() == 1 && str[0] == "e")
  21. {
  22. result.insert("e");
  23. return result;
  24. }
  25. if (str.size() == 1)
  26. {
  27. for (auto i : FIRSTForG[str[0]])
  28. {
  29. result.insert(i);
  30. }
  31. return result;
  32. }
  33. // Вставляем код задачи 5.1.3
  34. for (auto i : str)
  35. {
  36. set<string> testF = FIRST(i);
  37. for (auto i : testF)
  38. {
  39. if (i != "e")
  40. {
  41. result.insert(i);
  42. }
  43. }
  44. if (!testF.count("e") && testF.size()>0)
  45. return result;
  46. }
  47. result.insert("e");
  48. return result;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement