Language Matrix
| Language | Extensions | Auto-detect | Arithmetic | Logic | Control Flow | Strings | I/O | Crypto |
|---|---|---|---|---|---|---|---|---|
| JavaScript | .js | Yes | Yes | Yes | Yes | Yes | Yes | No |
| TypeScript | .ts, .tsx | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Python | .py | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Rust | .rs | Yes | Yes | Yes | Yes | Yes | Yes | No |
| C | .c, .h | Yes | Yes | Yes | Yes | Yes | Yes | No |
| Go | .go | Yes | Yes | Yes | Yes | Yes | Yes | No |
| COBOL | .cob, .cbl | Yes | Yes | Yes | Yes | Yes | Yes | No |
JavaScript / TypeScript
Recognizes standard JS/TS patterns:+,-,*,/,%→ MC_00–MC_07 (Arithmetic family)&&,||,!,^→ MC_08–MC_15 (Logic family)if/else,switch,for,while→ MC_24–MC_31 (Control family)console.log(),process.stdout.write()→ MC_32–MC_39 (I/O family)- String concatenation,
.length,.slice()→ MC_40–MC_47 (String family) - Variable declarations (
let,const,var) → MC_16–MC_23 (Memory family)
Python
Recognizes Python idioms:- Arithmetic operators and
//(integer division) → Arithmetic family and,or,not→ Logic familyif/elif/else,for,while,match→ Control familyprint(),input()→ I/O family- f-strings,
len(), slicing → String family - Variable assignments → Memory family
Rust
Recognizes Rust patterns:- Arithmetic with overflow awareness (wrapping, saturating) → Arithmetic family
&&,||,!and bitwise ops → Logic familyif/else,match,loop,for,while→ Control familyprintln!(),eprintln!(),std::io→ I/O familyString,&stroperations → String familylet,let mutbindings → Memory family
C
Recognizes C patterns:- All arithmetic and bitwise operators → Arithmetic + Logic families
if/else,switch,for,while,do-while→ Control familyprintf(),fprintf(),scanf()→ I/O familystrlen(),strcpy(),strcat()→ String family- Variable declarations and assignments → Memory family
Go
Recognizes Go patterns:- Arithmetic operators → Arithmetic family
- Logical and bitwise operators → Logic family
if/else,switch,for→ Control familyfmt.Println(),fmt.Printf()→ I/O family- String operations → String family
:=short declarations andvar→ Memory family
COBOL
Recognizes COBOL patterns:ADD,SUBTRACT,MULTIPLY,DIVIDE,COMPUTE→ Arithmetic familyIF/ELSE/END-IF,EVALUATE/WHEN→ Control familyDISPLAY,ACCEPT→ I/O familyMOVE,STRING,UNSTRING→ String + Memory familiesPERFORMloops → Control family
COBOL lifting is particularly valuable for legacy modernization. The Lifter can extract the computational core of COBOL programs into PCD, which can then be compiled to any modern target (Rust, JavaScript, Python).

