Ryan Joseph wrote 12 lines
> On Oct 15, 2019, at 5:02 PM, Mattias Gaertner via fpc-pascal 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.