Joomla CMS  3.10.11 (avec JPlatform 13.1 inclus)
Documentation des API du CMS Joomla en version 3.10.11 et du framework Joomla Platform intégré
Référence de la classe lessc_parser

Fonctions membres publiques

 __construct ($lessc, $sourceName=null)
 
 parse ($buffer)
 
 propertyValue (&$value, $keyName=null)
 
 throwError ($msg="parse error", $count=null)
 

Fonctions membres protégées

 parseChunk ()
 
 isDirective ($dirname, $directives)
 
 fixTags ($tags)
 
 expressionList (&$exps)
 
 expression (&$out)
 
 expHelper ($lhs, $minP)
 
 parenValue (&$out)
 
 value (&$value)
 
 import (&$out)
 
 mediaQueryList (&$out)
 
 mediaQuery (&$out)
 
 mediaExpression (&$out)
 
 openString ($end, &$out, $nestingOpen=null, $rejectStrs=null)
 
 string (&$out)
 
 interpolation (&$out)
 
 unit (&$unit)
 
 color (&$out)
 
 argumentDef (&$args, &$isVararg)
 
 tags (&$tags, $simple=false, $delim=',')
 
 mixinTags (&$tags)
 
 tagBracket (&$parts, &$hasExpression)
 
 tag (&$tag, $simple=false)
 
 func (&$func)
 
 variable (&$name)
 
 assign ($name=null)
 
 keyword (&$word)
 
 end ()
 
 guards (&$guards)
 
 guardGroup (&$guardGroup)
 
 guard (&$guard)
 
 literal ($what, $eatWhitespace=null)
 
 genericList (&$out, $parseItem, $delim="", $flatten=true)
 
 to ($what, &$out, $until=false, $allowNewline=false)
 
 match ($regex, &$out, $eatWhitespace=null)
 
 whitespace ()
 
 peek ($regex, &$out=null, $from=null)
 
 seek ($where=null)
 
 pushBlock ($selectors=null, $type=null)
 
 pushSpecialBlock ($type)
 
 append ($prop, $pos=null)
 
 pop ()
 
 removeComments ($text)
 

Attributs protégés

 $blockDirectives = array("font-face", "keyframes", "page", "-moz-document", "viewport", "-moz-viewport", "-o-viewport", "-ms-viewport")
 
 $lineDirectives = array("charset")
 
 $inParens = false
 

Attributs protégés statiques

static $nextBlockId = 0
 
static $precedence
 
static $whitePattern
 
static $commentMulti
 
static $commentSingle = "//"
 
static $commentMultiLeft = "/*"
 
static $commentMultiRight = "*/"
 
static $operatorString
 
static $supressDivisionProps
 
static $literalCache = array()
 

Documentation des constructeurs et destructeur

◆ __construct()

__construct (   $lessc,
  $sourceName = null 
)

Documentation des fonctions membres

◆ append()

append (   $prop,
  $pos = null 
)
protected

Références null.

Référencé par parseChunk(), et whitespace().

◆ argumentDef()

argumentDef ( $args,
$isVararg 
)
protected

Références $i, $value, assign(), elseif, literal(), seek(), et throwError().

Référencé par parseChunk().

◆ assign()

assign (   $name = null)
protected

Consume an assignment operator Can optionally take a name that will be set to the current property name

Références $name, et literal().

Référencé par argumentDef(), et parseChunk().

◆ color()

color ( $out)
protected

Références match().

Référencé par value().

◆ end()

end ( )
protected

Références elseif, et literal().

Référencé par openString(), et parseChunk().

◆ expHelper()

expHelper (   $lhs,
  $minP 
)
protected

recursively parse infix equation with $lhs at precedence $minP

Références $inParens, match(), peek(), seek(), et value().

Référencé par expression().

◆ expression()

expression ( $out)
protected

◆ expressionList()

expressionList ( $exps)
protected

Références lessc\compressList(), et expression().

Référencé par func(), et propertyValue().

◆ fixTags()

fixTags (   $tags)
protected

Référencé par parseChunk().

◆ func()

func ( $func)
protected

◆ genericList()

genericList ( $out,
  $parseItem,
  $delim = "",
  $flatten = true 
)
protected

Références $items, $value, literal(), et seek().

Référencé par mediaQuery(), et mediaQueryList().

◆ guard()

guard ( $guard)
protected

Références expression(), literal(), et seek().

Référencé par guardGroup().

◆ guardGroup()

guardGroup ( $guardGroup)
protected

Références guard(), literal(), null, et seek().

Référencé par guards().

◆ guards()

guards ( $guards)
protected

Références $g, guardGroup(), literal(), null, et seek().

Référencé par parseChunk().

◆ import()

import ( $out)
protected

Références $value, literal(), et propertyValue().

◆ interpolation()

interpolation ( $out)
protected

Références literal(), null, openString(), seek(), et whitespace().

Référencé par openString(), string(), tag(), et tagBracket().

◆ isDirective()

isDirective (   $dirname,
  $directives 
)
protected

Référencé par parseChunk().

◆ keyword()

keyword ( $word)
protected

◆ literal()

◆ match()

match (   $regex,
$out,
  $eatWhitespace = null 
)
protected

◆ mediaExpression()

mediaExpression ( $out)
protected

◆ mediaQuery()

mediaQuery ( $out)
protected

◆ mediaQueryList()

mediaQueryList ( $out)
protected

Références $list, et genericList().

Référencé par parseChunk().

◆ mixinTags()

mixinTags ( $tags)
protected

Références literal(), et tag().

Référencé par parseChunk().

◆ openString()

