phpSyntaxTree is a very nice php library to generate graphical syntax trees. I have been using it to visualize both syntax trees and dependency trees. Analysing the graphical version is a lot convenient than looking at the text and imagining its structure. I made a simple interface to the library which I am going to dump here.
I modified the file stgraph.png.php so that it now accepts GET requests. Here is the patch:
40c40
< if ( !isset( $_SESSION['data'] ) )
---
> if ( !isset( $_GET['data'] ) )
43c43
< $data = $_SESSION['data'];
---
> $data = $_GET['data'];
45,50c45,50
< $color = isset( $_SESSION['color'] ) ? $_SESSION['color'] : 0;
< $triangles = isset( $_SESSION['triangles'] ) ? $_SESSION['triangles'] : FALSE;
< $antialias = isset( $_SESSION['antialias'] ) ? $_SESSION['antialias'] : 0;
< $autosub = isset( $_SESSION['autosub'] ) ? $_SESSION['autosub'] : 0;
< $font = isset( $_SESSION['font'] ) ? $_SESSION['font'] : 'Vera.ttf';
< $fontsize = isset( $_SESSION['fontsize'] ) ? $_SESSION['fontsize'] : 8;
---
> $color = isset( $_GET['color'] ) ? $_GET['color'] : 1;
> $triangles = isset( $_GET['triangles'] ) ? $_GET['triangles'] : FALSE;
> $antialias = isset( $_GET['antialias'] ) ? $_GET['antialias'] : 1;
> $autosub = isset( $_GET['autosub'] ) ? $_GET['autosub'] : 0;
> $font = isset( $_GET['font'] ) ? $_GET['font'] : 'Vera.ttf';
> $fontsize = isset( $_GET['fontsize'] ) ? $_GET['fontsize'] : 8;
91a92
>
The patched version was named draw.php. This is my interface to the library. To test it I wrote the following script:
<html>
<body>
<?php
$phrase = $_GET['data'];
$phrase = str_replace("(", "[", $phrase);
$phrase = str_replace(")", "]", $phrase);
$color = isset( $_GET['color'] ) ? $_GET['color'] : 1;
$antialias = isset( $_GET['antialias'] ) ? $_GET['antialias'] : 1;
$font = isset( $_GET['font'] ) ? $_GET['font'] : 'Vera.ttf';
$fontsize = isset( $_GET['fontsize'] ) ? $_GET['fontsize'] : 8;
$query = "data=" . $phrase;
$query .= "&" . "color=" . $color;
$query .= "&" . "antilias=" . $antilias;
$query .= "&" . "font=" . $font;
$query .= "&" . "fontsize=" . $fontsize;
$img = sprintf( "<img src=\"draw.php?%s\" alt=\"\" title=\"%s\"/>", $query, $phrase );
echo $img;
?>
</body>
</html>
Running the script like:
test.php?data=(NP (DT a) (NP ball))
generates the following image:That's it!
No comments:
Post a Comment