On Tue, 15 Oct 2019, Ryan Joseph wrote:



On Oct 15, 2019, at 5:02 PM, Mattias Gaertner via fpc-pascal 
<fpc-pascal@lists.freepascal.org> wrote:

When parsing a program the module is a TPasProgram, which has a
ProgramSection.

Of course, thanks.

A couple other questions if you don’t mind:

1) Are there any examples of the resolver? I’m looking through the unit and it 
looks pretty dense.

Only pas2js. But there are a lot of test cases, though. Probably they are more suitable
to understand the structure.


2) Can the parser take strings as input or just files?  I ask because I
have a string without a file and currently I’m saving it into a temporary
file and giving that to the parser.

The parser can take streams as input. You can create a TStringStream.

But then you must create the parser manually, and not use ParseSource.

The testsuite contains many examples of how to do that. see the tcpars*
units.


3) Can the parser handle code fragments? If not is that something I can 
possible extend it to accommodate?

That's going to be difficult. The parser expects there to be a module.
It's probably easier to encapsulate the code fragment in a minimal module.

Again, see the testsuite for how to do this.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to