StateTree -> import (only firstone)
This commit is contained in:
parent
427e3f2fc9
commit
12155a6bc8
1 changed files with 25 additions and 1 deletions
|
@ -35,6 +35,27 @@ public class JavaParser extends Parser<JavaFile> {
|
|||
|
||||
public JavaParser(){
|
||||
Tokenizer tokenizer = new Tokenizer();
|
||||
|
||||
|
||||
StateTree<JavaFile> importState = new StateTree<>();
|
||||
importState.then((validator) -> {
|
||||
if(validator.validate(
|
||||
(token) -> token.getValue().equals("import"),
|
||||
(bag, token) -> bag.set(new LinkedList<>()))){
|
||||
|
||||
validator.validate(
|
||||
(token) -> token.getValue().equals("static"),
|
||||
(bag, token) -> bag.set("static", null));
|
||||
|
||||
while(validator.validate(
|
||||
(token) -> !token.getValue().equals(";"),
|
||||
(bag, token) -> bag.<List<Token>>get().add(token))
|
||||
);
|
||||
|
||||
return validator.validate((token) -> token.getValue().equals(";"));
|
||||
}
|
||||
return false;
|
||||
}).<JavaElement>end((javafile, bag) -> javafile.addImport(bag));
|
||||
|
||||
|
||||
StateTree<JavaFile> main = new StateTree<>();
|
||||
|
@ -43,14 +64,17 @@ public class JavaParser extends Parser<JavaFile> {
|
|||
if(validator.validate(
|
||||
(token) -> token.getValue().equals("package"),
|
||||
(bag, token) -> bag.set(new LinkedList<>()))){
|
||||
|
||||
while(validator.validate(
|
||||
(token) -> !token.getValue().equals(";"),
|
||||
(bag, token) -> bag.<List<Token>>get().add(token))
|
||||
);
|
||||
|
||||
return validator.validate((token) -> token.getValue().equals(";"));
|
||||
}
|
||||
return false;
|
||||
}).<JavaElement>end((javafile, bag) -> javafile.setPackage(bag));
|
||||
}).<JavaElement>end((javafile, bag) -> javafile.setPackage(bag))
|
||||
.thenNoChild(importState);
|
||||
|
||||
|
||||
System.out.println((System.currentTimeMillis()-time)+"ms");
|
||||
|
|
Loading…
Add table
Reference in a new issue