+++ /dev/null
-%{
-open Utils
-%}
-
-%token EOF NAME EQUAL SUP WINDOW_START WINDOW_END
-%token <string> WIDGET_START WIDGET_END IDENT
-
-%type <string> window_start
-%type <string * string> property widget_start
-%type <(string * string) list> property_list
-%type <Utils.yywidget_tree> widget window
-%type <Utils.yywidget_tree list> children window_list project
-
-%start project
-%start window
-%start widget
-
-%%
-
-project : window_list EOF { List.rev $1 }
-
-window_list : { [] }
- | window_list window { $2 :: $1 }
-;
-
-window : window_start property_list children WINDOW_END
- {
- Node (("window", $1, List.rev $2), $3)
- }
-;
-
-window_start : WINDOW_START NAME EQUAL IDENT SUP { $4 }
-;
-
-children : { [] }
- | children widget { $2 :: $1 }
-;
-
-widget : widget_start property_list children WIDGET_END
- {
- let classe, name = $1 in
- if classe <> $4 then raise Parsing.Parse_error;
- Node ((classe, name, List.rev $2), $3)
- }
-;
-
-widget_start : WIDGET_START NAME EQUAL IDENT SUP { $1, $4 }
-;
-
-property_list : { [] }
- | property_list property { $2 :: $1 }
-;
-
-property : IDENT EQUAL IDENT { $1, $3 }
-;
-