niceforbear / sparser
parser of string
v0.1.2
2016-06-19 09:46 UTC
Requires
- php: >=5.6.0
This package is not auto-updated.
Last update: 2025-02-05 21:11:33 UTC
README
Install
Via Composer
$ composer require niceforbear/sparser
Usage
$context = new Context(); $user_in = "\$input equals '4' or \$input equals 'four'"; $reader = new StringReader($user_in); $scanner = new Scanner($reader, $context); while ($scanner->nextToken() != Scanner::EOF) { print $scanner->token(); print "\t{$scanner->char_no()}"; print "\t{$scanner->getTypeString()}\n"; }
$input = 'five';
$statement = "( \$input equals 'five')";
$engine = new MarkParse($statement);
$result = $engine->evaluate($input);
print "input: $input evaluating: $statement\n";
if($result){
print "true!\n";
}else{
print "false!\n";
}
Testing
Tests unavailable.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
About EBNF
- expr ::= operand (orExpr | andExpr) *
- operand ::= ( '(' expr ')' | | variable ) (eqExpr) *
- orExpr ::= 'or' operand
- andExpr ::= 'and' operand
- eqExpr ::= 'equals' operand
- variable ::= '$'