Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. let keywordMap = {
  2. 'Обећање': 'Promise',
  3. 'асинхрона': 'async',
  4. 'одложи': 'setTimeout',
  5. 'сачекај': 'await',
  6. 'онда': 'then',
  7. 'ухвати': 'catch',
  8. 'пробај': 'try',
  9. 'празно': 'null',
  10. 'заСваки': 'forEach',
  11. 'недефинисано': 'undefined',
  12. 'Математика': 'Math',
  13. 'насумично': 'random',
  14. 'функција': 'function',
  15. 'класа': 'class',
  16. 'наслеђује': 'extends',
  17. 'конструктор': 'constructor',
  18. 'врати': 'return',
  19. 'испиши': 'alert',
  20. 'константа': 'const',
  21. 'дај да': 'let',
  22. 'ово': 'this',
  23. 'буде': '=',
  24. 'дохвати': 'fetch',
  25. 'пробај': 'try',
  26. 'баци': 'throw',
  27. 'Грешку': 'Error',
  28. 'гурни': 'push',
  29. 'споји': 'join',
  30. 'добија вредност': '=',
  31. 'повећај за': '+=',
  32. 'увећај за': '+=',
  33. 'умањи за': '-=',
  34. 'нетачно': 'false',
  35. 'тачно': 'true',
  36. 'није једнако': '!=',
  37. 'није': '!',
  38. 'мањи од': '<',
  39. 'мање од': '<',
  40. 'већи од': '>',
  41. 'веће од': '>',
  42. 'постаје': '=',
  43. 'једнако': '=',
  44. 'Низ': 'Array',
  45. 'процеди': 'filter',
  46. 'дужина': 'length',
  47. 'нови': 'new',
  48. 'нова': 'new',
  49. 'ново': 'new',
  50. 'нову': 'new',
  51. 'пута': '*',
  52. 'за': 'for',
  53. 'док': 'while',
  54. 'ако': 'if',
  55. 'у супрутном': 'else',
  56. 'или': '||',
  57. 'и': '&&',
  58. }
  59.  
  60. function execute(code) {
  61. code = ` ${code} `
  62.  
  63. let newCode = Object.keys(keywordMap).reduce((prev, keyword) => {
  64. return prev
  65. .replace(
  66. new RegExp(`(\\s|\\(|\\.|\\'|\\"|\\{}|\\=)${keyword}(\\s|\\(|\\.|\\'|\\"|\\{}|\\=|\\)|\\;)`, 'g'),
  67. `$1${keywordMap[keyword]}$2`
  68. )
  69. }, code)
  70.  
  71. try {
  72. let result = eval(newCode)
  73. return result
  74. } catch (ex) {
  75. return ex
  76. }
  77. }
  78.  
  79. window.execute = execute
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement