Package dtool.parser.common

Examples of dtool.parser.common.LexElementSource


  @Override
  public void runAnnotatedSourceTest(AnnotatedSource testSource) {
    final String DEFAULT_VALUE = "##DEFAULT VALUE";
   
    String fullSource = testSource.source;
    final LexElementSource lexSource = new DeeParser(fullSource).getEnabledLexSource();
   
    String expectedParsedSource = fullSource;
    String expectedRemainingSource = null;
    String parseRule = null;
   
View Full Code Here


  }
 
  @Test
  public void testInit() throws Exception { testInit$(); }
  public void testInit$() throws Exception {
    LexElementSource lexSource = LexElementProducer.createFromLexer(new TestsInstrumentedLexer("abcdefgh"));
   
    assertEquals(lexSource.lastLexElement.getSourceRange(), new SourceRange(0, 0));
   
    assertTrue(lexSource.lexElementList.size() == 5);
    assertEquals(lexSource.lookAheadElement(4).type, DeeTokens.EOF);
    assertEquals(lexSource.lookAheadElement(5).type, DeeTokens.EOF); // Test index beyond first EOF
  }
View Full Code Here

 
  @Test
  public void testElementList() throws Exception { testElementList$(); }
  public void testElementList$() throws Exception {
   
    LexElementSource lexSource = LexElementProducer.createFromLexer(new TestsInstrumentedLexer("abcd  efgh"));
    assertTrue(lexSource.lexElementList.size() == 5);
   
    assertEquals(lexSource.lookAheadElement(0).source, "ab");
    assertEquals(lexSource.lookAheadElement(1).source, "cd");
    assertEquals(lexSource.lookAheadElement(3).source, "gh");
    assertEquals(lexSource.lookAheadElement(4).type, DeeTokens.EOF);
    lexSource.consumeInput();
   
    assertEquals(lexSource.lastLexElement().source, "ab");
    assertEquals(lexSource.lookAheadElement(0).source, "cd");
    assertEquals(lexSource.lookAheadElement(1).source, "ef");
    assertEquals(lexSource.lookAheadElement(1).getFullRangeStartPos(), 4);
    assertEquals(lexSource.lookAheadElement(1).getStartPos(), 6);
    assertEquals(lexSource.lookAheadElement(2).source, "gh");
    assertEquals(lexSource.lookAheadElement(3).type, DeeTokens.EOF);

    lexSource.consumeInput();
    assertEquals(lexSource.lastLexElement().source, "cd");
    assertEquals(lexSource.getSourcePosition(), 4);
    assertEquals(lexSource.lookAheadElement(0).source, "ef");
    assertEquals(lexSource.lookAheadElement(1).source, "gh");
    assertEquals(lexSource.lookAheadElement(2).type, DeeTokens.EOF);
    assertEquals(lexSource.lookAheadElement(3).type, DeeTokens.EOF); // Test index beyond first EOF
   
    lexSource.consumeInput();
    lexSource.consumeInput();
    assertEquals(lexSource.lastLexElement().source, "gh");
    assertEquals(lexSource.lookAheadElement(0).type, DeeTokens.EOF);
    assertEquals(lexSource.lookAheadElement(1).type, DeeTokens.EOF);
  }
View Full Code Here

  }
 
  @Test
  public void testConsumeWhiteSpace() throws Exception { testConsumeWhiteSpace$(); }
  public void testConsumeWhiteSpace$() throws Exception {
    LexElementSource lexSource = LexElementProducer.createFromLexer(new TestsInstrumentedLexer("abcd  efgh"));
   
    lexSource.advanceSubChannelTokens();
    assertTrue(lexSource.getSourcePosition() == 0);
   
    assertEquals(lexSource.lookAheadElement(2).source, "ef");
    lexSource.consumeInput();
    lexSource.consumeInput();
    assertEquals(lexSource.lookAheadElement(0).source, "ef");
    assertTrue(lexSource.getSourcePosition() == 4);
    lexSource.advanceSubChannelTokens();
    assertTrue(lexSource.getSourcePosition() == 6);
   
    assertEquals(lexSource.lookAheadElement(0).getStartPos(), 6);
    assertEquals(lexSource.lookAheadElement(0).source, "ef");
  }
View Full Code Here

  }
 
  protected DeeParser(DeeLexer deeLexer) {
    this.source = deeLexer.getSource();
    DeeLexElementProducer deeLexElementProducer = new DeeLexElementProducer();
    this.lexSource = new LexElementSource(deeLexElementProducer.produceLexTokens(deeLexer));
    this.lexerErrors = deeLexElementProducer.lexerErrors;
  }
View Full Code Here

TOP

Related Classes of dtool.parser.common.LexElementSource

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.