# lhartikk/arnoldc

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lhartikk-arnoldc).**

6,877 stars · 294 forks · Scala · Apache-2.0

## Links

- GitHub: https://github.com/lhartikk/ArnoldC
- Homepage: lhartikk.github.io/ArnoldC/
- awesome-repositories: https://awesome-repositories.com/repository/lhartikk-arnoldc.md

## Description

ArnoldC is an esoteric programming language whose syntax is built entirely from Arnold Schwarzenegger movie quotes and catchphrases. It is an intentionally humorous language that maps one-liners from the actor's filmography to programming constructs, creating a playful and unconventional coding experience.

The language operates on a 16-bit signed integer type system with stack-based arithmetic, supporting addition, subtraction, multiplication, and division. It provides procedural control flow through conditional branching and looping, using movie-quote keywords such as "STICK AROUND" for loops and "BECAUSE I'M GOING TO SAY PLEASE" for conditionals. Subroutines can be defined with "LISTEN TO ME VERY CAREFULLY" and called using "DO IT NOW", while output is handled by "TALK TO THE HAND" for printing text or values.

Variables are declared as 16-bit signed integers and assigned values from stack-based expressions. The language is compiled using a Java-based frontend that parses plain-text source files into an abstract syntax tree, generating code in a single pass without intermediate optimization.

## Tags

### Development Tools & Productivity

- [Movie-Quote Keyword Mappings](https://awesome-repositories.com/f/development-tools-productivity/local-function-execution/runtime-function-mapping/keyword-to-runtime-mappings/movie-quote-keyword-mappings.md) — Defines the core syntax of the language by mapping movie quotes to programming constructs.

### Programming Languages & Runtimes

- [Esoteric Program Authoring](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/esoteric-program-authoring.md) — Defines the core purpose of the repository: authoring programs in the ArnoldC esoteric language. ([source](https://cdn.jsdelivr.net/gh/lhartikk/arnoldc@master/README.md))
- [Conditional Branching](https://awesome-repositories.com/f/programming-languages-runtimes/conditional-branching.md) — Executes code blocks conditionally based on non-zero values with an optional else branch. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))
- [Conditional Loop Execution](https://awesome-repositories.com/f/programming-languages-runtimes/conditional-loop-execution.md) — Repeats code blocks as long as a condition value remains non-zero for iterative execution. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))
- [Procedural Control Flow Models](https://awesome-repositories.com/f/programming-languages-runtimes/instruction-flow-control/procedural-control-flow-models.md) — Provides the procedural control flow model with subroutines, conditionals, and loops for program execution.
- [Hand-Written Lexer-Parser Frontends](https://awesome-repositories.com/f/programming-languages-runtimes/java-utility-libraries/java-parsers/hand-written-lexer-parser-frontends.md) — Implements the compiler frontend that translates ArnoldC source code into an AST for code generation.
- [Movie-Quote Control Flow Constructs](https://awesome-repositories.com/f/programming-languages-runtimes/loop-control-flow/movie-quote-control-flow-constructs.md) — Controls program flow using movie-quote keywords for loops and conditionals in the esoteric language. ([source](https://cdn.jsdelivr.net/gh/lhartikk/arnoldc@master/README.md))
- [Esoteric Programming Languages](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/esoteric-programming-languages.md) — An intentionally humorous programming language built entirely from Arnold Schwarzenegger movie quotes.
- [Variable Assignments](https://awesome-repositories.com/f/programming-languages-runtimes/variable-assignments.md) — Sets variables to the result of stack-based arithmetic or logical expressions for data storage. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))

### Part of an Awesome List

- [Movie-Quote Arithmetic Operations](https://awesome-repositories.com/f/awesome-lists/data/data-generators/movie/movie-quote-arithmetic-operations.md) — Performs arithmetic calculations using action-phrase keywords mapped from Arnold Schwarzenegger movie quotes. ([source](https://cdn.jsdelivr.net/gh/lhartikk/arnoldc@master/README.md))
- [Movie-Quote I/O](https://awesome-repositories.com/f/awesome-lists/media/movie-information/movie-quote-i-o.md) — Provides text output and integer input using Arnold Schwarzenegger movie-quote commands. ([source](https://cdn.jsdelivr.net/gh/lhartikk/arnoldc@master/README.md))
- [Movie-Quote Subroutine Calls](https://awesome-repositories.com/f/awesome-lists/more/dialogues/subroutine-jump-mechanisms/movie-quote-subroutine-calls.md) — Implements subroutine definition and calling using Arnold Schwarzenegger movie-quote keywords. ([source](https://cdn.jsdelivr.net/gh/lhartikk/arnoldc@master/README.md))
- [Subroutine Call Mechanisms](https://awesome-repositories.com/f/awesome-lists/more/dialogues/subroutine-jump-mechanisms/subroutine-call-mechanisms.md) — Provides the mechanism to invoke named subroutines with argument passing and return value capture. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))
- [Subroutine Definition Mechanisms](https://awesome-repositories.com/f/awesome-lists/more/dialogues/subroutine-jump-mechanisms/subroutine-definition-mechanisms.md) — Declares reusable subroutines with parameter lists and optional return values for code organization. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))
- [Subroutine Exit Mechanisms](https://awesome-repositories.com/f/awesome-lists/more/dialogues/subroutine-jump-mechanisms/subroutine-exit-mechanisms.md) — Exits subroutines with an optional return value passed back to the calling context. ([source](http://github.com/lhartikk/ArnoldC/wiki/ArnoldC))

### Scientific & Mathematical Computing

- [Arithmetic Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/arithmetic-number-types/arithmetic-operations.md) — Performs addition, subtraction, multiplication, and division on integer values using stack operations. ([source](http://github.com/lhartikk/ArnoldC/wiki/ArnoldC))

### Software Engineering & Architecture

- [Single-Pass Generators](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation/single-pass-generators.md) — Translates parsed constructs directly to bytecode in a single pass without intermediate optimization.
- [16-Bit Integer Types](https://awesome-repositories.com/f/software-engineering-architecture/integer-arithmetic/128-bit-integers/16-bit-integer-types.md) — Provides the sole numeric type system for all program values and arithmetic operations.
- [Stack-Based Arithmetic Engines](https://awesome-repositories.com/f/software-engineering-architecture/integer-arithmetic/stack-based-arithmetic-engines.md) — Evaluates all integer expressions using a stack-based operand model for arithmetic calculations.
- [Typed Variable Declarations](https://awesome-repositories.com/f/software-engineering-architecture/variable-declaration-formatting/short-variable-declarations/typed-variable-declarations.md) — Creates 16-bit signed integer variables with initial values for program data storage. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))

### Testing & Quality Assurance

- [Conditional Logic Evaluation](https://awesome-repositories.com/f/testing-quality-assurance/boolean-assertions/conditional-logic-evaluation.md) — Compares values for equality or magnitude and combines conditions with AND/OR logic for program flow. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))

### Operating Systems & Systems Programming

- [Standard Output Printing](https://awesome-repositories.com/f/operating-systems-systems-programming/standard-i-o-bridges/standard-output-printing.md) — Prints strings and variable values to the standard output stream for user-facing display. ([source](https://github.com/lhartikk/ArnoldC/wiki/ArnoldC))
