[squeak-dev] PG3ShoutParser(SHParserST80)>>scanIdentifier

gettimothy gettimothy at zoho.com
Wed Feb 28 00:33:25 UTC 2018


Good morning.

Asking advice on approach to fixing this the right way. End result is at minimum a functioning class and a test to catch this stuff going forward.




On Squeak 5.1 16551


First, to recreate the issue..





PG3SchemaMirror subclass: #MyDBSchemaMirror  




(and get it talking to the db via instructions here: http://forum.world.st/Status-of-PostgresV3-td4780110.html)
Then, via those same instructions, get a Postgres Function downloaded to Squeak or attempt to enter one by hand.




Second, the symptoms 


The SHParserST80) attempts to parse the code and a "Proceed for Truth" errors start popping up.




Debugging it, the culprit is in
PG3ShoutParser(SHParserST80)>>scanIdentifier






(c := self nextChar) isAlphaNumeric
 or: [ allowUnderscoreSelectors and: [ c == $_ ] ] ] whileTrue.
 
 
  


Where allowUnderscoreSelectors is undefined.


As a quick fix attempt, changing to 
Scanner allowUnderscoreAsAssignment 
 makes that error go away. However, new ones start popping up, so I decided to dig into things a bit more.




Scanner is the wrong approach, because it and SHParserST80 are not related via inheritence (although they do share a common instance variable named "allowUnderscoreSelectors"


I wondering if SHParserST80 is superceded by Scanner and if so, I am wondering the best way to approach this bug.


Should I fix it within the SHParserST80 paradigm or is migration to Scanner in order?


Thx for your time.



















-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180227/96bd2666/attachment.html>


More information about the Squeak-dev mailing list