rest_mediatekdocuments

EntryParser
in package

FinalYes

Table of Contents

Constants

COMMENT_STATE  = 6
DOUBLE_QUOTED_STATE  = 3
ESCAPE_SEQUENCE_STATE  = 4
INITIAL_STATE  = 0
REJECT_STATES  = [self::SINGLE_QUOTED_STATE, self::DOUBLE_QUOTED_STATE, self::ESCAPE_SEQUENCE_STATE]
SINGLE_QUOTED_STATE  = 2
UNQUOTED_STATE  = 1
WHITESPACE_STATE  = 5

Methods

parse()  : Result<Entry, string>
Parse a raw entry into a proper entry.
__construct()  : void
This class is a singleton.
getErrorMessage()  : string
Generate a friendly error message.
isQuotedName()  : bool
Is the given variable name quoted?
isValidName()  : bool
Is the given variable name valid?
parseName()  : Result<string, string>
Parse the given variable name.
parseValue()  : Result<Value, string>
Parse the given variable value.
processToken()  : Result<array{: string, : bool, : int}, string>
Process the given token.
splitStringIntoParts()  : Result<array{: string, : string|null}, string>
Split the compound string into parts.

Constants

DOUBLE_QUOTED_STATE

private mixed DOUBLE_QUOTED_STATE = 3

ESCAPE_SEQUENCE_STATE

private mixed ESCAPE_SEQUENCE_STATE = 4

REJECT_STATES

private mixed REJECT_STATES = [self::SINGLE_QUOTED_STATE, self::DOUBLE_QUOTED_STATE, self::ESCAPE_SEQUENCE_STATE]

SINGLE_QUOTED_STATE

private mixed SINGLE_QUOTED_STATE = 2

Methods

parse()

Parse a raw entry into a proper entry.

public static parse(string $entry) : Result<Entry, string>

That is, turn a raw environment variable entry into a name and possibly a value. We wrap the answer in a result type.

Parameters
$entry : string
Return values
Result<Entry, string>

__construct()

This class is a singleton.

private __construct() : void
Tags
codeCoverageIgnore

getErrorMessage()

Generate a friendly error message.

private static getErrorMessage(string $cause, string $subject) : string
Parameters
$cause : string
$subject : string
Return values
string

isQuotedName()

Is the given variable name quoted?

private static isQuotedName(string $name) : bool
Parameters
$name : string
Return values
bool

isValidName()

Is the given variable name valid?

private static isValidName(string $name) : bool
Parameters
$name : string
Return values
bool

parseName()

Parse the given variable name.

private static parseName(string $name) : Result<string, string>

That is, strip the optional quotes and leading "export" from the variable name. We wrap the answer in a result type.

Parameters
$name : string
Return values
Result<string, string>

parseValue()

Parse the given variable value.

private static parseValue(string $value) : Result<Value, string>

This has the effect of stripping quotes and comments, dealing with special characters, and locating nested variables, but not resolving them. Formally, we run a finite state automaton with an output tape: a transducer. We wrap the answer in a result type.

Parameters
$value : string
Return values
Result<Value, string>

processToken()

Process the given token.

private static processToken(int $state, string $token) : Result<array{: string, : bool, : int}, string>
Parameters
$state : int
$token : string
Return values
Result<array{: string, : bool, : int}, string>

splitStringIntoParts()

Split the compound string into parts.

private static splitStringIntoParts(string $line) : Result<array{: string, : string|null}, string>
Parameters
$line : string
Return values
Result<array{: string, : string|null}, string>

        
On this page

Search results