X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Finternal%2Fparsing%2Fparser%2FSCLPostLexer.java;h=9cc1ff27b16a288afb11f138b9d8755a84f642d0;hp=efc799322b3d37c4220a90de6f8061154d3ace35;hb=66ced93f835205135a84fea73b2fbb8e9d610f7e;hpb=2367c227645db518955fc142ddf6b4c5787eab42 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLPostLexer.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLPostLexer.java index efc799322..9cc1ff27b 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLPostLexer.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLPostLexer.java @@ -57,6 +57,7 @@ public class SCLPostLexer { int lineStart = 0; boolean firstTokenOfLine = true; private SCLParserOptions options; + private boolean isFirstToken = true; { indentations.add(0); @@ -151,6 +152,13 @@ public class SCLPostLexer { } } firstTokenOfLine = false; + if(isFirstToken) { + isFirstToken = false; + if(symbol.id == SCLTerminals.ID && symbol.text.equals("module") && options != null && options.isModule) { + push(new Token(SCLTerminals.MODULE, symbol.location, symbol.text)); + return; + } + } } switch(symbolId) { @@ -166,8 +174,8 @@ public class SCLPostLexer { return; case SCLTerminals.THEN: /*for(int tt : indentationTokens.toArray()) - System.out.print(SCLParser.TERMINAL_NAMES[tt] + " "); - System.out.println();*/ + System.out.print(SCLParser.TERMINAL_NAMES[tt] + " "); + System.out.println();*/ if(prevTokenId == SCLTerminals.COMMA) { // for list comprehension syntax push(symbol);