Pesquisar na Comunidade
Mostrando resultados para as tags ''ct''.
Encontrado 1 registro
-
Bem estava pensando em desenvolver uma sub - linguagem ela não chega a ser uma linguagem(OBVIO) porque mesmo que use o comandos dela você estará executando em Lua. No final de tudo você esta programando em Lua . Ela e mais primitiva e então eu fiz uma demozinha e vou disponibilizar o andamento dela. Por enquanto ela tem 3 estruturas básicas função,um looopzinho e uma verificação. str = "\n--function print ['oi hear'['ola'['verdade'\n--function print ['oi'\n--loopCT [4 [{--function print ['year'}\n--gets [7 > 6 [{--function print ['oi'}\n" function string.explode(e, sep) local result = {} e:gsub("[^".. sep .."]+", function(s) table.insert(result, s:match("^%s*(.-)%s*$")) end) return result end function maior(x, y) if x == y then return "" end return "," end function interpreteFunctionInCt(str) for i in str:gmatch("--function (.*)") do local t = string.explode(i, "[") str = "" for x=2, #t do str = str..""..t[x]..""..maior(x, #t).."" end local str = t[1].."("..str..")" loadstring(str) () end end function ifCT(str) for i in str:gmatch("--gets (.*)") do local t = string.explode(i, "[") y = loadstring('return (' .. t[1].. ')')() if y then local y = string.match(i, "{(.-)}") print(y) interpreteFunctionInCt(y) end end end function loopCT(str) for i in str:gmatch("--loopCT (.*)") do local t = string.explode(i, "[") print(t[1]) for x =1, tonumber(t[1]) do local y = string.match(i, "{(.-)}") interpreteFunctionInCt(y) end end end function detectCTtype(str) for i in str:gmatch("--(.-)\n") do if string.sub(i, 1, 6) == "--func" then interpreteFunctionInCt(i) end if string.sub(i, 1, 6) == "--loop" then loopCT(i) end if string.sub(i, 1, 6) == "--gets" then ifCT(i) end end return true end detectCTtype(str) As únicas regras que existem na syntax. Saltar Linhas Cada estrutura em uma linha E sempre obedecer o "--" Veja como ficaria: --function print ['oi hear'['ola'['verdade' ---- Printa --function print ['oi'\n --- Printa --loopCT [4 [{--function print ['year'} ---Faz um loop e printa 4 vezes a função --gets [7 > 6 [{--function print ['oi'}" ----Verifica 1 argumento se for true executa a função se for false não executa a função Obs: Para que usar CT? Quem sabe para pequenos scripts ou configs. Ou mesmo para aprendizagem afinal ela super fácil de manipular.
- 7 respostas
-
- linguagem ct
- ct
-
(e 3 mais)
Tags: