[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