| 
<?php
# import of necessary files
 require 'SourceMap.class.php';
 require 'delimeters.php';
 require 'common.php';
 
 # SourceMap variable
 $sourceMap = new SourceMap();
 
 # chosed delimeter rules (JavaScript in this case)
 $rules = &$jsRules;
 
 # source code to map [requires specified JS file]
 $source = file_get_contents("dojo.js.uncompressed.js");
 
 # Benchmark: start time variable
 $startTime = getTime();
 
 # generated map
 $map = $sourceMap->getMap($source, $rules);
 
 # Benchmark: end time variable
 $endTime = getTime($startTime);
 
 # Output and Verify
 $tempCode = '';
 $correctParse = '';
 $output = '';
 $b = count($map);
 for($a = 0; $a < $b; $a++) {
 $tempCode = substr($source, $map[$a]['start'], $map[$a]['end'] - $map[$a]['start']);
 $correctParse .= $tempCode;
 $output .= '<strong>'.$map[$a]['name'].'</strong><pre>'.str_replace(array('<', '>'), array('<', '>'), $tempCode).'</pre>';
 if($a + 1 < $b)
 $output .= '<hr />';
 }
 if($correctParse === $source)
 $output = '<h3>Source file successfull mapped ['.$endTime.' sec.] - Map length: ' . $b . '</h3><hr />'.$output;
 else
 $output = '<h3>WARNING, map failure or invalid source code ['.$endTime.' sec.] - Map length: ' . $b . '</h3><hr />'.$output;
 ?>
 <html>
 <head>
 <title>Class SourceMap :: PHP Test Version</title>
 <style type="text/css">
 * {
 margin:2;
 padding:0;
 font-family: Verdana, Helvetica, sans-serif;
 font-size: 8pt;
 }
 </style>
 </head>
 <body>
 <?php echo $output; ?>
 </body>
 </html>
 |