Skip to content
Snippets Groups Projects
Commit e69fc625 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

some more text

parent 6c1c6891
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -526,16 +526,6 @@ This chapter will mostly focus on describing current status of the command line ...@@ -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. 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} \begin{lstlisting}
category_option
: COLON_SIGN ( INTEGER | IDENTIFIER )
|
;
type_option
: COLON_SIGN ( INTEGER | IDENTIFIER )
|
;
arg arg
: HASH_SIGN ( INTEGER | IDENTIFIER ) : HASH_SIGN ( INTEGER | IDENTIFIER )
| IDENTIFIER | IDENTIFIER
...@@ -551,7 +541,7 @@ template_arg ...@@ -551,7 +541,7 @@ template_arg
; ;
   
in_redirect_file 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 in_redirect
...@@ -565,7 +555,7 @@ common ...@@ -565,7 +555,7 @@ common
| STRING | STRING
| INTEGER | INTEGER
| HASH_SIGN ( INTEGER | IDENTIFIER ) | 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 param
...@@ -577,7 +567,7 @@ param ...@@ -577,7 +567,7 @@ param
   
statement statement
: common ( ); : 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 | LEFT_PAREN arg RIGHT_PAREN CARET_SIGN? move_arg statement
; ;
   
...@@ -621,6 +611,20 @@ parse ...@@ -621,6 +611,20 @@ parse
; ;
\end{lstlisting} \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} \section{Builtin commands}
   
   
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment