Out of memory, only on Windows
I am unable to build some commits on Windows in Spoofax 2.2.0, it goes out of memory (I gave it 4G, update: 8G same issue). While Spoofax 2.2.0 on MacOS does fine with these commits (with 2G). (Update: In Eclipse, I do not have mvn installed on commandline in Windows.)
It goes out of mem during
Execute strj
.The following commit I can build both on Windows and MacOS:
https://github.com/MetaBorgCube/IceDust/tree/42082f9df3689eb5c357ded46ce7108f8d1096a3Though, this commit I cannot build on Windows, but I can build it on MacOS:
https://github.com/MetaBorgCube/IceDust/tree/7155d04825c2a4f768a5f4b593c7e6efe8908264(Listing commits as I’ll be merging branches soon.)
Submitted by Daco Harkes on 1 May 2017 at 14:35Eclipse: org.eclipse.platform.ide 4.6.3.M20170301-0400 Spoofax: org.metaborg.spoofax.eclipse 2.2.0 System: Windows 10 amd64 10.0
Issue Log
Workaround (remove all comments):
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.str "//" * | xargs sed -i '' 's:^ *//.*$::'
(provided you only use spaces, no tabs)
This issue again: https://yellowgrass.org/issue/Spoofax/89 …
IceDust files do not have parse issues with consecutive single line comments.
IceDust grammar:
lexical syntax // layout LAYOUT = [\ \t\n\r] CommentChar = [\*] LAYOUT = "/*" ~[\*] | CommentChar* "*/" LAYOUT = "//" ~[\n\r]* [\n\r] | EOF EOF = lexical restrictions // Ensure greedy matching for lexicals CommentChar -/- [\/] EOF -/- ~[] BackSlashChar -/- [\"] context-free restrictions // Ensure greedy matching for comments LAYOUT? -/- [\ \t\n\r] LAYOUT? -/- [\/].[\/] LAYOUT? -/- [\/].[\*]
Though stratego files (even without mix-syntax) have this issue.
module Stratego-Core-Layout exports sorts Ws ShortCom LongCom CommChar Asterisk Eof lexical syntax [\t\ \n\r] -> Ws "//" ~[\n]* ([\n] | Eof) -> ShortCom "/*" CommChar* "*/" -> LongCom -> Eof ~[\*] -> CommChar "*" -> Asterisk Asterisk -> CommChar lexical restrictions Asterisk -/- [\/] Eof -/- ~[] lexical syntax ShortCom -> LAYOUT LongCom -> LAYOUT Ws -> LAYOUT context-free restrictions LAYOUT? -/- [\ \t\n\r] LAYOUT? -/- [\/].[\*] LAYOUT? -/- [\/].[\/]
This line is the issue (?):
"//" ~[\n]* ([\n] | Eof) -> ShortCom
Log in to post comments