Skip to content

v3.3.1

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Sep 22:53
· 74 commits to main since this release
fa28f15
fix: token propagation when using a custom scanner (#51)

Hi.

I just noticed that the Token.template file in the Std directory uses
an old representation of how token names get propagated into a
Token.java file when using plcc.py with the '!pattern=' flag in the
input file.

The '!pattern=' flag is typically used when writing a compiler and not
a PLCC-generated interpreter. In this case, the user must supply a
stand-alone scanner (Scan.java) instead of using the Scan.java found in
the Std library directory. Such a Scan.java file must still implement
the IScan interface, so its 'cur' method must still return a Token
object.

Token.template (instead of Token.pattern) in the Std library is used to
generate Token.java when PLCC is flagged to use a hand-crafted scanner
other than the Scan.java in the Std directory. Note that this only
applies in the case where PLCC is used to create a compiler instead of
an interpreter.

I have uploaded Token.template into the plcc.pithon.net directory. This
will *not* have any effect on any of the examples in the Code
directory, since none of these examples use the '!pattern=' flag.

Tim

Co-authored-by: Timothy Fossum <[email protected]>