diff --git a/dist/lin.lua b/dist/lin.lua index 3b381e8..76fa48c 100644 --- a/dist/lin.lua +++ b/dist/lin.lua @@ -6262,6 +6262,10 @@ local fnl = mod local nat = {} +function nat.parse(str) + return str +end + ----------------------------------- LITERATE ---------------------------------- -- Variable for all literate stuff @@ -6317,14 +6321,13 @@ function lit.eval(code) end ]]-- -function lit.parse_declarations(codeblock) +function lit.parse_blocks(codeblock) print(codeblock) return codeblock end -function lit.parse_calls(inlines) - str = pandoc.utils.stringify(inlines) - print(str) +function lit.parse_inserts(code) + print(code) -- lpeg.match(lit.g.inlines, raw) --[[ local doc = "" @@ -6336,27 +6339,29 @@ function lit.parse_calls(inlines) end return doc ]]-- - return inlines + return code end ------------------------------------ PANDOC ----------------------------------- return { { - -- Parses LIN declarations + -- Parses and evals literate blocks CodeBlock = function(codeblock) - return lit.parse_declarations(codeblock) + return lit.parse_blocks(codeblock) end, }, { - -- Avoids quotes conversion in stringify - Quoted = function(quoted) - str = pandoc.utils.stringify(quoted.content):gsub('"', '\\"') - return '"' .. str .. '"' + -- Parses literate inserts + Code = function(code) + return lit.parse_inserts(code) end, - -- Parses and does LIN calls + -- Parses and evals natural programming + -- TODO Inlines = function(inlines) - return lit.parse_calls(inlines) + md = pandoc.utils.stringify(inlines) + md = nat.parse(md) + return inlines end, } } diff --git a/src/literate.lua b/src/literate.lua index 218737d..4b0e0ff 100644 --- a/src/literate.lua +++ b/src/literate.lua @@ -53,14 +53,13 @@ function lit.eval(code) end ]]-- -function lit.parse_declarations(codeblock) +function lit.parse_blocks(codeblock) print(codeblock) return codeblock end -function lit.parse_calls(inlines) - str = pandoc.utils.stringify(inlines) - print(str) +function lit.parse_inserts(code) + print(code) -- lpeg.match(lit.g.inlines, raw) --[[ local doc = "" @@ -72,7 +71,7 @@ function lit.parse_calls(inlines) end return doc ]]-- - return inlines + return code end return lit diff --git a/src/natural.lua b/src/natural.lua index ce2d19d..79e4701 100644 --- a/src/natural.lua +++ b/src/natural.lua @@ -2,4 +2,8 @@ local nat = {} -return natural +function nat.parse(str) + return str +end + +return nat diff --git a/src/pandoc.lua b/src/pandoc.lua index 60612f6..f5f14fe 100644 --- a/src/pandoc.lua +++ b/src/pandoc.lua @@ -2,20 +2,22 @@ return { { - -- Parses LIN declarations + -- Parses and evals literate blocks CodeBlock = function(codeblock) - return lit.parse_declarations(codeblock) + return lit.parse_blocks(codeblock) end, }, { - -- Avoids quotes conversion in stringify - Quoted = function(quoted) - str = pandoc.utils.stringify(quoted.content):gsub('"', '\\"') - return '"' .. str .. '"' + -- Parses literate inserts + Code = function(code) + return lit.parse_inserts(code) end, - -- Parses and does LIN calls + -- Parses and evals natural programming + -- TODO Inlines = function(inlines) - return lit.parse_calls(inlines) + md = pandoc.utils.stringify(inlines) + md = nat.parse(md) + return inlines end, } }