FormalADL / kCPSADL

0 stars 0 forks source link

A Error About BeheviorGuard #1

Open suweining opened 9 years ago

suweining commented 9 years ago

Error Message:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.LinkedList.checkElementIndex(LinkedList.java:555) at java.util.LinkedList.get(LinkedList.java:476) at org.kframework.kil.Sentence.(Sentence.java:45) at org.kframework.kil.loader.JavaClassesFactory.getTerm(JavaClassesFactory.java:63) at org.kframework.parser.generator.ParseRulesFilter.visit(ParseRulesFilter.java:75) at org.kframework.parser.generator.ParseRulesFilter.visit(ParseRulesFilter.java:29) at org.kframework.kil.StringSentence.accept(StringSentence.java:36) at org.kframework.kil.AbstractVisitor.visitNode(AbstractVisitor.java:84) at org.kframework.kil.AbstractVisitor.genericVisitList(AbstractVisitor.java:135) at org.kframework.kil.AbstractVisitor.visit(AbstractVisitor.java:300) at org.kframework.parser.generator.ParseRulesFilter.visit(ParseRulesFilter.java:48) at org.kframework.parser.generator.ParseRulesFilter.visit(ParseRulesFilter.java:29) at org.kframework.kil.Module.accept(Module.java:96) at org.kframework.kil.AbstractVisitor.visitNode(AbstractVisitor.java:84) at org.kframework.kil.AbstractVisitor.genericVisitList(AbstractVisitor.java:135) at org.kframework.kil.AbstractVisitor.visit(AbstractVisitor.java:284) at org.kframework.kil.Definition.accept(Definition.java:183) at org.kframework.kil.AbstractVisitor.visitNode(AbstractVisitor.java:92) at org.kframework.parser.DefinitionLoader.parseDefinition(DefinitionLoader.java:290) at org.kframework.parser.DefinitionLoader.loadDefinition(DefinitionLoader.java:86) at org.kframework.kompile.KompileFrontEnd.genericCompile(KompileFrontEnd.java:181) at org.kframework.kompile.KompileFrontEnd.kompile(KompileFrontEnd.java:161) at org.kframework.kompile.KompileFrontEnd.main(KompileFrontEnd.java:72) at org.kframework.main.Main.main(Main.java:49)

suweining commented 9 years ago

The posistion is at 218 line:

syntax BehaviorGuard ::= BehaviorEvent /* | Mon Expression MDArrows BehaviorEvent | BehaviorEvent Mwhen Expression | Mon Expression MDArrows BehaviorEvent Mwhen Expression | Expression */

We remove the annotation when kompile and it's OK

syntax BehaviorGuard ::= BehaviorEvent | Mon Expression MDArrows BehaviorEvent /* | BehaviorEvent Mwhen Expression | Mon Expression MDArrows BehaviorEvent Mwhen Expression | Expression */

it's OK !

syntax BehaviorGuard ::= BehaviorEvent | Mon Expression MDArrows BehaviorEvent | BehaviorEvent Mwhen Expression /* | Mon Expression MDArrows BehaviorEvent Mwhen Expression | Expression */ It's not good !