diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2024-02-23 17:27:16 -0700 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2024-02-23 17:27:16 -0700 |
commit | e8e9ee18f29b2557fdc514c4322f5446484c4d58 (patch) | |
tree | 1d44fde6ca06f4c377d5cbf3d5ec9b31746ef012 /test | |
parent | d0d6aae1e56428f597f69f5c9cfb261afe671f5d (diff) | |
download | cps-interpreter-e8e9ee18f29b2557fdc514c4322f5446484c4d58.tar.gz cps-interpreter-e8e9ee18f29b2557fdc514c4322f5446484c4d58.zip |
simple parser
Diffstat (limited to 'test')
-rw-r--r-- | test/logger.ts | 8 | ||||
-rw-r--r-- | test/parser.spec.ts | 7 | ||||
-rw-r--r-- | test/programs/add-1-3.cps | 2 | ||||
-rw-r--r-- | test/programs/index.ts | 7 |
4 files changed, 24 insertions, 0 deletions
diff --git a/test/logger.ts b/test/logger.ts new file mode 100644 index 0000000..2eb523b --- /dev/null +++ b/test/logger.ts @@ -0,0 +1,8 @@ +import { ConsoleTracingLogger } from '@/utils'; + +export const testingLogger = new ConsoleTracingLogger('test', [ + 'info', + 'warn', + 'error', + 'debug', +]); diff --git a/test/parser.spec.ts b/test/parser.spec.ts new file mode 100644 index 0000000..e174383 --- /dev/null +++ b/test/parser.spec.ts @@ -0,0 +1,7 @@ +import { expect, test } from 'bun:test'; +import { TestPrograms } from './programs'; +import { peggyParse } from '@/parser'; + +test('Primitive Operations', async () => { + const ast = peggyParse(await TestPrograms.AddOneThree); +}); diff --git a/test/programs/add-1-3.cps b/test/programs/add-1-3.cps new file mode 100644 index 0000000..95b9939 --- /dev/null +++ b/test/programs/add-1-3.cps @@ -0,0 +1,2 @@ +PRIMOP(+, [INT 1, INT 2], [u], + [APP(LABEL identity, [VAR u])])
\ No newline at end of file diff --git a/test/programs/index.ts b/test/programs/index.ts new file mode 100644 index 0000000..e0403fd --- /dev/null +++ b/test/programs/index.ts @@ -0,0 +1,7 @@ +import { join } from 'path'; + +export namespace TestPrograms { + export const AddOneThree = Bun.file( + join(import.meta.dir + '/add-1-3.cps'), + ).text(); +} |