From 634b2c1b69b9cc107546b12e710fc2daec53fcec Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Thu, 7 Mar 2024 23:48:04 -0700 Subject: [PATCH] minor bug fixes --- public/assets/portal.png | Bin 1320 -> 8493 bytes src/engine/config/sprites.ts | 4 ++-- src/engine/entities/LambdaFactory.ts | 13 ++++++++++--- src/engine/levels/Tutorial.ts | 3 +-- src/interpreter/PeggyParser.js | 4 ++-- src/interpreter/parser.ts | 8 ++------ 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/public/assets/portal.png b/public/assets/portal.png index 240a9a1258d815257cd8c18bbb3a1ab45c2c65df..9197be30a31628a173057250753e31389c2bf733 100644 GIT binary patch literal 8493 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 zTx(ComponentNames.GridSpawn); spawner.spawnEntity(direction); - const text = this.getComponent(ComponentNames.Text); - text.text = spawner.spawnsLeft.toString(); - this.addComponent(text); + const textComponent = this.getComponent(ComponentNames.Text); + textComponent.text = spawner.spawnsLeft.toString(); + this.addComponent(textComponent); SOUNDS.get(LambdaTransformSound.name)!.play(); } diff --git a/src/engine/levels/Tutorial.ts b/src/engine/levels/Tutorial.ts index 165b10f..694c8ff 100644 --- a/src/engine/levels/Tutorial.ts +++ b/src/engine/levels/Tutorial.ts @@ -22,8 +22,7 @@ export class Tutorial extends Level { new Wall({ x: 11, y: 10 }), new Curry({ x: 10, y: 10 }), new LockedDoor({ x: 9, y: 10 }), - new LambdaFactory({ x: 6, y: 3 }, "(λ (x) . x)", 3), - + new LambdaFactory({ x: 6, y: 3 }, "// TODO: Remove line\n(λ (x) . x)", 3), new FunctionApplication({ x: 6, y: 6 }, "(_INPUT key)"), ]; diff --git a/src/interpreter/PeggyParser.js b/src/interpreter/PeggyParser.js index 632f1b7..5671d91 100644 --- a/src/interpreter/PeggyParser.js +++ b/src/interpreter/PeggyParser.js @@ -201,7 +201,7 @@ export default (function () { ); }; - function peg$parse(input, options, allowUnderscores = false) { + function peg$parse(input, options) { options = options !== undefined ? options : {}; var peg$FAILED = {}; @@ -215,7 +215,7 @@ export default (function () { var peg$c2 = "."; var peg$c3 = "\r\n"; - var peg$r0 = allowUnderscores ? /^[a-zA-Z0-9]_/ : /^[a-zA-Z0-9]/; + var peg$r0 = /^[a-zA-Z0-9]/; var peg$r1 = /^[\\\u03BB]/; var peg$r2 = /^[\t-\n ]/; diff --git a/src/interpreter/parser.ts b/src/interpreter/parser.ts index d288815..5e3be0f 100644 --- a/src/interpreter/parser.ts +++ b/src/interpreter/parser.ts @@ -30,10 +30,6 @@ export const isVariable = (term: LambdaTerm): term is Variable => { return typeof term === "string"; }; -export const parse = ( - term: string, - allowUnderscores = false, - library = false, -) => { - return peggyParser.parse(term, { peg$library: library }, allowUnderscores); +export const parse = (term: string, library = false) => { + return peggyParser.parse(term, { peg$library: library }); };