The Laning and Zierler system (sometimes called "George" by its users) was one of the first operating algebraic compilers, that is, a system capable of accepting mathematical formulae in algebraic notation and producing equivalent machine code (the term compiler had not yet been invented and the system was referred to as "an interpretive program"). It was implemented in 1954 for the MIT WHIRLWIND by J. Halcombe Laning and Neal Zierler. It is preceded by the UNIVAC A-2, IBM Speedcoding and a number of systems that were proposed but never implemented.
The system accepted formulae in a more or less algebraic notation. It respected the standard rules for operator precedence, allowed nested parentheses, and used superscripts to indicate exponents. It was among the first programming systems to allow symbolic variable names and allocate storage automatically.
The system also automated the following tasks: floating point computation, linkage to subroutines for the basic functions of analysis (sine, etc.) and printing, and arrays and indexing.
The system accepted input on punched tape produced by a Friden Flexowriter. The character set in use at the Whirlwind installation included "upper-case" (superscript) digits and a hyphen, which were used to indicate array indices, function codes, and (integer) exponents. Like other programming notations of its time, the system accepted only single-letter variable names and multiplication was indicated by juxtaposition of operands. A raised dot was available to indicate multiplication explicitly (the character was created by filing off the lower half of a colon!) The system also included support for solution of linear differential equations via the Runge-Kutta method.