diff --git a/docs/userGuide/userGuide.tex b/docs/userGuide/userGuide.tex index ba9d4d2b85459288f51dc2f11eb9df337b374dfa..caef98acbe1e1d5aebfee9d2f9cbfa3dbb270c6e 100644 --- a/docs/userGuide/userGuide.tex +++ b/docs/userGuide/userGuide.tex @@ -526,16 +526,6 @@ This chapter will mostly focus on describing current status of the command line The language is described by syntax similar to EBNF. The grammar's initial symbol is parse. The terminal symbols are in uppercase, nonterminals in lowercase. Terminal symbols starting with KW\_ prefix represent nonreserved keywords of value what is after the underscore. Integer is a sequence of digits, identifier is letter followed by letters and digits and string is double quoted character sequence. End is a special terminal symbol representing the end of the input. \begin{lstlisting} -category_option - : COLON_SIGN ( INTEGER | IDENTIFIER ) - | -; - -type_option - : COLON_SIGN ( INTEGER | IDENTIFIER ) - | -; - arg : HASH_SIGN ( INTEGER | IDENTIFIER ) | IDENTIFIER @@ -551,7 +541,7 @@ template_arg ; in_redirect_file - : ( LEFT_BRACKET arg RIGHT_BRACKET )? type_option template_arg* arg + : ( LEFT_BRACKET arg RIGHT_BRACKET )? ( COLON_SIGN ( INTEGER | IDENTIFIER ) )? template_arg* arg ; in_redirect @@ -565,7 +555,7 @@ common | STRING | INTEGER | HASH_SIGN ( INTEGER | IDENTIFIER ) - | LEFT_BRACE type_option ( CARET_SIGN? param ) * RIGHT_BRACE + | LEFT_BRACE ( COLON_SIGN ( INTEGER | IDENTIFIER ) )? ( CARET_SIGN? param ) * RIGHT_BRACE ; param @@ -577,7 +567,7 @@ param statement : common ( ); - | IDENTIFIER template_arg category_option ( CARET_SIGN? param )* + | IDENTIFIER template_arg ( COLON_SIGN ( INTEGER | IDENTIFIER ) )? ( CARET_SIGN? param )* | LEFT_PAREN arg RIGHT_PAREN CARET_SIGN? move_arg statement ; @@ -621,6 +611,20 @@ parse ; \end{lstlisting} +In\_redirect\_file is parametrized by some clauses, the argument inside the brackets is a specification of the file type, the argument after the colon is the specification of the conteint of the file, and arguments after at sign give template paramters is needed. + +The file type specification are xml, string, raw, and file. The xml file type contains xml representation of some datatype. The string file type represent string representation of an automaton, grammar, regexp, or some other type (available to be listed via introspection. The raw file type is representation of unranked tree i.e. xml or linear string i.e. sequence of chars. The file file type reads the content of the file as standard string. + +The string and raw types require the content specification to be set with type argument introduced by colon. The template parameter is extra information not used now. + +The use of in\_redirect symbol is overloaded and allows creation of subquery. + +Out\_redirect\_file knows the type of the value printed, hence only the file type specification is required. The syntax is again an identifier in brackets. Based on the specified file type the agrument to out\_redirect\_file can be limited. + +Use of out\_redirect symbol is overloaded and allows to set a variable. + + + \section{Builtin commands}