glue -- little language for expressing C formats... embedded in a string: ${glueExpression} in a file: glueExpression glueExpression: conditionalStatement | functionApplication | variableReference | constant conditionalStatement: if glueExpression then glueExpression elifOpt elseOpt fi elifOpt: else if glueExpression then glueExpression elifOpt | /* nothing */ elseOpt: elif glueExpression then glueExpression | /* empty */ loopStatement: while glueExpression do glueExpression endwhile | loop glueExpression until glueExpression endloop functionApplication: variableName( argumentList ) argumentList: glueExpression | glueExpression , argumentList filterList: -> filterName filterList | -> filterName logicalExpression: glueExpression is the same as glueExpression | glueExpression differs from glueExpression | # the following does not yet get operator precedence right. # I think I'll do Booleans then BODMAS. # No C-style bit crunching yet. Should there be?? subExpression: number | string | subExpression binaryOp subExpression | unaryOp subExpression