Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the instructions to install a NativeBoost VM found here: http://code.google.com/p/nativeboost/wiki/Installation. I downloaded the latest Mac NBCog VM, and ran into an error after evaluating NBInstaller install. I'm using the 4.3alpha-11636.image file. The 4.2 image gives a different set of errors but also wont install: The progress bar window says: Compiling NativeBoost-Core-IgorStasenko.36 The window title is "Syntax error" with a split text field. The top field contains: nbExternalStructure Fields parsing spec parseFields:byte The bottom field has a red error message embedded in this line: stream peek == #Invalid literal character ->; ifTrue: [ stream next ]. ]. Help? |
On 30 September 2011 11:42, Lawson English <[hidden email]> wrote: > > Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the instructions to > install a NativeBoost VM found here: > http://code.google.com/p/nativeboost/wiki/Installation. I downloaded the > latest Mac NBCog VM, and ran into an error after evaluating NBInstaller > install. > > I'm using the 4.3alpha-11636.image file. The 4.2 image gives a different set > of errors but also wont install: > > The progress bar window says: Compiling NativeBoost-Core-IgorStasenko.36 > > > The window title is "Syntax error" with a split text field. The top field > contains: > nbExternalStructure Fields parsing spec parseFields:byte > > > The bottom field has a red error message embedded in this line: > > stream peek == #Invalid literal character ->; ifTrue: [ stream next > ]. > ]. > > > > Help? > It looks like there is a change in parser which don't likes the following syntax: #( a; b ; c) imo, this is correct syntax. a ';' should be converted to #; symbol. -- Best regards, Igor Stasenko. |
On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: > > On 30 September 2011 11:42, Lawson English <[hidden email]> wrote: > > > > Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the instructions to > > install a NativeBoost VM found here: > > http://code.google.com/p/nativeboost/wiki/Installation. I downloaded the > > latest Mac NBCog VM, ??and ran into an error after evaluating NBInstaller > > install. > > > > I'm using the 4.3alpha-11636.image file. The 4.2 image gives a different set > > of errors but also wont install: > > > > The progress bar window says: Compiling NativeBoost-Core-IgorStasenko.36 > > > > > > The window title is "Syntax error" with a split text field. The top field > > contains: > > nbExternalStructure Fields parsing spec parseFields:byte > > > > > > The bottom field has a red error message embedded in this line: > > > > ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ stream next > > ]. > > ?? ??]. > > > > > > > > Help? > > > I didn't tested an installation in squeak 4.2 images. > It looks like there is a change in parser which don't likes the > following syntax: > > #( a; b ; c) > > > imo, this is correct syntax. a ';' should be converted to #; symbol. > Squeak 3.6: #( a; b ; c) ==> #(#a #; #b #; #c) Squeak 3.8: #( a; b ; c) ==> #(#a #; #b #; #c) Squeak trunk: #( a; b ; c) ==> #(#a #';' #b #';' #c) PharoCore-1.3-13173: #( a; b ; c) ==> #(#a #';' #b #';' #c) Dave |
On 30 September 2011 18:11, David T. Lewis <[hidden email]> wrote: > > On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: >> >> On 30 September 2011 11:42, Lawson English <[hidden email]> wrote: >> > >> > Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the instructions to >> > install a NativeBoost VM found here: >> > http://code.google.com/p/nativeboost/wiki/Installation. I downloaded the >> > latest Mac NBCog VM, ??and ran into an error after evaluating NBInstaller >> > install. >> > >> > I'm using the 4.3alpha-11636.image file. The 4.2 image gives a different set >> > of errors but also wont install: >> > >> > The progress bar window says: Compiling NativeBoost-Core-IgorStasenko.36 >> > >> > >> > The window title is "Syntax error" with a split text field. The top field >> > contains: >> > nbExternalStructure Fields parsing spec parseFields:byte >> > >> > >> > The bottom field has a red error message embedded in this line: >> > >> > ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ stream next >> > ]. >> > ?? ??]. >> > >> > >> > >> > Help? >> > >> I didn't tested an installation in squeak 4.2 images. >> It looks like there is a change in parser which don't likes the >> following syntax: >> >> #( a; b ; c) >> >> >> imo, this is correct syntax. a ';' should be converted to #; symbol. >> > > Squeak 3.6: > #( a; b ; c) ==> #(#a #; #b #; #c) > > Squeak 3.8: > #( a; b ; c) ==> #(#a #; #b #; #c) > > Squeak trunk: > #( a; b ; c) ==> #(#a #';' #b #';' #c) > > PharoCore-1.3-13173: > #( a; b ; c) ==> #(#a #';' #b #';' #c) > > Dave > ok, then problem is in something else. Lawson, could you please paste the full method source with problematic code? > -- Best regards, Igor Stasenko. |
This is what appeared in the Syntax Error window: parseFields: fieldSpec byteAlignment: byteAlign structure: structClass | stream type name gen | stream := fieldSpec readStream. gen := NBFFICallout new requestor: structClass. fields := Dictionary new. totalSize := 0. [ stream atEnd ] whileFalse: [ type := gen resolveType: stream next. name := stream next. name isSymbol ifFalse: [ self error: 'invalid field name']. fields at: name ifPresent: [ self error: 'duplicate field name' ]. fields at: name put: { type. totalSize }. totalSize := totalSize + type storageSize. totalSize \\ byteAlign > 0 ifTrue: [ totalSize := totalSize \\ byteAlign + byteAlign ]. stream peek == #Invalid literal character ->; ifTrue: [ stream next ]. ]. On 9/30/11 9:20 AM, Igor Stasenko wrote: [...] > ok, then problem is in something else. Lawson, could you please paste > the full method source with problematic code? > > |
In reply to this post by Igor Stasenko
On 30.09.2011 18:20, Igor Stasenko wrote: > > On 30 September 2011 18:11, David T. Lewis<[hidden email]> wrote: >> On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: >>> On 30 September 2011 11:42, Lawson English<[hidden email]> wrote: >>>> Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the instructions to >>>> install a NativeBoost VM found here: >>>> http://code.google.com/p/nativeboost/wiki/Installation. I downloaded the >>>> latest Mac NBCog VM, ??and ran into an error after evaluating NBInstaller >>>> install. >>>> >>>> I'm using the 4.3alpha-11636.image file. The 4.2 image gives a different set >>>> of errors but also wont install: >>>> >>>> The progress bar window says: Compiling NativeBoost-Core-IgorStasenko.36 >>>> >>>> >>>> The window title is "Syntax error" with a split text field. The top field >>>> contains: >>>> nbExternalStructure Fields parsing spec parseFields:byte >>>> >>>> >>>> The bottom field has a red error message embedded in this line: >>>> >>>> ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ stream next >>>> ]. >>>> ?? ??]. >>>> >>>> >>>> >>>> Help? >>>> >>> I didn't tested an installation in squeak 4.2 images. >>> It looks like there is a change in parser which don't likes the >>> following syntax: >>> >>> #( a; b ; c) >>> >>> >>> imo, this is correct syntax. a ';' should be converted to #; symbol. >>> >> Squeak 3.6: >> #( a; b ; c) ==> #(#a #; #b #; #c) >> >> Squeak 3.8: >> #( a; b ; c) ==> #(#a #; #b #; #c) >> >> Squeak trunk: >> #( a; b ; c) ==> #(#a #';' #b #';' #c) >> >> PharoCore-1.3-13173: >> #( a; b ; c) ==> #(#a #';' #b #';' #c) >> >> Dave >> > ok, then problem is in something else. > Lawson, could you please paste the full method source with problematic code? > #; inspect -> Syntax error though... ps. stream peek == #; sure it's not a typo and should be stream peek == $; ? Cheers, Henry |
On 1 October 2011 02:24, Henrik Sperre Johansen <[hidden email]> wrote: > > On 30.09.2011 18:20, Igor Stasenko wrote: >> >> On 30 September 2011 18:11, David T. Lewis<[hidden email]> wrote: >>> >>> On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: >>>> >>>> On 30 September 2011 11:42, Lawson English<[hidden email]> wrote: >>>>> >>>>> Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the >>>>> instructions to >>>>> install a NativeBoost VM found here: >>>>> http://code.google.com/p/nativeboost/wiki/Installation. I downloaded >>>>> the >>>>> latest Mac NBCog VM, ??and ran into an error after evaluating >>>>> NBInstaller >>>>> install. >>>>> >>>>> I'm using the 4.3alpha-11636.image file. The 4.2 image gives a >>>>> different set >>>>> of errors but also wont install: >>>>> >>>>> The progress bar window says: Compiling >>>>> NativeBoost-Core-IgorStasenko.36 >>>>> >>>>> >>>>> The window title is "Syntax error" with a split text field. The top >>>>> field >>>>> contains: >>>>> nbExternalStructure Fields parsing spec parseFields:byte >>>>> >>>>> >>>>> The bottom field has a red error message embedded in this line: >>>>> >>>>> ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ >>>>> stream next >>>>> ]. >>>>> ?? ??]. >>>>> >>>>> >>>>> >>>>> Help? >>>>> >>>> I didn't tested an installation in squeak 4.2 images. >>>> It looks like there is a change in parser which don't likes the >>>> following syntax: >>>> >>>> #( a; b ; c) >>>> >>>> >>>> imo, this is correct syntax. a ';' should be converted to #; symbol. >>>> >>> Squeak 3.6: >>> #( a; b ; c) ==> #(#a #; #b #; #c) >>> >>> Squeak 3.8: >>> #( a; b ; c) ==> #(#a #; #b #; #c) >>> >>> Squeak trunk: >>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>> >>> PharoCore-1.3-13173: >>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>> >>> Dave >>> >> ok, then problem is in something else. >> Lawson, could you please paste the full method source with problematic >> code? >> > > #; inspect -> Syntax error though... > > ps. > stream peek == #; > > sure it's not a typo and should be > stream peek == $; ? > #( a ; b ; c ; ) readStream stream peek at some moment could answer #; symbol. perhaps i should write it like #';' ? but why it considered invalid? > Cheers, > Henry > -- Best regards, Igor Stasenko. |
2011/10/1 Igor Stasenko <[hidden email]>: > > On 1 October 2011 02:24, Henrik Sperre Johansen > <[hidden email]> wrote: >> >> On 30.09.2011 18:20, Igor Stasenko wrote: >>> >>> On 30 September 2011 18:11, David T. Lewis<[hidden email]> wrote: >>>> >>>> On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: >>>>> >>>>> On 30 September 2011 11:42, Lawson English<[hidden email]> wrote: >>>>>> >>>>>> Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the >>>>>> instructions to >>>>>> install a NativeBoost VM found here: >>>>>> http://code.google.com/p/nativeboost/wiki/Installation. I downloaded >>>>>> the >>>>>> latest Mac NBCog VM, ??and ran into an error after evaluating >>>>>> NBInstaller >>>>>> install. >>>>>> >>>>>> I'm using the 4.3alpha-11636.image file. The 4.2 image gives a >>>>>> different set >>>>>> of errors but also wont install: >>>>>> >>>>>> The progress bar window says: Compiling >>>>>> NativeBoost-Core-IgorStasenko.36 >>>>>> >>>>>> >>>>>> The window title is "Syntax error" with a split text field. The top >>>>>> field >>>>>> contains: >>>>>> nbExternalStructure Fields parsing spec parseFields:byte >>>>>> >>>>>> >>>>>> The bottom field has a red error message embedded in this line: >>>>>> >>>>>> ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ >>>>>> stream next >>>>>> ]. >>>>>> ?? ??]. >>>>>> >>>>>> >>>>>> >>>>>> Help? >>>>>> >>>>> I didn't tested an installation in squeak 4.2 images. >>>>> It looks like there is a change in parser which don't likes the >>>>> following syntax: >>>>> >>>>> #( a; b ; c) >>>>> >>>>> >>>>> imo, this is correct syntax. a ';' should be converted to #; symbol. >>>>> >>>> Squeak 3.6: >>>> #( a; b ; c) ==> #(#a #; #b #; #c) >>>> >>>> Squeak 3.8: >>>> #( a; b ; c) ==> #(#a #; #b #; #c) >>>> >>>> Squeak trunk: >>>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>>> >>>> PharoCore-1.3-13173: >>>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>>> >>>> Dave >>>> >>> ok, then problem is in something else. >>> Lawson, could you please paste the full method source with problematic >>> code? >>> >> >> #; inspect -> Syntax error though... >> >> ps. >> stream peek == #; >> >> sure it's not a typo and should be >> stream peek == $; ? >> > yes its not a typo. Since it is a stream from given array: > > #( a ; b ; c ; ) readStream > > stream peek at some moment could answer #; symbol. > > perhaps i should write it like #';' ? > but why it considered invalid? > Ah, all these behaviours were removed from Squeak #; -> #';' #1 -> 1 #$1 -> $1 The rationale was: 1) These were not defined in st80, nor in any formal Smalltalk syntax. # was only for literal symbols or literal arrays. 2) #';' 1 and $1 already are literals, so we don't need any other syntax or additional decoration. 3) This is not portable, no other dialect would accept it. 4) And there were plenty of oddities with doubled # or spaces inserted in between... Now, Igor you seem to suggest that these extensions would be logical given how the inside of literal array is interpreted, is that it? Nicolas > >> Cheers, >> Henry >> > > > > -- > Best regards, > Igor Stasenko. > |
On 2 October 2011 19:35, Nicolas Cellier <[hidden email]> wrote: > > 2011/10/1 Igor Stasenko <[hidden email]>: >> >> On 1 October 2011 02:24, Henrik Sperre Johansen >> <[hidden email]> wrote: >>> >>> On 30.09.2011 18:20, Igor Stasenko wrote: >>>> >>>> On 30 September 2011 18:11, David T. Lewis<[hidden email]> wrote: >>>>> >>>>> On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: >>>>>> >>>>>> On 30 September 2011 11:42, Lawson English<[hidden email]> wrote: >>>>>>> >>>>>>> Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the >>>>>>> instructions to >>>>>>> install a NativeBoost VM found here: >>>>>>> http://code.google.com/p/nativeboost/wiki/Installation. I downloaded >>>>>>> the >>>>>>> latest Mac NBCog VM, ??and ran into an error after evaluating >>>>>>> NBInstaller >>>>>>> install. >>>>>>> >>>>>>> I'm using the 4.3alpha-11636.image file. The 4.2 image gives a >>>>>>> different set >>>>>>> of errors but also wont install: >>>>>>> >>>>>>> The progress bar window says: Compiling >>>>>>> NativeBoost-Core-IgorStasenko.36 >>>>>>> >>>>>>> >>>>>>> The window title is "Syntax error" with a split text field. The top >>>>>>> field >>>>>>> contains: >>>>>>> nbExternalStructure Fields parsing spec parseFields:byte >>>>>>> >>>>>>> >>>>>>> The bottom field has a red error message embedded in this line: >>>>>>> >>>>>>> ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ >>>>>>> stream next >>>>>>> ]. >>>>>>> ?? ??]. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Help? >>>>>>> >>>>>> I didn't tested an installation in squeak 4.2 images. >>>>>> It looks like there is a change in parser which don't likes the >>>>>> following syntax: >>>>>> >>>>>> #( a; b ; c) >>>>>> >>>>>> >>>>>> imo, this is correct syntax. a ';' should be converted to #; symbol. >>>>>> >>>>> Squeak 3.6: >>>>> #( a; b ; c) ==> #(#a #; #b #; #c) >>>>> >>>>> Squeak 3.8: >>>>> #( a; b ; c) ==> #(#a #; #b #; #c) >>>>> >>>>> Squeak trunk: >>>>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>>>> >>>>> PharoCore-1.3-13173: >>>>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>>>> >>>>> Dave >>>>> >>>> ok, then problem is in something else. >>>> Lawson, could you please paste the full method source with problematic >>>> code? >>>> >>> >>> #; inspect -> Syntax error though... >>> >>> ps. >>> stream peek == #; >>> >>> sure it's not a typo and should be >>> stream peek == $; ? >>> >> yes its not a typo. Since it is a stream from given array: >> >> #( a ; b ; c ; ) readStream >> >> stream peek at some moment could answer #; symbol. >> >> perhaps i should write it like #';' ? >> but why it considered invalid? >> > > Ah, all these behaviours were removed from Squeak > #; -> #';' > #1 -> 1 > #$1 -> $1 > The rationale was: > 1) These were not defined in st80, nor in any formal Smalltalk syntax. > # was only for literal symbols or literal arrays. > 2) #';' 1 and $1 already are literals, so we don't need any other > syntax or additional decoration. > 3) This is not portable, no other dialect would accept it. > 4) And there were plenty of oddities with doubled # or spaces inserted > in between... > > Now, Igor you seem to suggest that these extensions would be logical > given how the inside of literal array is interpreted, is that it? > No, i'm not suggesting that. :) But as you noted, i agree that if array literals treating ';' inside as a #; literal, then it would be more consistent to allow #; syntax as well. Anyways, it is easy to change the method to be correct even for more strict syntax rules. -- Best regards, Igor Stasenko. |
2011/10/2 Igor Stasenko <[hidden email]>: > > On 2 October 2011 19:35, Nicolas Cellier > <[hidden email]> wrote: >> >> 2011/10/1 Igor Stasenko <[hidden email]>: >>> >>> On 1 October 2011 02:24, Henrik Sperre Johansen >>> <[hidden email]> wrote: >>>> >>>> On 30.09.2011 18:20, Igor Stasenko wrote: >>>>> >>>>> On 30 September 2011 18:11, David T. Lewis<[hidden email]> wrote: >>>>>> >>>>>> On Fri, Sep 30, 2011 at 04:36:43PM +0200, Igor Stasenko wrote: >>>>>>> >>>>>>> On 30 September 2011 11:42, Lawson English<[hidden email]> wrote: >>>>>>>> >>>>>>>> Hi. On an Intel Mac running Mac OS X 10.6.8, I followed the >>>>>>>> instructions to >>>>>>>> install a NativeBoost VM found here: >>>>>>>> http://code.google.com/p/nativeboost/wiki/Installation. I downloaded >>>>>>>> the >>>>>>>> latest Mac NBCog VM, ??and ran into an error after evaluating >>>>>>>> NBInstaller >>>>>>>> install. >>>>>>>> >>>>>>>> I'm using the 4.3alpha-11636.image file. The 4.2 image gives a >>>>>>>> different set >>>>>>>> of errors but also wont install: >>>>>>>> >>>>>>>> The progress bar window says: Compiling >>>>>>>> NativeBoost-Core-IgorStasenko.36 >>>>>>>> >>>>>>>> >>>>>>>> The window title is "Syntax error" with a split text field. The top >>>>>>>> field >>>>>>>> contains: >>>>>>>> nbExternalStructure Fields parsing spec parseFields:byte >>>>>>>> >>>>>>>> >>>>>>>> The bottom field has a red error message embedded in this line: >>>>>>>> >>>>>>>> ?? ?? ?? ??stream peek == #Invalid literal character ->; ifTrue: [ >>>>>>>> stream next >>>>>>>> ]. >>>>>>>> ?? ??]. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Help? >>>>>>>> >>>>>>> I didn't tested an installation in squeak 4.2 images. >>>>>>> It looks like there is a change in parser which don't likes the >>>>>>> following syntax: >>>>>>> >>>>>>> #( a; b ; c) >>>>>>> >>>>>>> >>>>>>> imo, this is correct syntax. a ';' should be converted to #; symbol. >>>>>>> >>>>>> Squeak 3.6: >>>>>> #( a; b ; c) ==> #(#a #; #b #; #c) >>>>>> >>>>>> Squeak 3.8: >>>>>> #( a; b ; c) ==> #(#a #; #b #; #c) >>>>>> >>>>>> Squeak trunk: >>>>>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>>>>> >>>>>> PharoCore-1.3-13173: >>>>>> #( a; b ; c) ==> #(#a #';' #b #';' #c) >>>>>> >>>>>> Dave >>>>>> >>>>> ok, then problem is in something else. >>>>> Lawson, could you please paste the full method source with problematic >>>>> code? >>>>> >>>> >>>> #; inspect -> Syntax error though... >>>> >>>> ps. >>>> stream peek == #; >>>> >>>> sure it's not a typo and should be >>>> stream peek == $; ? >>>> >>> yes its not a typo. Since it is a stream from given array: >>> >>> #( a ; b ; c ; ) readStream >>> >>> stream peek at some moment could answer #; symbol. >>> >>> perhaps i should write it like #';' ? >>> but why it considered invalid? >>> >> >> Ah, all these behaviours were removed from Squeak >> #; -> #';' >> #1 -> 1 >> #$1 -> $1 >> The rationale was: >> 1) These were not defined in st80, nor in any formal Smalltalk syntax. >> # was only for literal symbols or literal arrays. >> 2) #';' 1 and $1 already are literals, so we don't need any other >> syntax or additional decoration. >> 3) This is not portable, no other dialect would accept it. >> 4) And there were plenty of oddities with doubled # or spaces inserted >> in between... >> >> Now, Igor you seem to suggest that these extensions would be logical >> given how the inside of literal array is interpreted, is that it? >> > > No, i'm not suggesting that. :) > > But as you noted, i agree that if array literals treating ';' inside > as a #; literal, then it would be more consistent to allow #; syntax > as well. > I see. Some kind of least surprise principle... But adding this syntax would immediately displace the problem one character further... ...and I'm not very sure how universal would the interpretation of multi non character symbols be: #(+/|!?&%,;;<>_.:=--^:*) -> #(#+/ #| #!?&%, #';' #';' #<> #'_' #'.' #':=' #-- #'^' #':' #*) The delimitation seems arbitrary and hard to explain... how | is distinguished from other binary selectors... how := is handled specially ... To me, it's better to leave those behaviour as unspecified and reserve the right to perform additional cleanup later > Anyways, it is easy to change the method to be correct even for more > strict syntax rules. > Sure > > -- > Best regards, > Igor Stasenko. > |
In reply to this post by Igor Stasenko
I have a new sad thing to report: NativeBoost simply crashes squeak when I use a 4.1 image. I suspect this means that it loaded completely and then did something that Snow Leopard -Mac OS X 10.6.8- doesn't like, because it is fully 64-bit. I havent' tested it on Lion (10.7) but I suspect the same thing will happen. Lawson |
Free forum by Nabble | Edit this page |