ForeverDev

Untitled

Sep 26th, 2014
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.32 KB | None | 0 0
  1. local patterns = {
  2.     number = "%-?[%d+%.]+",
  3.     checkNumber = "%-?[%d+%.]*",
  4.     phrase = "[%a?%d?]+",
  5.     checkPhrase = "[%a+%d*]*",
  6.     space = "%s+",
  7.     word = "%a+",
  8. }
  9.  
  10. function translate(language, code)
  11.     local translations;
  12.     if language == "javascript" or language == "js" then
  13.         translations = {
  14.             ["(%a+)%s*%+%+"] = "%1 = %1 + 1",                                  
  15.             ["(%a+)%s*%+%=%s*("..patterns.number..")"] = "%1 = %1 + %2",
  16.             ["(%a+)%s*%-%-"] = "%1 = %1 - 1",                                          
  17.             ["if%s*%((.+)%)%s*{"] = "if %1 then",                              
  18.             ["while%s*%((.+)%)%s*{"] = "while %1 do",                          
  19.             ["for%s*%(v?a?r?%s*("..patterns.phrase.."%s*%=%s*"..patterns.number..");%s*"..patterns.phrase..".+("..patterns.number..");.+("..patterns.number..")%s*%)%s*{"] = "for %1, %2, %3 do",
  20.             ["for%s*%(v?a?r?%s*("..patterns.phrase.."%s*%=%s*"..patterns.number..");%s*"..patterns.phrase.."%s*.%s*("..patterns.phrase..");%s*"..patterns.phrase.."%s*=%s*"..patterns.phrase.."%s*.%s*("..patterns.number..")%s*%)%s*{"] = "for %1, %2, %3 do",
  21.             ["function%s+(%a+)%s*%((.+)%)%s*{"] = "function %1(%2)",
  22.             ["(function%s+%a+%s*%(.+%).+)}"] = "%1 end",
  23.             ["([while]?[if]?)(.+)([do]?[then]?)(.+)}"] = "%1 %2 %3 %4 end",
  24.             ["console%.log"] = "print",    
  25.             ["var"] = "local"
  26.         }
  27.     end
  28.     for pattern, replace in pairs(translations) do
  29.         code = code:gsub(pattern, replace)
  30.     end
  31.     return code
  32. end
Advertisement
Add Comment
Please, Sign In to add comment