| Server IP : 208.122.213.31 / Your IP : 216.73.216.45 Web Server : Apache System : Linux msd6191.mjhst.com 4.18.0-553.137.1.el8_10.x86_64 #1 SMP Wed Jun 24 11:40:24 UTC 2026 x86_64 User : WHMCS_MIA_382 ( 1001) PHP Version : 7.4.33 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/cwd/wp-content/plugins/cornerstone/includes/classes/Parsy/ |
Upload File : |
<?php
namespace Themeco\Cornerstone\Parsy;
class Language {
protected $debug;
protected $language;
public function setup($debug = false) {
$this->debug = $debug;
$this->language = self::create($this->grammar());
return $this;
}
public function grammar() {
return [];
}
public function __get($key) {
return $this->language->{$key};
}
// This lets us define a set of parsers that can be called recursively
public static function create( $grammar ) {
$language = new \stdClass;
$cache = new \stdClass;
foreach ( $grammar as $key => $parserFn ) {
if (!is_callable($parserFn)) {
$language->{$key} = $parserFn;
} else {
$language->{$key} = P::lazy(function() use( $parserFn, $language, &$cache, $key ) {
if ( ! isset( $cache->{$key} ) ) {
$cache->{$key} = $parserFn($language,$key)->name($key);
}
return $cache->{$key};
}, $key);
}
}
return $language;
}
}