Domain-Specific Language Class for PHP
Hi guys, I am coding a cool project so, I developed my own class in PHP to manage my DSL for the project. I want to share a short version of the class I coded and, I hope you will find it useful.
<?php
include("PHPDSL.php");
# My own code
$input = 'search port:80 protocols:HTTP';
# Start the analyzer
$result = PHPDSL::analyze($input);
# Print results. Pss: use firefox to view results.
header("Content-type:application/json");
echo json_encode($result);
- Imagine your own syntax:
<command> <option>:<parameter>
- Write your regex code for each element:
<command> => /^(\w+)/
. Tip: this website can be helpful Regex101 - Always remember to use ^ at start and, always to include the match between ()
- Add/substitute the regex code into the PHPDSL.php file
protected static $syntax =
[
"/^(\w+)/" => "COMMAND",
"/(\s+)/" => "WHITESPACES"
];
- Be careful when you order the regex codes!!!
- Good WorK!