Search in sources :

Example 1 with Start

use of de.be4.eventb.core.parser.node.Start in project probparsers by bendisposto.

the class CommentTest method testMultipleComments1.

@Test
public void testMultipleComments1() throws Exception {
    final Start rootNode = parseInput("machine MultipleComments1" + "// line1\n" + "/* line2\nline3*/" + "// line4\n" + "\nend", false);
    final AMachineParseUnit parseUnit = (AMachineParseUnit) rootNode.getPParseUnit();
    final LinkedList<TComment> comments = parseUnit.getComments();
    assertEquals(3, comments.size());
    assertEquals("line1", comments.get(0).getText());
    assertEquals("line2\nline3", comments.get(1).getText());
    assertEquals("line4", comments.get(2).getText());
}
Also used : Start(de.be4.eventbalg.core.parser.node.Start) TComment(de.be4.eventbalg.core.parser.node.TComment) AMachineParseUnit(de.be4.eventbalg.core.parser.node.AMachineParseUnit) Test(org.junit.Test)

Example 2 with Start

use of de.be4.eventb.core.parser.node.Start in project probparsers by bendisposto.

the class CommentTest method testCommentVariables1.

@Test
public void testCommentVariables1() throws Exception {
    final Start rootNode = parseInput("machine CommentVariables1 variables\n" + "varA" + "//varA comment\n" + " varB\n" + "varC\n" + "/*varC\ncomment*/" + "end", false);
    final AMachineParseUnit parseUnit = (AMachineParseUnit) rootNode.getPParseUnit();
    final LinkedList<PVariable> variables = parseUnit.getVariables();
    assertEquals(3, variables.size());
    AVariable variable = (AVariable) variables.get(0);
    assertEquals("varA", variable.getName().getText());
    assertEquals("varA comment", variable.getComments().get(0).getText());
    variable = (AVariable) variables.get(1);
    assertEquals("varB", variable.getName().getText());
    assertEquals(0, variable.getComments().size());
    variable = (AVariable) variables.get(2);
    assertEquals("varC", variable.getName().getText());
    final LinkedList<TComment> comments = variable.getComments();
    assertNotNull(comments);
    assertEquals(1, comments.size());
    final StringTokenizer tokenizer = new StringTokenizer(comments.get(0).getText(), "\n\r");
    assertEquals(2, tokenizer.countTokens());
    assertEquals("varC", tokenizer.nextToken());
    assertEquals("comment", tokenizer.nextToken());
}
Also used : AVariable(de.be4.eventbalg.core.parser.node.AVariable) StringTokenizer(java.util.StringTokenizer) Start(de.be4.eventbalg.core.parser.node.Start) TComment(de.be4.eventbalg.core.parser.node.TComment) PVariable(de.be4.eventbalg.core.parser.node.PVariable) AMachineParseUnit(de.be4.eventbalg.core.parser.node.AMachineParseUnit) Test(org.junit.Test)

Example 3 with Start

use of de.be4.eventb.core.parser.node.Start in project probparsers by bendisposto.

the class CommentTest method testCommentPredicates1.

@Test
public void testCommentPredicates1() throws Exception {
    final Start rootNode = parseInput("machine CommentPredicates1 invariants\n @inv1 asdf //MyComment\nend", false);
    final AMachineParseUnit parseUnit = (AMachineParseUnit) rootNode.getPParseUnit();
    final LinkedList<PInvariant> invariants = parseUnit.getInvariants();
    final AInvariant invariant = (AInvariant) invariants.get(0);
    // correct comment content?
    assertEquals("MyComment", invariant.getComments().get(0).getText());
}
Also used : Start(de.be4.eventbalg.core.parser.node.Start) PInvariant(de.be4.eventbalg.core.parser.node.PInvariant) AInvariant(de.be4.eventbalg.core.parser.node.AInvariant) AMachineParseUnit(de.be4.eventbalg.core.parser.node.AMachineParseUnit) Test(org.junit.Test)

Example 4 with Start

