Snocone Programming Language g \*(S4 g What's nice about \*(S4 s What's not nice about \*(S4 s Motivation s Language Description s Lexical Conventions s Statement Separation s File Inclusion s Expression Evaluation, Success, and Failure s Data Types, Declarations, and Scope s Binary Operators s Unary Operators s Statements s Procedures s Input-Output s Pattern Matching System Variable s Topological Sorting angle brackets s built-in function s go to S curly braces s data structure s double quotes s initial value s local variables s null string s pre-defined variable s program execution s predicate function s statement failure s dynamic typing associative array pattern s label s comment s CW# S CW$ S CW& S CW&& S CW&ABORT S CW&ALPHABET S CW&ANCHOR S CW&ARB S CW&BAL S CW&CODE S CW&DUMP S CW&FAIL S CW&FENCE S CW&FNCLEVEL S CW&INPUT S CW&MAXLNGTH S CW&OUTPUT S CW&REM S CW&STCOUNT S CW&STLIMIT S CW&SUCCEED S /usr/lib/snocone S CW? S CW@ S CW@N S ABORT S CWANY S CWARB S CWARBNO S CWBAL S BREAK S BREAKX S CONTINUE S DATATYPE S CWDEFINE S CWEND S EVAL S CWEXPRESSION S CWFAIL S FENCE S INPUT S CWLEN S NOTANY S CWOUTPUT S CWPOS S CWREM S CWRPOS S CWRTAB S SPAN S CWSUCCEED S TAB S ARRAY S TABLE S TERMINAL S CWcar S cdr S CWcons S CWdo S CWif S CWinclude S CWwhile S CW| S CW|| S CW~ S freturn S CWSET S ENDFILE S DETACH S nreturn S return S Comparison predicates s concatenation s deferred evaluation s pattern match operator s CWfor S reserved labels s ~continued ~I continue ~I break Pattern value assignments s constant s identifier s blanks s