Исходник Интерпретатор "Simple Language"

imring

Ride the Lightning
Всефорумный модератор
2,353
2,512
upload_2019-6-19_19-48-5.png

пиздец что это
сделал бы похожее на это (не чекал код)
Lua:
local funcs = {}

local function split(str, delim, plain)
    local tokens, pos, plain = {}, 1, not (plain == false) --[[ delimiter is plain text by default ]]
    repeat
        local npos, epos = string.find(str, delim, pos, plain)
        table.insert(tokens, string.sub(str, pos, npos and npos - 1))
        pos = epos and epos + 1
    until not pos
    return tokens
end

local function create_function(name, func)
    assert(type(func) == 'function')
    funcs[tostring(name)] = func
end

local function get_param(param)
    -- number
    local a = tonumber(param)
    if a then return a end
    -- string
    a = param:match('"([^"]+)')
    if a then return a end
    -- values
    a = SInfo[scr].vars[param]
    if a then return a end

    error('not found value.')
end

local namefunc, params = vlines:match('(.-)%((.+)%)%s*;')
if namefunc then
    assert(funcs[namefunc], 'not found function.')
    params = split(params, ',')
    for i = 1, #params do
        params[i] = get_param(param)
    end
    funcs[namefunc](unpack(params[i]))
end

да и вопрос - нахуя ваще это, когда есть moonscript?
https://moonscript.org
 

Pakulichev

Software Developer & System Administrator
Автор темы
Друг
1,789
2,130
да и вопрос - нахуя ваще это, когда есть moonscript?
То, что вы увидите в данном проекте - моё личное желание сделать что-нибудь необычное.

Го конструктор луа скриптов на imgui))
Если сесть, чтобы поумирать, то можно, да. Посмотрим, короче)
 

Pakulichev

Software Developer & System Administrator
Автор темы
Друг
1,789
2,130
Азллер при рождении чище код писал, что это такое.
Вся конструктивная критика будет выслушана, а неаргументированная проигнорирована.
Если есть какие-то вопросы к коду, то попрошу детальнее. Про любой код можно сказать, что он плохой. И да, у меня не было желания переносить точь-в-точь все функции LUA в данный "скрипт" - я просто хотел убить время и сделать что-нибудь прикольное.
 

Frapsy

Известный
Проверенный
393
226
Благо это не выйдет дальше тестовых извращений, ибо если бы я увидел скрипт в паблике на этой еботне, то.. Сказать, что я бы ахуел с маразма - ничего не сказать.
 

Pakulichev

Software Developer & System Administrator
Автор темы
Друг
1,789
2,130
Благо это не выйдет дальше тестовых извращений, ибо если бы я увидел скрипт в паблике на этой еботне, то.. Сказать, что я бы ахуел с маразма - ничего не сказать.
О, я ждал тебя :trollface2: