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/42082f9df3689eb5c357ded46ce7108f8d1096a3

Though, 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.)

Eclipse: org.eclipse.platform.ide 4.6.3.M20170301-0400
Spoofax: org.metaborg.spoofax.eclipse 2.2.0
System: Windows 10 amd64 10.0
Submitted by Daco Harkes on 1 May 2017 at 14:35

On 1 May 2017 at 15:11 Daco Harkes commented:

parser

disambiguation


On 1 May 2017 at 16:04 Daco Harkes commented:

Workaround (remove all comments): grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.str "//" * | xargs sed -i '' 's:^ *//.*$::' (provided you only use spaces, no tabs)


On 1 May 2017 at 16:07 Daco Harkes commented:

This issue again: http://yellowgrass.org/issue/Spoofax/89 ...


On 1 May 2017 at 17:10 Daco Harkes commented:

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