lean.lua (344B)
1 local M = {_NAME = "lean"} 2 3 local l = require("lexer") 4 local P, R, S = lpeg.P, lpeg.R, lpeg.S 5 local T = l.token 6 7 local function I(s) -- Case-insensitive string match 8 local p = P(true) 9 for i = 1, #s do 10 local c = s:sub(i, i) 11 p = p * (P(c:lower()) + P(c:upper())) 12 end 13 return p 14 end 15 16 -- TODO 17 18 M._rules = { 19 } 20 21 M._tokenstyles = { 22 } 23 24 return M