I would like to check if I need to use SmaCC for a project. I tried to
install it on Pharo 6.1 32bits with iceberg but I was not able to do it. Then I tried to get SmaCC on an Pharo5 and Pharo6 images with "Catalog Browser" but I was not able to do it neither. The tool did pop up a message saying that Smacc was not tested for Pharo6 which was nice. Then I tried to clone the git repository to my local machine, I pointed iceberg to that local repository and then I loaded each package by hand. I was able to load BaselineOfSmaccBrowser but SmaCC-Rewrite-Engine failed to load with a debugger with a list of classes and methods that are missing (they are listed at the end of this message). Could some give an idea how to fix this? Thanks. Federico This package depends on the following classes: SmaCCStringInterval SmaCCParseNodeVisitor SmaCCScanner SmaCCParseNode SmaCCParser SmaCCString You must resolve these dependencies before you will be able to load these definitions: SmaCCAnnotatedString SmaCCAnnotatedString>>#addAnnotationTo: SmaCCAnnotatedString>>#intervalClass SmaCCAnnotatedString>>#newIntervalFor: SmaCCAnnotatedString>>#node SmaCCAnnotatedString>>#node: SmaCCAnnotatedString>>#removeInterval: SmaCCAnnotatedString>>#rule SmaCCAnnotatedString>>#rule: SmaCCAnnotatedStringInterval SmaCCAnnotatedStringInterval>>#addAllAnnotations: SmaCCAnnotatedStringInterval>>#addAnnotation: SmaCCAnnotatedStringInterval>>#annotations SmaCCAnnotatedStringInterval>>#annotations: SmaCCAnnotatedStringInterval>>#canBeMergedWith: SmaCCAnnotatedStringInterval>>#postCopy SmaCCCodeReplaceExpression SmaCCCodeReplaceExpression>>#acceptVisitor: SmaCCCodeReplaceExpression>>#code SmaCCCodeReplaceExpression>>#code: SmaCCCodeReplaceExpression>>#evaluateInContext: SmaCCCodeReplaceExpression>>#method SmaCCCodeReplaceExpression>>#tokenVariables SmaCCCompositeReplaceExpression SmaCCCompositeReplaceExpression>>#acceptVisitor: SmaCCCompositeReplaceExpression>>#compositeNodeVariables SmaCCCompositeReplaceExpression>>#evaluateInContext: SmaCCCompositeReplaceExpression>>#expressions SmaCCCompositeReplaceExpression>>#expressions: SmaCCCompositeReplaceExpression>>#initialize SmaCCNodeReplaceExpression SmaCCNodeReplaceExpression>>#acceptVisitor: SmaCCNodeReplaceExpression>>#addPostfixTo:inContext: SmaCCNodeReplaceExpression>>#addPrefixTo:inContext: SmaCCNodeReplaceExpression>>#afterPostfix SmaCCNodeReplaceExpression>>#afterPostfix: SmaCCNodeReplaceExpression>>#afterWhitespace SmaCCNodeReplaceExpression>>#afterWhitespace: SmaCCNodeReplaceExpression>>#beforePrefix SmaCCNodeReplaceExpression>>#beforePrefix: SmaCCNodeReplaceExpression>>#beforeWhitespace SmaCCNodeReplaceExpression>>#beforeWhitespace: SmaCCNodeReplaceExpression>>#evaluateInContext: SmaCCNodeReplaceExpression>>#name SmaCCNodeReplaceExpression>>#name: SmaCCNodeReplaceExpression>>#postfix SmaCCNodeReplaceExpression>>#postfix: SmaCCNodeReplaceExpression>>#prefix SmaCCNodeReplaceExpression>>#prefix: SmaCCNodeReplaceExpression>>#tokenVariables SmaCCReplaceExpression SmaCCReplaceExpression>>#acceptVisitor: SmaCCReplaceExpression>>#evaluateInContext: SmaCCReplaceExpressionParser SmaCCReplaceExpressionParser>>#cacheId SmaCCReplaceExpressionParser>>#definitionComment SmaCCReplaceExpressionParser>>#scannerClass SmaCCReplaceExpressionParser>>#startingStateForExpression SmaCCReplaceExpressionParser>>#reduceActionForCodeReplace1: SmaCCReplaceExpressionParser>>#reduceActionForExpression1: SmaCCReplaceExpressionParser>>#reduceActionForNodeReplace1: SmaCCReplaceExpressionParser>>#reduceActionForPostfixModifiers1: SmaCCReplaceExpressionParser>>#reduceActionForPrefixModifiers1: SmaCCReplaceExpressionParser>>#reduceActionForPrefixModifiers2: SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpression3: SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpressions1: SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpressions2: SmaCCReplaceExpressionParser>>#reduceActionForStringReplace1: SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToCode1: SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToDefault1: SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToExpression1: SmaCCReplaceExpressionParser>>#reduceTable SmaCCReplaceExpressionParser>>#symbolNames SmaCCReplaceExpressionParser>>#symbolTypes SmaCCReplaceExpressionParser>>#transitionTable SmaCCReplaceExpressionScanner SmaCCReplaceExpressionScanner>>#codeExpressionId SmaCCReplaceExpressionScanner>>#emptySymbolTokenId SmaCCReplaceExpressionScanner>>#errorTokenId SmaCCReplaceExpressionScanner>>#isValidCode SmaCCReplaceExpressionScanner>>#next SmaCCReplaceExpressionScanner>>#scanCode SmaCCReplaceExpressionScanner>>#scanForToken SmaCCReplaceExpressionScanner>>#scanForTokenX1 SmaCCReplaceExpressionVisitor SmaCCReplaceExpressionVisitor>>#visitCodeReplace: SmaCCReplaceExpressionVisitor>>#visitCompositeReplace: SmaCCReplaceExpressionVisitor>>#visitNodeReplace: SmaCCReplaceExpressionVisitor>>#visitReplace: SmaCCReplaceExpressionVisitor>>#visitStringReplace: SmaCCRewriteRuleFileParser SmaCCRewriteRuleFileParser>>#cacheId SmaCCRewriteRuleFileParser>>#definitionComment SmaCCRewriteRuleFileParser>>#fileExtension SmaCCRewriteRuleFileParser>>#fileExtensionType SmaCCRewriteRuleFileParser>>#parseFile: SmaCCRewriteRuleFileParser>>#scannerClass SmaCCRewriteRuleFileParser>>#startingStateForFile SmaCCRewriteRuleFileParser>>#filename: SmaCCRewriteRuleFileParser>>#lookupClass: SmaCCRewriteRuleFileParser>>#reduceActionForComment2: SmaCCRewriteRuleFileParser>>#reduceActionForFile1: SmaCCRewriteRuleFileParser>>#reduceActionForImport1: SmaCCRewriteRuleFileParser>>#reduceActionForMatch1: SmaCCRewriteRuleFileParser>>#reduceActionForMatch2: SmaCCRewriteRuleFileParser>>#reduceActionForMatch3: SmaCCRewriteRuleFileParser>>#reduceActionForMatch4: SmaCCRewriteRuleFileParser>>#reduceActionForParserClass1: SmaCCRewriteRuleFileParser>>#reduceActionForRule1: SmaCCRewriteRuleFileParser>>#reduceActionForRule2: SmaCCRewriteRuleFileParser>>#reduceActionForRule3: SmaCCRewriteRuleFileParser>>#reduceActionForRules1: SmaCCRewriteRuleFileParser>>#reduceActionForRules2: SmaCCRewriteRuleFileParser>>#reduceActionForRules3: SmaCCRewriteRuleFileParser>>#reduceActionForRules4: SmaCCRewriteRuleFileParser>>#reduceActionForStartSmalltalkExpression1: SmaCCRewriteRuleFileParser>>#reduceActionForStartStringExpression1: SmaCCRewriteRuleFileParser>>#reduceActionForTransformation1: SmaCCRewriteRuleFileParser>>#reduceActionForTransformation2: SmaCCRewriteRuleFileParser>>#reduceActionForVariable1: SmaCCRewriteRuleFileParser>>#reduceActionForVariable2: SmaCCRewriteRuleFileParser>>#reduceActionForVariableList1: SmaCCRewriteRuleFileParser>>#reduceActionForVariableList2: SmaCCRewriteRuleFileParser>>#reduceTable SmaCCRewriteRuleFileParser>>#scanSmalltalkExpression SmaCCRewriteRuleFileParser>>#scanStringExpression SmaCCRewriteRuleFileParser>>#symbolNames SmaCCRewriteRuleFileParser>>#transitionTable SmaCCRewriteRuleFileParser>>#tryAllTokens SmaCCRewriteRuleFileScanner SmaCCRewriteRuleFileScanner>>#initializeKeywordMap SmaCCRewriteRuleFileScanner>>#rewriter SmaCCRewriteRuleFileScanner>>#rewriter: SmaCCRewriteRuleFileScanner>>#emptySymbolTokenId SmaCCRewriteRuleFileScanner>>#errorTokenId SmaCCRewriteRuleFileScanner>>#fixExpression: SmaCCRewriteRuleFileScanner>>#isValidSmalltalk: SmaCCRewriteRuleFileScanner>>#scan1 SmaCCRewriteRuleFileScanner>>#scan2 SmaCCRewriteRuleFileScanner>>#scan3 SmaCCRewriteRuleFileScanner>>#scan4 SmaCCRewriteRuleFileScanner>>#scanForToken SmaCCRewriteRuleFileScanner>>#scanForTokenX1 SmaCCRewriteRuleFileScanner>>#scanForTokenX2 SmaCCRewriteRuleFileScanner>>#scanForTokenX3 SmaCCRewriteRuleFileScanner>>#scanForTokenX4 SmaCCRewriteRuleFileScanner>>#scanForTokenX5 SmaCCRewriteRuleFileScanner>>#scanForTokenX6 SmaCCRewriteRuleFileScanner>>#scanForTokenX7 SmaCCRewriteRuleFileScanner>>#scanSmalltalkExpression SmaCCRewriteRuleFileScanner>>#scanStringExpression SmaCCRewriteRuleFileScanner>>#tokenActions SmaCCStringReplaceExpression SmaCCStringReplaceExpression>>#acceptVisitor: SmaCCStringReplaceExpression>>#evaluateInContext: SmaCCStringReplaceExpression>>#string SmaCCStringReplaceExpression>>#string: SmaCCStringReplaceExpression>>#tokenVariables -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
Hi Frederico,
could you try in a Pharo6.1 image Metacello new baseline: 'SmaCC'; repository: 'github://ThierryGoubier/SmaCC'; load SmaCC has a fairly complex set of dependencies, so loading it via the baseline should be the preferred way. Don't hesitate to ask if you have questions on SmaCC. Regards, Thierry Le 09/11/2017 à 19:06, Federico.Balaguer a écrit : > I would like to check if I need to use SmaCC for a project. I tried to > install it on Pharo 6.1 32bits with iceberg but I was not able to do it. > > Then I tried to get SmaCC on an Pharo5 and Pharo6 images with "Catalog > Browser" but I was not able to do it neither. The tool did pop up a message > saying that Smacc was not tested for Pharo6 which was nice. > > Then I tried to clone the git repository to my local machine, I pointed > iceberg to that local repository and then I loaded each package by hand. I > was able to load BaselineOfSmaccBrowser but SmaCC-Rewrite-Engine failed to > load with a debugger with a list of classes and methods that are missing > (they are listed at the end of this message). > > Could some give an idea how to fix this? > > Thanks. Federico > > > This package depends on the following classes: > SmaCCStringInterval > SmaCCParseNodeVisitor > SmaCCScanner > SmaCCParseNode > SmaCCParser > SmaCCString > You must resolve these dependencies before you will be able to load these > definitions: > SmaCCAnnotatedString > SmaCCAnnotatedString>>#addAnnotationTo: > SmaCCAnnotatedString>>#intervalClass > SmaCCAnnotatedString>>#newIntervalFor: > SmaCCAnnotatedString>>#node > SmaCCAnnotatedString>>#node: > SmaCCAnnotatedString>>#removeInterval: > SmaCCAnnotatedString>>#rule > SmaCCAnnotatedString>>#rule: > SmaCCAnnotatedStringInterval > SmaCCAnnotatedStringInterval>>#addAllAnnotations: > SmaCCAnnotatedStringInterval>>#addAnnotation: > SmaCCAnnotatedStringInterval>>#annotations > SmaCCAnnotatedStringInterval>>#annotations: > SmaCCAnnotatedStringInterval>>#canBeMergedWith: > SmaCCAnnotatedStringInterval>>#postCopy > SmaCCCodeReplaceExpression > SmaCCCodeReplaceExpression>>#acceptVisitor: > SmaCCCodeReplaceExpression>>#code > SmaCCCodeReplaceExpression>>#code: > SmaCCCodeReplaceExpression>>#evaluateInContext: > SmaCCCodeReplaceExpression>>#method > SmaCCCodeReplaceExpression>>#tokenVariables > SmaCCCompositeReplaceExpression > SmaCCCompositeReplaceExpression>>#acceptVisitor: > SmaCCCompositeReplaceExpression>>#compositeNodeVariables > SmaCCCompositeReplaceExpression>>#evaluateInContext: > SmaCCCompositeReplaceExpression>>#expressions > SmaCCCompositeReplaceExpression>>#expressions: > SmaCCCompositeReplaceExpression>>#initialize > SmaCCNodeReplaceExpression > SmaCCNodeReplaceExpression>>#acceptVisitor: > SmaCCNodeReplaceExpression>>#addPostfixTo:inContext: > SmaCCNodeReplaceExpression>>#addPrefixTo:inContext: > SmaCCNodeReplaceExpression>>#afterPostfix > SmaCCNodeReplaceExpression>>#afterPostfix: > SmaCCNodeReplaceExpression>>#afterWhitespace > SmaCCNodeReplaceExpression>>#afterWhitespace: > SmaCCNodeReplaceExpression>>#beforePrefix > SmaCCNodeReplaceExpression>>#beforePrefix: > SmaCCNodeReplaceExpression>>#beforeWhitespace > SmaCCNodeReplaceExpression>>#beforeWhitespace: > SmaCCNodeReplaceExpression>>#evaluateInContext: > SmaCCNodeReplaceExpression>>#name > SmaCCNodeReplaceExpression>>#name: > SmaCCNodeReplaceExpression>>#postfix > SmaCCNodeReplaceExpression>>#postfix: > SmaCCNodeReplaceExpression>>#prefix > SmaCCNodeReplaceExpression>>#prefix: > SmaCCNodeReplaceExpression>>#tokenVariables > SmaCCReplaceExpression > SmaCCReplaceExpression>>#acceptVisitor: > SmaCCReplaceExpression>>#evaluateInContext: > SmaCCReplaceExpressionParser > SmaCCReplaceExpressionParser>>#cacheId > SmaCCReplaceExpressionParser>>#definitionComment > SmaCCReplaceExpressionParser>>#scannerClass > SmaCCReplaceExpressionParser>>#startingStateForExpression > SmaCCReplaceExpressionParser>>#reduceActionForCodeReplace1: > SmaCCReplaceExpressionParser>>#reduceActionForExpression1: > SmaCCReplaceExpressionParser>>#reduceActionForNodeReplace1: > SmaCCReplaceExpressionParser>>#reduceActionForPostfixModifiers1: > SmaCCReplaceExpressionParser>>#reduceActionForPrefixModifiers1: > SmaCCReplaceExpressionParser>>#reduceActionForPrefixModifiers2: > SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpression3: > SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpressions1: > SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpressions2: > SmaCCReplaceExpressionParser>>#reduceActionForStringReplace1: > SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToCode1: > SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToDefault1: > SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToExpression1: > SmaCCReplaceExpressionParser>>#reduceTable > SmaCCReplaceExpressionParser>>#symbolNames > SmaCCReplaceExpressionParser>>#symbolTypes > SmaCCReplaceExpressionParser>>#transitionTable > SmaCCReplaceExpressionScanner > SmaCCReplaceExpressionScanner>>#codeExpressionId > SmaCCReplaceExpressionScanner>>#emptySymbolTokenId > SmaCCReplaceExpressionScanner>>#errorTokenId > SmaCCReplaceExpressionScanner>>#isValidCode > SmaCCReplaceExpressionScanner>>#next > SmaCCReplaceExpressionScanner>>#scanCode > SmaCCReplaceExpressionScanner>>#scanForToken > SmaCCReplaceExpressionScanner>>#scanForTokenX1 > SmaCCReplaceExpressionVisitor > SmaCCReplaceExpressionVisitor>>#visitCodeReplace: > SmaCCReplaceExpressionVisitor>>#visitCompositeReplace: > SmaCCReplaceExpressionVisitor>>#visitNodeReplace: > SmaCCReplaceExpressionVisitor>>#visitReplace: > SmaCCReplaceExpressionVisitor>>#visitStringReplace: > SmaCCRewriteRuleFileParser > SmaCCRewriteRuleFileParser>>#cacheId > SmaCCRewriteRuleFileParser>>#definitionComment > SmaCCRewriteRuleFileParser>>#fileExtension > SmaCCRewriteRuleFileParser>>#fileExtensionType > SmaCCRewriteRuleFileParser>>#parseFile: > SmaCCRewriteRuleFileParser>>#scannerClass > SmaCCRewriteRuleFileParser>>#startingStateForFile > SmaCCRewriteRuleFileParser>>#filename: > SmaCCRewriteRuleFileParser>>#lookupClass: > SmaCCRewriteRuleFileParser>>#reduceActionForComment2: > SmaCCRewriteRuleFileParser>>#reduceActionForFile1: > SmaCCRewriteRuleFileParser>>#reduceActionForImport1: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch1: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch2: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch3: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch4: > SmaCCRewriteRuleFileParser>>#reduceActionForParserClass1: > SmaCCRewriteRuleFileParser>>#reduceActionForRule1: > SmaCCRewriteRuleFileParser>>#reduceActionForRule2: > SmaCCRewriteRuleFileParser>>#reduceActionForRule3: > SmaCCRewriteRuleFileParser>>#reduceActionForRules1: > SmaCCRewriteRuleFileParser>>#reduceActionForRules2: > SmaCCRewriteRuleFileParser>>#reduceActionForRules3: > SmaCCRewriteRuleFileParser>>#reduceActionForRules4: > SmaCCRewriteRuleFileParser>>#reduceActionForStartSmalltalkExpression1: > SmaCCRewriteRuleFileParser>>#reduceActionForStartStringExpression1: > SmaCCRewriteRuleFileParser>>#reduceActionForTransformation1: > SmaCCRewriteRuleFileParser>>#reduceActionForTransformation2: > SmaCCRewriteRuleFileParser>>#reduceActionForVariable1: > SmaCCRewriteRuleFileParser>>#reduceActionForVariable2: > SmaCCRewriteRuleFileParser>>#reduceActionForVariableList1: > SmaCCRewriteRuleFileParser>>#reduceActionForVariableList2: > SmaCCRewriteRuleFileParser>>#reduceTable > SmaCCRewriteRuleFileParser>>#scanSmalltalkExpression > SmaCCRewriteRuleFileParser>>#scanStringExpression > SmaCCRewriteRuleFileParser>>#symbolNames > SmaCCRewriteRuleFileParser>>#transitionTable > SmaCCRewriteRuleFileParser>>#tryAllTokens > SmaCCRewriteRuleFileScanner > SmaCCRewriteRuleFileScanner>>#initializeKeywordMap > SmaCCRewriteRuleFileScanner>>#rewriter > SmaCCRewriteRuleFileScanner>>#rewriter: > SmaCCRewriteRuleFileScanner>>#emptySymbolTokenId > SmaCCRewriteRuleFileScanner>>#errorTokenId > SmaCCRewriteRuleFileScanner>>#fixExpression: > SmaCCRewriteRuleFileScanner>>#isValidSmalltalk: > SmaCCRewriteRuleFileScanner>>#scan1 > SmaCCRewriteRuleFileScanner>>#scan2 > SmaCCRewriteRuleFileScanner>>#scan3 > SmaCCRewriteRuleFileScanner>>#scan4 > SmaCCRewriteRuleFileScanner>>#scanForToken > SmaCCRewriteRuleFileScanner>>#scanForTokenX1 > SmaCCRewriteRuleFileScanner>>#scanForTokenX2 > SmaCCRewriteRuleFileScanner>>#scanForTokenX3 > SmaCCRewriteRuleFileScanner>>#scanForTokenX4 > SmaCCRewriteRuleFileScanner>>#scanForTokenX5 > SmaCCRewriteRuleFileScanner>>#scanForTokenX6 > SmaCCRewriteRuleFileScanner>>#scanForTokenX7 > SmaCCRewriteRuleFileScanner>>#scanSmalltalkExpression > SmaCCRewriteRuleFileScanner>>#scanStringExpression > SmaCCRewriteRuleFileScanner>>#tokenActions > SmaCCStringReplaceExpression > SmaCCStringReplaceExpression>>#acceptVisitor: > SmaCCStringReplaceExpression>>#evaluateInContext: > SmaCCStringReplaceExpression>>#string > SmaCCStringReplaceExpression>>#string: > SmaCCStringReplaceExpression>>#tokenVariables > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html > > |
It works! Thanks a lot and I will be asking questions for sure.
Thanks for your quick reply Federico -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
In reply to this post by Thierry Goubier
I am following this tutorial
http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf I typed the first example and when I try to compile either LR(1) or LALR(1) there is a pop-up saying that both clases where not specified. I also tried adding the classes for the scanner and parser manually but I got the result. There are a couple other things in the tutorial at the very start that didn't add up. I can send an annotated pdf if that is of any help Thanks!! Federico -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html |
Le 09/11/2017 à 20:15, Federico.Balaguer a écrit :
> I am following this tutorial > > http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf > > I typed the first example and when I try to compile either LR(1) or LALR(1) > there is a pop-up saying that both clases where not specified. I also tried > adding the classes for the scanner and parser manually but I got the result. Yes. I changed the GUI and that means I need to update the booklet. This part: • Edit the definition the pane below the compile LR(1) buttons. • Once you are done: – Click on the Scanner class and type ExpressionScanner. – Click on the Parser class and type ExpressionParser. • press either Compiler LR(1) or Compiled LALR(1) buttons. Should now be: • Edit the definition the pane below the compile LR(1) buttons. • Once you are done: – Type ExpressionParser and return in the text field left of Parser:. • press either Compiler LR(1) or Compiled LALR(1) buttons. > There are a couple other things in the tutorial at the very start that > didn't add up. I can send an annotated pdf if that is of any help Yes, that would be very helpfull! Thanks, Thierry > > Thanks!! > > Federico > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html > > |
Yes thierry :) your turn now :)
Stef On Thu, Nov 9, 2017 at 8:41 PM, Thierry Goubier <[hidden email]> wrote: > Le 09/11/2017 à 20:15, Federico.Balaguer a écrit : >> >> I am following this tutorial >> >> >> http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf >> >> I typed the first example and when I try to compile either LR(1) or >> LALR(1) >> there is a pop-up saying that both clases where not specified. I also >> tried >> adding the classes for the scanner and parser manually but I got the >> result. > > > Yes. I changed the GUI and that means I need to update the booklet. > > This part: > > • Edit the definition the pane below the compile LR(1) buttons. > • Once you are done: > – Click on the Scanner class and type ExpressionScanner. > – Click on the Parser class and type ExpressionParser. > • press either Compiler LR(1) or Compiled LALR(1) buttons. > > Should now be: > > • Edit the definition the pane below the compile LR(1) buttons. > • Once you are done: > – Type ExpressionParser and return in the text field left of Parser:. > • press either Compiler LR(1) or Compiled LALR(1) buttons. > >> There are a couple other things in the tutorial at the very start that >> didn't add up. I can send an annotated pdf if that is of any help > > > Yes, that would be very helpfull! > > Thanks, > > Thierry > > >> >> Thanks!! >> >> Federico >> >> >> >> -- >> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >> >> > > |
Thierry andrew would like to write a new chapter. Now as soon as you
fix the current version I will publish it on the books.pharo.org stef On Thu, Nov 9, 2017 at 9:02 PM, Stephane Ducasse <[hidden email]> wrote: > Yes thierry :) your turn now :) > > Stef > > On Thu, Nov 9, 2017 at 8:41 PM, Thierry Goubier > <[hidden email]> wrote: >> Le 09/11/2017 à 20:15, Federico.Balaguer a écrit : >>> >>> I am following this tutorial >>> >>> >>> http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf >>> >>> I typed the first example and when I try to compile either LR(1) or >>> LALR(1) >>> there is a pop-up saying that both clases where not specified. I also >>> tried >>> adding the classes for the scanner and parser manually but I got the >>> result. >> >> >> Yes. I changed the GUI and that means I need to update the booklet. >> >> This part: >> >> • Edit the definition the pane below the compile LR(1) buttons. >> • Once you are done: >> – Click on the Scanner class and type ExpressionScanner. >> – Click on the Parser class and type ExpressionParser. >> • press either Compiler LR(1) or Compiled LALR(1) buttons. >> >> Should now be: >> >> • Edit the definition the pane below the compile LR(1) buttons. >> • Once you are done: >> – Type ExpressionParser and return in the text field left of Parser:. >> • press either Compiler LR(1) or Compiled LALR(1) buttons. >> >>> There are a couple other things in the tutorial at the very start that >>> didn't add up. I can send an annotated pdf if that is of any help >> >> >> Yes, that would be very helpfull! >> >> Thanks, >> >> Thierry >> >> >>> >>> Thanks!! >>> >>> Federico >>> >>> >>> >>> -- >>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>> >>> >> >> |
In reply to this post by Stephane Ducasse-3
Le 09/11/2017 à 21:02, Stephane Ducasse a écrit :
> Yes thierry :) your turn now :) That's will be harder than I expected. I have issues in the LaTeX setup used by the booklet. Thierry > > Stef > > On Thu, Nov 9, 2017 at 8:41 PM, Thierry Goubier > <[hidden email]> wrote: >> Le 09/11/2017 à 20:15, Federico.Balaguer a écrit : >>> >>> I am following this tutorial >>> >>> >>> http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf >>> >>> I typed the first example and when I try to compile either LR(1) or >>> LALR(1) >>> there is a pop-up saying that both clases where not specified. I also >>> tried >>> adding the classes for the scanner and parser manually but I got the >>> result. >> >> >> Yes. I changed the GUI and that means I need to update the booklet. >> >> This part: >> >> • Edit the definition the pane below the compile LR(1) buttons. >> • Once you are done: >> – Click on the Scanner class and type ExpressionScanner. >> – Click on the Parser class and type ExpressionParser. >> • press either Compiler LR(1) or Compiled LALR(1) buttons. >> >> Should now be: >> >> • Edit the definition the pane below the compile LR(1) buttons. >> • Once you are done: >> – Type ExpressionParser and return in the text field left of Parser:. >> • press either Compiler LR(1) or Compiled LALR(1) buttons. >> >>> There are a couple other things in the tutorial at the very start that >>> didn't add up. I can send an annotated pdf if that is of any help >> >> >> Yes, that would be very helpfull! >> >> Thanks, >> >> Thierry >> >> >>> >>> Thanks!! >>> >>> Federico >>> >>> >>> >>> -- >>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>> >>> >> >> > > |
In reply to this post by Federico.Balaguer
On 11/9/17, Federico.Balaguer <[hidden email]> wrote:
> I would like to check if I need to use SmaCC for a project. I tried to > install it on Pharo 6.1 32bits with iceberg but I was not able to do it. > > Then I tried to get SmaCC on an Pharo5 I just loaded SmaCC into a Pharo 5 - 32bit image. It worked fine. Make sure that you have opened a Transcript window before loading SmaCC through the catalog. This way you see if there are problems. I loaded the 'stable' version and got on the Transcript what I copy in below. --Hannes ConfigurationOfSmaCC class>>updateSmalltalkhubSmaCC (MCFileTreeGitRemoteRepository is Undeclared) Loading 2.0.5.1 of ConfigurationOfSmaCC... Fetched -> BaselineOfSmaCC-ThierryGoubier.8 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Loaded -> BaselineOfSmaCC-ThierryGoubier.8 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Project: SmaCC baseline Fetched -> SmaCC-Source-Editing-ThierryGoubier.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Runtime-ThierryGoubier.10 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-GLR-Runtime-ThierryGoubier.4 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Development-ThierryGoubier.41 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Development-UI-ThierryGoubier.31 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Rewrite-Engine-ThierryGoubier.6 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Smalltalk-Parser-ThierryGoubier.6 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-C-Parser-ThierryGoubier.5 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-CSV-ThierryGoubier.3 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-CSharp-ThierryGoubier.8 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Cucumber-ThierryGoubier.9 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Javascript-ThierryGoubier.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Java-ThierryGoubier.9 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Fetched -> SmaCC-Python-ThierryGoubier.44 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 Loaded -> SmaCC-Source-Editing-ThierryGoubier.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Runtime-ThierryGoubier.10 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-GLR-Runtime-ThierryGoubier.4 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Development-ThierryGoubier.41 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Development-UI-ThierryGoubier.31 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Rewrite-Engine-ThierryGoubier.6 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Smalltalk-Parser-ThierryGoubier.6 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-C-Parser-ThierryGoubier.5 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-CSV-ThierryGoubier.3 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-CSharp-ThierryGoubier.8 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Cucumber-ThierryGoubier.9 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Javascript-ThierryGoubier.1 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Java-ThierryGoubier.9 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache Loaded -> SmaCC-Python-ThierryGoubier.44 --- github://ThierryGoubier/SmaCC:v2.0.5.1 --- cache ...finished 2.0.5.1 and Pharo6 images with "Catalog > Browser" but I was not able to do it neither. The tool did pop up a message > saying that Smacc was not tested for Pharo6 which was nice. > > Then I tried to clone the git repository to my local machine, I pointed > iceberg to that local repository and then I loaded each package by hand. I > was able to load BaselineOfSmaccBrowser but SmaCC-Rewrite-Engine failed to > load with a debugger with a list of classes and methods that are missing > (they are listed at the end of this message). > > Could some give an idea how to fix this? > > Thanks. Federico > > > This package depends on the following classes: > SmaCCStringInterval > SmaCCParseNodeVisitor > SmaCCScanner > SmaCCParseNode > SmaCCParser > SmaCCString > You must resolve these dependencies before you will be able to load these > definitions: > SmaCCAnnotatedString > SmaCCAnnotatedString>>#addAnnotationTo: > SmaCCAnnotatedString>>#intervalClass > SmaCCAnnotatedString>>#newIntervalFor: > SmaCCAnnotatedString>>#node > SmaCCAnnotatedString>>#node: > SmaCCAnnotatedString>>#removeInterval: > SmaCCAnnotatedString>>#rule > SmaCCAnnotatedString>>#rule: > SmaCCAnnotatedStringInterval > SmaCCAnnotatedStringInterval>>#addAllAnnotations: > SmaCCAnnotatedStringInterval>>#addAnnotation: > SmaCCAnnotatedStringInterval>>#annotations > SmaCCAnnotatedStringInterval>>#annotations: > SmaCCAnnotatedStringInterval>>#canBeMergedWith: > SmaCCAnnotatedStringInterval>>#postCopy > SmaCCCodeReplaceExpression > SmaCCCodeReplaceExpression>>#acceptVisitor: > SmaCCCodeReplaceExpression>>#code > SmaCCCodeReplaceExpression>>#code: > SmaCCCodeReplaceExpression>>#evaluateInContext: > SmaCCCodeReplaceExpression>>#method > SmaCCCodeReplaceExpression>>#tokenVariables > SmaCCCompositeReplaceExpression > SmaCCCompositeReplaceExpression>>#acceptVisitor: > SmaCCCompositeReplaceExpression>>#compositeNodeVariables > SmaCCCompositeReplaceExpression>>#evaluateInContext: > SmaCCCompositeReplaceExpression>>#expressions > SmaCCCompositeReplaceExpression>>#expressions: > SmaCCCompositeReplaceExpression>>#initialize > SmaCCNodeReplaceExpression > SmaCCNodeReplaceExpression>>#acceptVisitor: > SmaCCNodeReplaceExpression>>#addPostfixTo:inContext: > SmaCCNodeReplaceExpression>>#addPrefixTo:inContext: > SmaCCNodeReplaceExpression>>#afterPostfix > SmaCCNodeReplaceExpression>>#afterPostfix: > SmaCCNodeReplaceExpression>>#afterWhitespace > SmaCCNodeReplaceExpression>>#afterWhitespace: > SmaCCNodeReplaceExpression>>#beforePrefix > SmaCCNodeReplaceExpression>>#beforePrefix: > SmaCCNodeReplaceExpression>>#beforeWhitespace > SmaCCNodeReplaceExpression>>#beforeWhitespace: > SmaCCNodeReplaceExpression>>#evaluateInContext: > SmaCCNodeReplaceExpression>>#name > SmaCCNodeReplaceExpression>>#name: > SmaCCNodeReplaceExpression>>#postfix > SmaCCNodeReplaceExpression>>#postfix: > SmaCCNodeReplaceExpression>>#prefix > SmaCCNodeReplaceExpression>>#prefix: > SmaCCNodeReplaceExpression>>#tokenVariables > SmaCCReplaceExpression > SmaCCReplaceExpression>>#acceptVisitor: > SmaCCReplaceExpression>>#evaluateInContext: > SmaCCReplaceExpressionParser > SmaCCReplaceExpressionParser>>#cacheId > SmaCCReplaceExpressionParser>>#definitionComment > SmaCCReplaceExpressionParser>>#scannerClass > SmaCCReplaceExpressionParser>>#startingStateForExpression > SmaCCReplaceExpressionParser>>#reduceActionForCodeReplace1: > SmaCCReplaceExpressionParser>>#reduceActionForExpression1: > SmaCCReplaceExpressionParser>>#reduceActionForNodeReplace1: > SmaCCReplaceExpressionParser>>#reduceActionForPostfixModifiers1: > SmaCCReplaceExpressionParser>>#reduceActionForPrefixModifiers1: > SmaCCReplaceExpressionParser>>#reduceActionForPrefixModifiers2: > SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpression3: > SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpressions1: > SmaCCReplaceExpressionParser>>#reduceActionForRewriteExpressions2: > SmaCCReplaceExpressionParser>>#reduceActionForStringReplace1: > SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToCode1: > SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToDefault1: > SmaCCReplaceExpressionParser>>#reduceActionForSwitchStateToExpression1: > SmaCCReplaceExpressionParser>>#reduceTable > SmaCCReplaceExpressionParser>>#symbolNames > SmaCCReplaceExpressionParser>>#symbolTypes > SmaCCReplaceExpressionParser>>#transitionTable > SmaCCReplaceExpressionScanner > SmaCCReplaceExpressionScanner>>#codeExpressionId > SmaCCReplaceExpressionScanner>>#emptySymbolTokenId > SmaCCReplaceExpressionScanner>>#errorTokenId > SmaCCReplaceExpressionScanner>>#isValidCode > SmaCCReplaceExpressionScanner>>#next > SmaCCReplaceExpressionScanner>>#scanCode > SmaCCReplaceExpressionScanner>>#scanForToken > SmaCCReplaceExpressionScanner>>#scanForTokenX1 > SmaCCReplaceExpressionVisitor > SmaCCReplaceExpressionVisitor>>#visitCodeReplace: > SmaCCReplaceExpressionVisitor>>#visitCompositeReplace: > SmaCCReplaceExpressionVisitor>>#visitNodeReplace: > SmaCCReplaceExpressionVisitor>>#visitReplace: > SmaCCReplaceExpressionVisitor>>#visitStringReplace: > SmaCCRewriteRuleFileParser > SmaCCRewriteRuleFileParser>>#cacheId > SmaCCRewriteRuleFileParser>>#definitionComment > SmaCCRewriteRuleFileParser>>#fileExtension > SmaCCRewriteRuleFileParser>>#fileExtensionType > SmaCCRewriteRuleFileParser>>#parseFile: > SmaCCRewriteRuleFileParser>>#scannerClass > SmaCCRewriteRuleFileParser>>#startingStateForFile > SmaCCRewriteRuleFileParser>>#filename: > SmaCCRewriteRuleFileParser>>#lookupClass: > SmaCCRewriteRuleFileParser>>#reduceActionForComment2: > SmaCCRewriteRuleFileParser>>#reduceActionForFile1: > SmaCCRewriteRuleFileParser>>#reduceActionForImport1: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch1: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch2: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch3: > SmaCCRewriteRuleFileParser>>#reduceActionForMatch4: > SmaCCRewriteRuleFileParser>>#reduceActionForParserClass1: > SmaCCRewriteRuleFileParser>>#reduceActionForRule1: > SmaCCRewriteRuleFileParser>>#reduceActionForRule2: > SmaCCRewriteRuleFileParser>>#reduceActionForRule3: > SmaCCRewriteRuleFileParser>>#reduceActionForRules1: > SmaCCRewriteRuleFileParser>>#reduceActionForRules2: > SmaCCRewriteRuleFileParser>>#reduceActionForRules3: > SmaCCRewriteRuleFileParser>>#reduceActionForRules4: > SmaCCRewriteRuleFileParser>>#reduceActionForStartSmalltalkExpression1: > SmaCCRewriteRuleFileParser>>#reduceActionForStartStringExpression1: > SmaCCRewriteRuleFileParser>>#reduceActionForTransformation1: > SmaCCRewriteRuleFileParser>>#reduceActionForTransformation2: > SmaCCRewriteRuleFileParser>>#reduceActionForVariable1: > SmaCCRewriteRuleFileParser>>#reduceActionForVariable2: > SmaCCRewriteRuleFileParser>>#reduceActionForVariableList1: > SmaCCRewriteRuleFileParser>>#reduceActionForVariableList2: > SmaCCRewriteRuleFileParser>>#reduceTable > SmaCCRewriteRuleFileParser>>#scanSmalltalkExpression > SmaCCRewriteRuleFileParser>>#scanStringExpression > SmaCCRewriteRuleFileParser>>#symbolNames > SmaCCRewriteRuleFileParser>>#transitionTable > SmaCCRewriteRuleFileParser>>#tryAllTokens > SmaCCRewriteRuleFileScanner > SmaCCRewriteRuleFileScanner>>#initializeKeywordMap > SmaCCRewriteRuleFileScanner>>#rewriter > SmaCCRewriteRuleFileScanner>>#rewriter: > SmaCCRewriteRuleFileScanner>>#emptySymbolTokenId > SmaCCRewriteRuleFileScanner>>#errorTokenId > SmaCCRewriteRuleFileScanner>>#fixExpression: > SmaCCRewriteRuleFileScanner>>#isValidSmalltalk: > SmaCCRewriteRuleFileScanner>>#scan1 > SmaCCRewriteRuleFileScanner>>#scan2 > SmaCCRewriteRuleFileScanner>>#scan3 > SmaCCRewriteRuleFileScanner>>#scan4 > SmaCCRewriteRuleFileScanner>>#scanForToken > SmaCCRewriteRuleFileScanner>>#scanForTokenX1 > SmaCCRewriteRuleFileScanner>>#scanForTokenX2 > SmaCCRewriteRuleFileScanner>>#scanForTokenX3 > SmaCCRewriteRuleFileScanner>>#scanForTokenX4 > SmaCCRewriteRuleFileScanner>>#scanForTokenX5 > SmaCCRewriteRuleFileScanner>>#scanForTokenX6 > SmaCCRewriteRuleFileScanner>>#scanForTokenX7 > SmaCCRewriteRuleFileScanner>>#scanSmalltalkExpression > SmaCCRewriteRuleFileScanner>>#scanStringExpression > SmaCCRewriteRuleFileScanner>>#tokenActions > SmaCCStringReplaceExpression > SmaCCStringReplaceExpression>>#acceptVisitor: > SmaCCStringReplaceExpression>>#evaluateInContext: > SmaCCStringReplaceExpression>>#string > SmaCCStringReplaceExpression>>#string: > SmaCCStringReplaceExpression>>#tokenVariables > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html > > |
In reply to this post by Thierry Goubier
Hi thierry
we are working and soon we will have a much simpler installation and everything :) Now just commit and I will check and fix :) Stef On Fri, Nov 10, 2017 at 6:47 AM, Thierry Goubier <[hidden email]> wrote: > Le 09/11/2017 à 21:02, Stephane Ducasse a écrit : >> >> Yes thierry :) your turn now :) > > > That's will be harder than I expected. I have issues in the LaTeX setup used > by the booklet. > > Thierry > > >> >> Stef >> >> On Thu, Nov 9, 2017 at 8:41 PM, Thierry Goubier >> <[hidden email]> wrote: >>> >>> Le 09/11/2017 à 20:15, Federico.Balaguer a écrit : >>>> >>>> >>>> I am following this tutorial >>>> >>>> >>>> >>>> http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf >>>> >>>> I typed the first example and when I try to compile either LR(1) or >>>> LALR(1) >>>> there is a pop-up saying that both clases where not specified. I also >>>> tried >>>> adding the classes for the scanner and parser manually but I got the >>>> result. >>> >>> >>> >>> Yes. I changed the GUI and that means I need to update the booklet. >>> >>> This part: >>> >>> • Edit the definition the pane below the compile LR(1) buttons. >>> • Once you are done: >>> – Click on the Scanner class and type ExpressionScanner. >>> – Click on the Parser class and type ExpressionParser. >>> • press either Compiler LR(1) or Compiled LALR(1) buttons. >>> >>> Should now be: >>> >>> • Edit the definition the pane below the compile LR(1) buttons. >>> • Once you are done: >>> – Type ExpressionParser and return in the text field left of Parser:. >>> • press either Compiler LR(1) or Compiled LALR(1) buttons. >>> >>>> There are a couple other things in the tutorial at the very start that >>>> didn't add up. I can send an annotated pdf if that is of any help >>> >>> >>> >>> Yes, that would be very helpfull! >>> >>> Thanks, >>> >>> Thierry >>> >>> >>>> >>>> Thanks!! >>>> >>>> Federico >>>> >>>> >>>> >>>> -- >>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>>> >>>> >>> >>> >> >> > > |
Hi Steff,
Le 10/11/2017 à 19:17, Stephane Ducasse a écrit : > Hi thierry > > we are working and soon we will have a much simpler installation and > everything :) Out of a minimal image? That would be very cool. > Now just commit and I will check and fix :) I committed, created a pull request and merged. It should be Ok apart from: - can hyphenating be desactivated in ==sequences==? It is allways strange to see a class name or a method name split by a hypen, like in SmaCC-Parser - how does one writes a reference to a section or a chapter? Thierry > > Stef > > On Fri, Nov 10, 2017 at 6:47 AM, Thierry Goubier > <[hidden email]> wrote: >> Le 09/11/2017 à 21:02, Stephane Ducasse a écrit : >>> >>> Yes thierry :) your turn now :) >> >> >> That's will be harder than I expected. I have issues in the LaTeX setup used >> by the booklet. >> >> Thierry >> >> >>> >>> Stef >>> >>> On Thu, Nov 9, 2017 at 8:41 PM, Thierry Goubier >>> <[hidden email]> wrote: >>>> >>>> Le 09/11/2017 à 20:15, Federico.Balaguer a écrit : >>>>> >>>>> >>>>> I am following this tutorial >>>>> >>>>> >>>>> >>>>> http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf >>>>> >>>>> I typed the first example and when I try to compile either LR(1) or >>>>> LALR(1) >>>>> there is a pop-up saying that both clases where not specified. I also >>>>> tried >>>>> adding the classes for the scanner and parser manually but I got the >>>>> result. >>>> >>>> >>>> >>>> Yes. I changed the GUI and that means I need to update the booklet. >>>> >>>> This part: >>>> >>>> • Edit the definition the pane below the compile LR(1) buttons. >>>> • Once you are done: >>>> – Click on the Scanner class and type ExpressionScanner. >>>> – Click on the Parser class and type ExpressionParser. >>>> • press either Compiler LR(1) or Compiled LALR(1) buttons. >>>> >>>> Should now be: >>>> >>>> • Edit the definition the pane below the compile LR(1) buttons. >>>> • Once you are done: >>>> – Type ExpressionParser and return in the text field left of Parser:. >>>> • press either Compiler LR(1) or Compiled LALR(1) buttons. >>>> >>>>> There are a couple other things in the tutorial at the very start that >>>>> didn't add up. I can send an annotated pdf if that is of any help >>>> >>>> >>>> >>>> Yes, that would be very helpfull! >>>> >>>> Thanks, >>>> >>>> Thierry >>>> >>>> >>>>> >>>>> Thanks!! >>>>> >>>>> Federico >>>>> >>>>> >>>>> >>>>> -- >>>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > |
>>
>> Hi thierry >> >> we are working and soon we will have a much simpler installation and >> everything :) > > > Out of a minimal image? That would be very cool. Uh? The problem is latex and not Pharo here. Guille removes the need for makefiles and clean the archetypes we will be able to move on. > >> Now just commit and I will check and fix :) > > > I committed, created a pull request and merged. It should be Ok apart from: > > - can hyphenating be desactivated in ==sequences==? It is allways strange to > see a class name or a method name split by a hypen, like in SmaCC-Parser No > - how does one writes a reference to a section or a chapter? *@xxx* > > Thierry > > >> >> Stef >> >> On Fri, Nov 10, 2017 at 6:47 AM, Thierry Goubier >> <[hidden email]> wrote: >>> >>> Le 09/11/2017 à 21:02, Stephane Ducasse a écrit : >>>> >>>> >>>> Yes thierry :) your turn now :) >>> >>> >>> >>> That's will be harder than I expected. I have issues in the LaTeX setup >>> used >>> by the booklet. >>> >>> Thierry >>> >>> >>>> >>>> Stef >>>> >>>> On Thu, Nov 9, 2017 at 8:41 PM, Thierry Goubier >>>> <[hidden email]> wrote: >>>>> >>>>> >>>>> Le 09/11/2017 à 20:15, Federico.Balaguer a écrit : >>>>>> >>>>>> >>>>>> >>>>>> I am following this tutorial >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> http://files.pharo.org/books-pdfs/booklet-Smacc/2017-05-05-Smacc-Spiral.pdf >>>>>> >>>>>> I typed the first example and when I try to compile either LR(1) or >>>>>> LALR(1) >>>>>> there is a pop-up saying that both clases where not specified. I also >>>>>> tried >>>>>> adding the classes for the scanner and parser manually but I got the >>>>>> result. >>>>> >>>>> >>>>> >>>>> >>>>> Yes. I changed the GUI and that means I need to update the booklet. >>>>> >>>>> This part: >>>>> >>>>> • Edit the definition the pane below the compile LR(1) buttons. >>>>> • Once you are done: >>>>> – Click on the Scanner class and type ExpressionScanner. >>>>> – Click on the Parser class and type ExpressionParser. >>>>> • press either Compiler LR(1) or Compiled LALR(1) buttons. >>>>> >>>>> Should now be: >>>>> >>>>> • Edit the definition the pane below the compile LR(1) buttons. >>>>> • Once you are done: >>>>> – Type ExpressionParser and return in the text field left of Parser:. >>>>> • press either Compiler LR(1) or Compiled LALR(1) buttons. >>>>> >>>>>> There are a couple other things in the tutorial at the very start that >>>>>> didn't add up. I can send an annotated pdf if that is of any help >>>>> >>>>> >>>>> >>>>> >>>>> Yes, that would be very helpfull! >>>>> >>>>> Thanks, >>>>> >>>>> Thierry >>>>> >>>>> >>>>>> >>>>>> Thanks!! >>>>>> >>>>>> Federico >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> > > |
Free forum by Nabble | Edit this page |