Skip to content

Commit 871840d

Browse files
Add initial Coq codegen code
1 parent 864b09c commit 871840d

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

compiler/coqCodegen.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { CoqCPAST, ValueType } from './parse'
2+
3+
const indent = ' '
4+
5+
const sanitizeName = (name: string): string =>
6+
[...name].filter((x) => /[0-9a-zA-Z'_]/.test(x)).join('')
7+
8+
export const coqCodegen = ({ environment, procedures }: CoqCPAST): string => {
9+
const procedureNameMap = new Map<string, number>()
10+
const sanitizedProcedureNameCollisions = new Map<string, number>()
11+
12+
const preamble = "From CoqCP Require Import Options Imperative.\n"
13+
14+
const environmentCode = (() => {
15+
if (environment === null) {
16+
return `Definition environment : Environment := {| arrayType := fun _ => False; arrays := fun _ => [] |}.`
17+
}
18+
for (const [name, array] of environment.arrays) {
19+
20+
}
21+
})()
22+
}

0 commit comments

Comments
 (0)