diff --git a/LanguageServer/src/main/resources/models/accounts.model b/LanguageServer/src/main/resources/models/accounts.model new file mode 100644 index 0000000..16a2cf7 --- /dev/null +++ b/LanguageServer/src/main/resources/models/accounts.model @@ -0,0 +1,12 @@ +/* + * Hello World! + * これはコメントです。 + */ +channel Signup { + out accounts(accounts: List, signup(name: Str)) = append(accounts, {"name": name}) +} + +// This is a single-line comment +channel ChangeName(uid: Int) { // Describe // this line is contained by former comment. + out accounts.{uid}.name(n: Str, changeName(name)) = name +} \ No newline at end of file diff --git a/LanguageServer/src/test/java/org/nittalab/dtram/languageserver/utils/TokenizerTest.java b/LanguageServer/src/test/java/org/nittalab/dtram/languageserver/utils/TokenizerTest.java new file mode 100644 index 0000000..a0a21bb --- /dev/null +++ b/LanguageServer/src/test/java/org/nittalab/dtram/languageserver/utils/TokenizerTest.java @@ -0,0 +1,31 @@ +package org.nittalab.dtram.languageserver.utils; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.nittalab.dtram.languageserver.model.Token; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.List; +import java.util.logging.Logger; + +@DisplayName("Tokenizer Test") +public class TokenizerTest { + private static final Logger logger = Logger.getLogger(TokenizerTest.class.getName()); + + @Test + public void test() { + try (InputStream is = getClass().getResourceAsStream("/models/accounts.model")) { + assert is != null : "Couldn't get testing resource!"; + BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + + Tokenizer tokenizer = new Tokenizer(reader); + List tokens = tokenizer.execute(); + tokens.forEach(System.out::println); + } catch (IOException e) { + logger.severe(e.getMessage()); + } + } +}