openString (   $end,
$out,
  $nestingOpen = null,
  $rejectStrs = null 
)
protected

Références $content, end(), interpolation(), et match().

Référencé par func(), interpolation(), et parseChunk().

◆ parenValue()

parenValue ( $out)
protected

Références $inParens, expression(), literal(), et seek().

Référencé par value().

◆ parse()

◆ parseChunk()

parseChunk ( )
protected

Parse a single chunk off the head of the buffer and append it to the current parse environment. Returns false when the buffer is empty, or when there is an error.

This function is called repeatedly until the entire document is parsed.

This parser is most similar to a recursive descent parser. Single functions represent discrete grammatical rules for the language, and they are able to capture the text that represents those rules.

Consider the function lessc::keyword(). (all parse functions are structured the same)

The function takes a single reference argument. When calling the function it will attempt to match a keyword on the head of the buffer. If it is successful, it will place the keyword in the referenced argument, advance the position in the buffer, and return true. If it fails then it won't advance the buffer and it will return false.

All of these parse functions are powered by lessc::match(), which behaves the same way, but takes a literal regular expression. Sometimes it is more convenient to use match instead of creating a new function.

Because of the format of the functions, to parse an entire string of grammatical rules, you can chain them together using &&.

But, if some of the rules in the chain succeed before one fails, then the buffer position will be left at an invalid state. In order to avoid this, lessc::seek() is used to remember and set buffer positions.

Before parsing a chain, use $s = $this->seek() to remember the current position into $s. Then if a chain fails, use $this->seek($s) to go back where we started.

Références $hidden, $key, $suffix, $value, append(), argumentDef(), assign(), elseif, end(), fixTags(), guards(), isDirective(), keyword(), literal(), mediaQueryList(), mixinTags(), null, openString(), pop(), propertyValue(), pushBlock(), pushSpecialBlock(), seek(), tag(), tags(), throwError(), variable(), et whitespace().

Référencé par parse().

◆ peek()

peek (   $regex,
$out = null,
  $from = null 
)
protected

Références $count, $r, et null.

Référencé par expHelper(), et throwError().

◆ pop()

pop ( )
protected

Référencé par parseChunk().

◆ propertyValue()

propertyValue ( $value,
  $keyName = null 
)

◆ pushBlock()

pushBlock (   $selectors = null,
  $type = null 
)
protected

Références $b, et $type.

Référencé par parseChunk(), et pushSpecialBlock().

◆ pushSpecialBlock()

pushSpecialBlock (   $type)
protected

Références $type, null, et pushBlock().

Référencé par parse(), et parseChunk().

◆ removeComments()

removeComments (   $text)
protected

Références $count, $text, et null.

Référencé par parse().

◆ seek()

◆ string()

string ( $out)
protected

◆ tag()

tag ( $tag,
  $simple = false 
)
protected

◆ tagBracket()

tagBracket ( $parts,
$hasExpression 
)
protected

Références $parts, interpolation(), keyword(), literal(), match(), et seek().

Référencé par tag().

◆ tags()

tags ( $tags,
  $simple = false,
  $delim = ',' 
)
protected

Références literal(), et tag().

Référencé par parseChunk().

◆ throwError()

throwError (   $msg = "parse error",
  $count = null 
)

Références $count, et peek().

Référencé par argumentDef(), parse(), et parseChunk().

◆ to()

to (   $what,
$out,
  $until = false,
  $allowNewline = false 
)
protected

Références match(), et lessc\preg_quote().

◆ unit()

unit ( $unit)
protected

Références $count, et match().

Référencé par tag(), et value().

◆ value()

value ( $value)
protected

◆ variable()

variable ( $name)
protected

Références $name, keyword(), literal(), null, et seek().

Référencé par mediaExpression(), parseChunk(), et value().

◆ whitespace()

whitespace ( )
protected

Références $count, append(), match(), et null.

Référencé par interpolation(), match(), parse(), parseChunk(), et tag().

Documentation des champs

◆ $blockDirectives

$blockDirectives = array("font-face", "keyframes", "page", "-moz-document", "viewport", "-moz-viewport", "-o-viewport", "-ms-viewport")
protected

◆ $commentMulti

$commentMulti
staticprotected

◆ $commentMultiLeft

$commentMultiLeft = "/*"
staticprotected

Référencé par __construct().

◆ $commentMultiRight

$commentMultiRight = "*/"
staticprotected

Référencé par __construct().

◆ $commentSingle

$commentSingle = "//"
staticprotected

Référencé par __construct().

◆ $inParens

$inParens = false
protected

if we are in parens we can be more liberal with whitespace around operators because it must evaluate to a single value and thus is less ambiguous.

Consider: property1: 10 -5; // is two numbers, 10 and -5 property2: (10 -5); // should evaluate to 5

Référencé par expHelper(), et parenValue().

◆ $lineDirectives

$lineDirectives = array("charset")
protected

◆ $literalCache

$literalCache = array()
staticprotected

◆ $nextBlockId

$nextBlockId = 0
staticprotected

◆ $operatorString

$operatorString
staticprotected

◆ $precedence

$precedence
staticprotected
Valeur initiale :
= array(
'=<' => 0,
'>=' => 0,
'=' => 0,
'<' => 0,
'>' => 0,
'+' => 1,
'-' => 1,
'*' => 2,
'/' => 2,
'%' => 2,
)

◆ $supressDivisionProps

$supressDivisionProps
staticprotected
Valeur initiale :
=
array('/border-radius$/i', '/^font$/i')

◆ $whitePattern

$whitePattern
staticprotected

La documentation de cette classe a été générée à partir du fichier suivant :