GRAMMAR
RULES!
PAY (ATTENTION
TO) THE
SYNTAX
BINDING
NEATO!
IT ALL
STACKS UP
FROM C TO
SHINING C
100

TERM USED TO DENOTE AN INDIVIDUAL REPLACEMENT RULE FOR CFG'S, SUCH AS
X -> Y

What is a production?

100

THE SHORTEST STRINGS IN A PROGRAM WITH INDIVIDUAL MEANING

What is a token?

100

THE PART IN A PROGRAM WHERE A VARIABLE CAN BE ACCESSED

What is scope?

100

THESE LINKS ARE TYPICALLY LISTED ON THE RIGHT SIDE OF A STACK DIAGRAM

What are static links?

100

THIS SYMBOL IS USED IN FRONT OF A VARIABLE
TO GET ITS ADDRESS

What is &?

200

THE DEFAULT START SYMBOL, IF NOT EXPLICITLY STATED

What is the non-terminal on the left side of the first production?

200

TERM USED TO DESCRIBE THE AMBIGUITY OF AN ELSE STATEMENT MATCHING WITH ONE OF TWO PREVIOUS IF STATEMENTS

What is a dangling else?

200

COMPILED LANGUAGES TEND TO HAVE THIS TYPE OF BINDING

What is static scoping?

200

THIS TYPE OF SCOPING IS ONLY FOUND IN ONE LANGUAGE AND MAY HAVE BEEN AN IMPLEMENTATION MISTAKE

What is dynamic scoping?

200

A BLOCK IN C IS DELIMITED BY THESE SYMBOLS

What are open/close curly braces {}?

300

THE SYMBOL ON THE LEFT SIDE OF ANY PRODUCTION IS TERMED THIS

What is a non-terminal?

300

THE MEANING OF THE METASYMBOLS [ ] IN AN EBNF GRAMMAR

What is replacement with 0 or 1 copies of the contents of the brackets?

300

A DATA STRUCTURE KEPT BY THE TRANSLATOR TO KEEP TRACK OF EACH DECLARED NAME AND ITS BINDING

What is the symbol table?

300

A MEMORY LOCATION ON THE STACK THAT STORES INFORMATION ASSOCIATED WITH A CALLED FUNCTION

What is a stack frame or activation record?

300

#ifndef ... AND MATCHING #endif IN .h FILES COMPRISE THIS

What is a header guard?

400

A GRAMMAR IS TERMED THIS IF ONE OF ITS STRINGS HAS TWO OR MORE DIFFERENT PARSE TREES

What is ambiguous?

400

THE MEANING OF THE METASYMBOLS { } IN AN EBNF GRAMMAR

What is replacement with 0 or as many copies as you like of the contents of the curly braces?

400

THIS AREA OF MEMORY IS USED FOR DYNAMIC MEMORY ALLOCATION

What is the heap?

400

THE STORAGE AREA AT THE BASE OF THE STACK USED FOR GLOBAL VARIABLES, ETC.

What is static?

400

TO FULLY DEREFERENCE A DOUBLE POINTER, x,
THIS EXPRESSION WOULD BE USED

What is a **x?

500

EXTRA CODING SYMBOLS OR WORDS THAT ARE NOT NECESSARY, BUT MAKE PROGRAMMING FOR HUMANS EASIER

What is syntactic sugar?

500

THE PRODUCTIONS OF AN EXPRESSION GRAMMAR DETERMINE THESE TWO MATHEMATICAL PROPERTIES

What are precedence and associativity?

500

TWO OR MORE NAMES THAT REFER TO THE SAME OBJECT AT THE SAME POINT IN THE PROGRAM IS TERMED THIS

What is an alias?

500

THIS TYPE OF STACK IS USED FOR CO-ROUTINES AND IS SHAPED SIMILARLY TO A DESERT PLANT

What is a cactus stack?

500

THE FUNCTION PROTOTYPE FOR MALLOC

What is void *malloc (size_t)?