A macOS IDE for a programming language that reads like English. You write sentences like
task main does
show quotes Hello, World ends quote
done
LangIDE translates that into intermediate C, parses it, generates real C
(or Python or JavaScript), compiles it with cc, runs the binary, and
shows you the output.
There's also a browser build that runs the common subset live at j4den.com/langide.
- Grab the latest
LangIDE.app.zipfrom Releases. - Unzip it.
- Right-click
LangIDE.app→ Open the first time (Gatekeeper will complain because the build isn't signed; right-clicking lets you bypass it once). - After that, double-click as normal.
Requires macOS 13+ and Xcode Command Line Tools (xcode-select --install).
git clone https://github.com/JadenB9/LangIDE.git
cd LangIDE
./build-app.sh # produces LangIDE.app
open LangIDE.appOr just run it without bundling:
swift run- Pick an example from the dropdown (or write your own).
- Click Run.
- Output shows up in the right pane. Toggle Debug to see the intermediate C the translator emits before it compiles.
The bottom panel is the language definitions reference. You can add your own English-to-C mappings; they're applied as a preprocessing pass before the translator runs. Toggle Defaults off if you want a from-scratch mode.
number x is 10 // int x = 10
decimal pi is 3.14 // float pi = 3.14
truth ready is yes // bool ready = true
talking name quotes Alice ends quote // string name = "Alice"
if x greater than 5 then
show quotes big ends quote
otherwise
show quotes small ends quote
done
repeat for i from 0 to 10 do
show i
done
task add taking number a and number b gives number does
give back a plus b
done
task main does
number sum is call add with 5 and 10
show sum
done
Full reference in NATURAL_LANGUAGE_SPEC.md.
Operators include all the usual math (plus, minus, times,
divided by, modulo), comparisons (greater than, at least,
is equal to), logic (and also, or else), bitwise (bitwise and,
shift left, …), and a small math library (square root of,
X to the power of Y, absolute value of, maximum of A and B).
Friendly aliases too: tell me, say, display, remember X as 42,
repeat until, count from, wait for N seconds.
natural English source
↓ NaturalLanguageTranslator (English phrases → C-ish syntax)
intermediate form
↓ Lexer (text → tokens)
tokens
↓ Parser (recursive descent → AST)
AST
↓ CodeGenerator (tracks types; emits C/Python/JS)
generated source
↓ Executor (cc -lm / python3 / node)
program output
Architectural details and the EBNF grammar live in
ARCHITECTURE.md.
LangIDE/
├── LangIDEApp.swift SwiftUI app entry
├── Views/ Editor, output, definitions UI
├── Compiler/
│ ├── NaturalLanguageTranslator English-to-C preprocessor
│ ├── Lexer Tokenizer
│ ├── Parser Recursive descent
│ ├── CodeGenerator C / Python / JavaScript backends
│ ├── Executor Shells out to cc / python3 / node
│ └── LanguageCompiler Pipeline orchestrator
└── Models/ Tokens, AST nodes, language mappings
- macOS 13.0 or newer
- Xcode 15.0 or newer (or just the Command Line Tools for
cc/ Swift PM) - For Python target:
python3on$PATH - For JavaScript target:
nodeon$PATH
MIT — see LICENSE.