[antlr-interest] Problem with AST parsing for ST

Michael micha-1 at fantasymail.de
Tue May 12 01:07:53 PDT 2009


Am Tuesday 12 May 2009 08:35:29 schrieb Nauman:
> Hi all,
>
> I'm trying to parse a high level policy and generate a low-level structured
> text.
>
> The grammar rule for policy set and policy are:
>
> policyset
>         (policy)+
>         -> ^(POLICYSET  policy+);
>
> and
>
> policy    : policyType^ LBRAC! targetType RBRAC!
>             LBRACE!
>             conditionStat?
>             RBRACE!
>             ->  ^(POLICY targetType conditionStat)
>
> The generated tree look like this:
>
> (POLICYSET (POLICY (SUBJECTS Doctor) (OBJECTS PatientRecord) (RIGHTS Read)
> (CONDITION (and (= (. PatientRecord Appointment) True) (< (. Doctor
> NoOfTimesRead) 5)))))
>
> The rule for policyset in the tree grammar is as follows:
>
> policyset:  ^(POLICYSET  (p+=policy)+) -> policySet(policies={p}) ;
>
> and policy looks like this:
>
> policy: conditionStat
>      -> policyStat(cond={$conditionStat.st})
>     ;

should the policy rule in the tree grammar match the generated tree?, like:

policy: ^(POLICY targetType conditionStat) ->
	policyStat(cond={$conditionStat.st})


cheers,
 Michael


More information about the antlr-interest mailing list