Hello,
I finnally got a sparc machine (sparc station 10, dual supersparc 50 Mhz
128Mb ram. It's slooow but it works).
I was browsing in the world an I found the oldParser parser object.
I tried to let him parse something but I don't know if I'm using it
correctly, since it
parses only one level and doesn't descend. For example, the object
'(add: 1+3 Bla: 4)'
parses (using primary: ) to a "parseNodes methodObject" with empty
statement list.
Also parsing an expression (using expression:) '0 add: 1+3 Bla: 4'
returns a parseNode keywordSend with correct receiver and selector slots
filled-in but empty argument list.
I don't understand if the code is broken or the parsing must be
completed somehow.
I know oldParser is discontinued but I would expect it to parse out some
simple expression at least.
I want to write a almost complete and standard Self parser in self using
a subset of the framework
(for simplified bootstrapping). Initially I want to use it in the
OpenSelf project, which lacks support for loading a complete Self 4
system (no threading, mirrors, ... yet) but can handle strings and
lists. I thought generating a parse tree and then have a separate code
generator (generate structure and bytecodes from the tree) wich can be
initially implemented without mirrors, and then plug in a complete
mirror based object/code generator.
What is the best approach for writing an OOP parser in self. Is good to
separate the scanner from the parser or do like oldParser, all in once ?
Anyone made some progress in writing a parser in the last year ?
Any parsing guru aroud ?
It's a shame that Self 4.1 still uses the parser inside the VM.
Be Selfish and don't give away your code if you have it :-)
Marko
PS: I didn't have many time the last year, but I don't give up ! I want
Self rule the world :-)
Multiplatform, fast, distributed and mutiprocessor-aware ...