use of de.be4.eventb.core.parser.node.Start in project probparsers by bendisposto.

the class CommentTest method testMultipleComments2.

@Test
public void testMultipleComments2() throws Exception {
    final Start rootNode = parseInput("machine MultipleComments2" + "/* line1*/\n" + "/* line2\nline3*/" + "// line4\n" + "\nend", false);
    final AMachineParseUnit parseUnit = (AMachineParseUnit) rootNode.getPParseUnit();
    final LinkedList<TComment> comments = parseUnit.getComments();
    assertEquals(3, comments.size());
    assertEquals("line1", comments.get(0).getText());
    assertEquals("line2\nline3", comments.get(1).getText());
    assertEquals("line4", comments.get(2).getText());
}
Also used : Start(de.be4.eventbalg.core.parser.node.Start) TComment(de.be4.eventbalg.core.parser.node.TComment) AMachineParseUnit(de.be4.eventbalg.core.parser.node.AMachineParseUnit) Test(org.junit.Test)

Example 5 with Start

use of de.be4.eventb.core.parser.node.Start in project probparsers by bendisposto.

the class CommentTest method testAtSignInComment.

@Test
public void testAtSignInComment() throws Exception {
    final Start rootNode = parseInput("machine AtSignInComment\nevents\nevent testEvent\nthen\n@act1 skip\n@act2 skip\n// MyComment@act2\nend\nend", false);
    final AMachineParseUnit parseUnit = (AMachineParseUnit) rootNode.getPParseUnit();
    final AEvent event = (AEvent) parseUnit.getEvents().get(0);
    final LinkedList<PAction> actions = event.getActions();
    AAction labeledAction = (AAction) actions.get(0);
    assertEquals("act1", labeledAction.getName().getText());
    assertEquals("skip", labeledAction.getAction().getText());
    assertEquals(0, labeledAction.getComments().size());
    labeledAction = (AAction) actions.get(1);
    assertEquals("act2", labeledAction.getName().getText());
    assertEquals("skip", labeledAction.getAction().getText());
    assertNotNull(labeledAction.getComments());
    assertEquals("MyComment@act2", labeledAction.getComments().get(0).getText());
}
Also used : PAction(de.be4.eventbalg.core.parser.node.PAction) Start(de.be4.eventbalg.core.parser.node.Start) AEvent(de.be4.eventbalg.core.parser.node.AEvent) AMachineParseUnit(de.be4.eventbalg.core.parser.node.AMachineParseUnit) AAction(de.be4.eventbalg.core.parser.node.AAction) Test(org.junit.Test)

Aggregations

Start (de.be4.classicalb.core.parser.node.Start)104 Test (org.junit.Test)84 BParser (de.be4.classicalb.core.parser.BParser)43 Ast2String (util.Ast2String)32 File (java.io.File)20 Start (de.be4.eventbalg.core.parser.node.Start)19 BCompoundException (de.be4.classicalb.core.parser.exceptions.BCompoundException)18 Start (de.be4.eventb.core.parser.node.Start)18 AMachineParseUnit (de.be4.eventb.core.parser.node.AMachineParseUnit)14 AMachineParseUnit (de.be4.eventbalg.core.parser.node.AMachineParseUnit)14 IOException (java.io.IOException)12 RecursiveMachineLoader (de.be4.classicalb.core.parser.analysis.prolog.RecursiveMachineLoader)11 PushbackReader (java.io.PushbackReader)11 StringReader (java.io.StringReader)11 ASTProlog (de.be4.classicalb.core.parser.analysis.prolog.ASTProlog)8 AExpressionParseUnit (de.be4.classicalb.core.parser.node.AExpressionParseUnit)7 AbstractParseMachineTest (util.AbstractParseMachineTest)7 ParsingBehaviour (de.be4.classicalb.core.parser.ParsingBehaviour)6 ClassicalPositionPrinter (de.be4.classicalb.core.parser.analysis.prolog.ClassicalPositionPrinter)6 ASTPrinter (de.be4.classicalb.core.parser.visualisation.ASTPrinter)6