plua 0.1.1

Lua preprocessor inspired by Nelua
Documentation
##function class(name, base)
  local #|name|# = {}
  function #|name|#:new(...)
    self.__index = self
    setmetatable(self, { __index = #|base or "self"|# })
    ##if base then
      #|name|#.super = #|base|#
    ##end
    local obj = {}
    setmetatable(obj, self)
    if type(obj.init) == "function" then
      obj:init(...)
    end
    return obj
  end
##end

##class("Person")

function Person:init(name, age)
  self.name = name
  self.age = age
end

function Person:greet()
  print("Hello, I am " .. self.name .. ", and I am " .. self.age .. " years old.")
end

##class("Corey", "Person")

function Corey:init()
  Corey.super.init(self, "Corey", 33)
end

local p = Corey:new()
p:greet()