[antlr-interest] Problem with AST parsing for ST
Nauman
recluze at gmail.com
Mon May 11 23:35:29 PDT 2009
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})
;
I guess everything else is irrelevent for the time being because of the
error that I get for parsing it:
E:\workspace\transtest\src\EvalPolicy.g: node from line 0:0 mismatched tree
node: POLICYSET expecting POLICYSET
Can anyone help me out with what's wrong here. I really have no idea what
could be wrong. I've tried many tutorials/helps/docs but without any
success.
Thanks
Nauman
Research Associate
Security Engineering Research Group
Institute of Management Sciences
Peshawar, Pakistan
Blog: http://recluze.wordpress.com
Group: http://serg.imsciences.edu.pk
Wiki: http://serg.imsciences.edu.pk/wiki
Art gallery: http://recluse.gfxartist.com
Contact number: +92 (0) 323 93 66 136
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20090512/b769e28d/attachment.html
More information about the antlr-interest
mailing list