From 159f5098db2b4f29ff74748531aa2d3b387d9896 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Sat, 29 Nov 2003 02:55:42 +0000 Subject: [PATCH] caps grammar Original commit message from CVS: caps grammar --- docs/random/caps_grammar | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 docs/random/caps_grammar diff --git a/docs/random/caps_grammar b/docs/random/caps_grammar new file mode 100644 index 0000000000..47eae0e3fb --- /dev/null +++ b/docs/random/caps_grammar @@ -0,0 +1,45 @@ + + + +CAPS = STRUCTURE [ ';' STRUCTURE ]* + +STRUCTURE = STRUCTURE_NAME [ ',' FIELD ]* + +STRUCTURE_NAME = STRING + +FIELD = FIELD_NAME '=' TYPED_VALUE + +FIELD_NAME = SIMPLE_STRING + +TYPED_VALUE = CANONICAL_VALUE | AUTO_VALUE + +CANONICAL_VALUE = '{' TYPED_VALUE [ ',' TYPED_VALUE ]* '}' + | '[' TYPED_VALUE ',' TYPED_VALUE ']' + | '(' TYPE ')' VALUE + +AUTO_VALUE = [-+]?[0-9][0-9]* + | [-+]?[0-9][0-9]*[.][0-9]*[eE][-+][0-9]* + | STRING + +VALUE = STRING + +STRING = ["][^"]["] + | ['][^']['] + | SIMPLE_STRING + +SIMPLE_STRING = [A-Za-z][A-Za-z0-9]* + +TYPE = "int" | "i" | "float" | "f" | "double" | "d" | "fourcc" | "4" + | "boolean" | "bool" | "b" + | GTYPE + + +Canonical Examples: + +"audio/raw" +"audio/raw", rate=(int)44100 +"audio/raw", rate=(int)44100, signed=(boolean)true +"audio/raw", rate={ (int)44100, (int)48000 } +"audio/raw", rate=[ (int)8000, (int)48000 ] + +