#include "CodeWorker_grammar.gen"
#overload #ignore ::=
[
| \t | \r | \n
|
"/*"
=> insertText($getOutputLocation() 2$, "<span class=\"comment\">");
ignoreEmbeddedComment
=> {@</span>@}
|
"//"
=> insertText($getOutputLocation() 2$, "<span class=\"comment\">");
[~[[\r]? \n | #empty]]*
#explicitCopy
[\r]? [\n]?
=> {@</span><br/>
@}
]*
;
function transformChar(cChar : value) {
if cChar == return " ";
if cChar == \t return " ";
if cChar == \n return "<br/>" + endl();
if cChar != \r return composeHTMLLikeString(cChar);
}
#implicitCopy(transformChar)
#overload translation_unit ::=
=> {@<!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1transitional.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="@this.docURL@CodeWorker.css" />
</head>
<body class="script">
@}
script<this>
=> {@<hr />
Generated by <I class="CodeWorker">CodeWorker</I> v@getVersion()@ from <a href="@this.docURL@CWscript2HTML.html">CWscript2HTML.gen</a>.
</body>
</html>
@}
;
#overload instruction ::=
{ #continue [instruction]* }
|
#readIdentifier:sKeyword
=> local iLocation = getOutputLocation();
[
instruction<sKeyword>
=> insertText(iLocation, "</A>");
=> insertText($iLocation sKeyword.length()$, "<A class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#" + sKeyword + "\">");
|
predefined_function_call<sKeyword> ;
=> insertText(iLocation, "</A>");
=> insertText($iLocation sKeyword.length()$, "<A class=\"function\" href=\"" + this.docURL + "manual_The_scripting_language.html#" + sKeyword + "\">");
|
predefined_procedure_call<sKeyword> ;
=> insertText(iLocation, "</A>");
=> insertText($iLocation sKeyword.length()$, "<A class=\"procedure\" href=\"" + this.docURL + "manual_The_scripting_language.html#" + sKeyword + "\">");
|
module_function_call ;
|
user_function_call ;
]
|
preprocessor
|
variable_expression . #continue method_call ;
|
#check(this != "procedural")
STARTING_TAG
#!ignore
#continue STARTING_ENDING_RAW_TEXT
#ignore
[!preprocessor expression ![!@ !"%>" !#empty]]?
;
#overload preprocessor ::=
=> local iLocation = getOutputLocation();
#
#readIdentifier:sKeyword
=> insertText(iLocation, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#_" + sKeyword + "\">");
=> {@</a>@}
preprocessor<sKeyword>
;
#overload literal_expression<bNumeric> ::=
=> local iLocation = getOutputLocation();
[
CONSTANT_STRING
|
( #continue expression<bNumeric> )
|
$
=> insertText(iLocation, "<a class=\"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#$\">");
=> {@</a>@}
#continue #check(!bNumeric) expression<true>
=> {@<a class="constant" href="@this.docURL@manual_The_scripting_language.html#$">@}
$
=> {@</a>@}
|
~
=> insertText(iLocation, "<a class=\"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#numeric_expression\">");
=> {@</a>@}
#continue #check(bNumeric) literal_expression<true>
|
CONSTANT_CHAR
|
!
=> insertText(iLocation, "<a class=\"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#boolean_expression\">");
=> {@</a>@}
#continue literal_expression<bNumeric>
|
#readNumeric
=> insertText(iLocation, "<span class=\"numeric\">");
=> {@</span>@}
|
#readIdentifier:{"true", "false"}
=> insertText(iLocation, "<a class=\"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#boolean_literals\">");
=> {@</a>@}
|
function_call
|
variable_expression [. #continue method_call]?
]
;
#overload function_call ::=
#readIdentifier:sFunctionName
=> local iLocation = getOutputLocation();
[
predefined_function_call<sFunctionName>
=> insertText(iLocation, "</A>");
=> insertText($iLocation sFunctionName.length()$, "<A class=\"function\" href=\"" + this.docURL + "manual_The_scripting_language.html#" + sFunctionName + "\">");
|
module_function_call
|
user_function_call
];
#overload method_call ::=
#readIdentifier:sMethodName
=> local iLocation = getOutputLocation();
[
predefined_method_call<sMethodName>:sFunctionName
=> insertText(iLocation, "</A>");
=> insertText($iLocation sMethodName.length()$, "<A class=\"function\" href=\"" + this.docURL + "manual_The_scripting_language.html#" + sFunctionName + "\">");
|
user_method_call
];
#overload variable_expression<sIdentifier> : #!ignore ::=
=> if sIdentifier == "project" || sIdentifier == "this" {
insertText($getOutputLocation() sIdentifier.length()$, "<a class = \"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#" + sIdentifier + "\">");
@</a>@
}
#super::variable_expression<sIdentifier>
;
#overload function_parameter_type ::=
=> {@<a class="constant" href="@this.docURL@manual_The_scripting_language.html#function_parameters">@}
#super::function_parameter_type
=> {@</a>@};
#overload DEFAULT ::=
#readIdentifier:"default"
=> insertText($getOutputLocation() 7$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#switch\">");
=> {@</a>@};
#overload CASE ::=
#readIdentifier:"case"
=> insertText($getOutputLocation() 4$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#switch\">");
=> {@</a>@};
#overload START ::=
#readIdentifier:"start"
=> insertText($getOutputLocation() 5$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#switch\">");
=> {@</a>@};
#overload CASCADING ::=
#readIdentifier:"cascading"
=> insertText($getOutputLocation() 9$, "<a class = \"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#foreach\">");
=> {@</a>@};
#overload ELSE ::=
#readIdentifier:"else"
=> insertText($getOutputLocation() 4$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#if\">");
=> {@</a>@};
#overload IN ::=
#readIdentifier:"in"
=> insertText($getOutputLocation() 2$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#foreach\">");
=> {@</a>@};
#overload INSET ::=
#readIdentifier:"in"
=> insertText($getOutputLocation() 2$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#boolean_expression\">");
=> {@</a>@};
#overload NO_CASE ::=
#readIdentifier:"no_case"
=> insertText($getOutputLocation() 7$, "<a class = \"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#foreach\">");
=> {@</a>@};
#overload REVERSE ::=
#readIdentifier:"reverse"
=> insertText($getOutputLocation() 7$, "<a class = \"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#foreach\">");
=> {@</a>@};
#overload SORTED ::=
#readIdentifier:"sorted"
=> insertText($getOutputLocation() 6$, "<a class = \"constant\" href=\"" + this.docURL + "manual_The_scripting_language.html#foreach\">");
=> {@</a>@};
#overload WHILE ::=
#readIdentifier:"while"
=> insertText($getOutputLocation() 5$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#while\">");
=> {@</a>@};
#overload CONSTANT_STRING ::=
=> local iLocation = getOutputLocation();
#readCString
=> insertText(iLocation, "<span class=\"string\">");
=> {@</span>@}
;
#overload CONSTANT_CHAR ::=
=> local iLocation = getOutputLocation();
\ #!ignore #continue [\\]? #readChar \
=> insertText(iLocation, "<span class=\"string\">");
=> {@</span>@}
;
#overload FUNCTION ::=
#readIdentifier:"function"
=> insertText($getOutputLocation() 8$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#function\">");
=> {@</a>@};
#overload DECLARE ::=
#readIdentifier:"declare"
=> insertText($getOutputLocation() 7$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#declare\">");
=> {@</a>@};
#overload EXTERNAL ::=
#readIdentifier:"external"
=> insertText($getOutputLocation() 8$, "<a class = \"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#external\">");
=> {@</a>@};
#overload PRULE_SYMBOL ::=
=> {@<a class="constant" href="@this.docURL@manual_The_scripting_language.html#parsing_BNF_syntax">@}
"::="
=> {@</a>@}
;
#overload NON_TERMINAL ::=
=> {@<i>@}
#readIdentifier
=> {@</i>@}
;
#overload ALTERNATION ::=
=> local iLocation = getOutputLocation();
|
=> insertText(iLocation, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#parsing_alternation\">");
=> {@</a>@}
;
#overload TR_BEGIN ::=
=> local iLocation = getOutputLocation();
<
=> insertText(iLocation, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_declaring_a_clause\">");
=> {@</a>@}
;
#overload TR_END ::=
=> local iLocation = getOutputLocation();
>
=> insertText(iLocation, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_declaring_a_clause\">");
=> {@</a>@}
;
#overload PIPESUP ::=
=> local iLocation = getOutputLocation();
"|>"
=> insertText(iLocation, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_restricting_the_sentence\">");
=> {@</a>@}
;
#overload STARTING_RAW_TEXT ::= => {@<span class="raw_text">@} #super::STARTING_RAW_TEXT => {@</span>@};
#overload STARTING_ENDING_RAW_TEXT ::= => {@<span class="raw_text">@} #super::STARTING_ENDING_RAW_TEXT => {@</span>@};
#overload STARTING_TAG ::= => {@<span class="raw_text">@} #super::STARTING_TAG => {@</span>@};
#overload STARTING_TAG_OR_END ::= => {@<span class="raw_text">@} #super::STARTING_TAG_OR_END => {@</span>@};
#overload BNF_general_directive ::=
=> local iLocation = getOutputLocation();
#
#readIdentifier:sKeyword
=> insertText(iLocation, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#_" + sKeyword + "\">");
=> {@</a>@}
BNF_general_directive<sKeyword>
;
#overload BNF_general_directive<"overload"> ::=
#
=> insertText($getOutputLocation() 1$, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#_ignore\">");
#continue #readIdentifier:"ignore"
=> {@</a>@}
BNF_general_directive<"ignore">
|
production_rule;
#overload BNF_catch ::=
#
=> insertText($getOutputLocation() 1$, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#_try\">");
#continue
"catch"
=> {@</a>@}
( variable_expression );
#overload clause_parameter_type ::=
=> {@<a class="constant" href="@this.docURL@manual_The_scripting_language.html#BNF_declaring_a_clause">@}
#super::function_parameter_type
=> {@</a>@};
#overload BNF_clause_return_value ::=
=> {@<a class="constant" href="@this.docURL@manual_The_scripting_language.html#BNF_declaring_a_clause">@}
#super::BNF_clause_return_value
=> {@</a>@}
;
#overload BNF_clause_preprocessing ::=
: #
=> insertText($getOutputLocation() 1$, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_preprocessing_of_a_clause\">");
#continue
[
!
#continue
#readIdentifier:"ignore"
|
#readIdentifier:"ignore"
[( #continue BNF_ignore_type )]?
]
=> {@</a>@};
#overload BNF_ignore_type ::=
=> {
@<a class="constant" href="@this.docURL@manual_The_scripting_language.html#BNF_directives__ignore">@
}
#super::BNF_ignore_type
=> {@</a>@};
#overload BNF_literal<bTokenCondition> ::=
CONSTANT_STRING
[#check(bTokenCondition) BNF_variable_assignation]?
|
CONSTANT_CHAR
[
".." #continue CONSTANT_CHAR
[#check(bTokenCondition) BNF_token_post_processing]?
|
[#check(bTokenCondition) BNF_variable_assignation]?
]
|
[
~
=> insertText($getOutputLocation() 1$, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_token_complementary\">");
=> {@</a>@}
|
^
=> insertText($getOutputLocation() 1$, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_token_complementary\">");
=> {@</a>@}
|
!
=> insertText($getOutputLocation() 1$, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_token_negation\">");
=> {@</a>@}
|
">"
=> insertText($getOutputLocation() 2$, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#_amp_gt_\">");
[multiplicity]?
=> {@</a>@}
[
( #continue
[BNF_variable_assignation]?
[ BNF_variable_assignation]?
[BNF_sequence]?
)
]?
]
#continue BNF_literal<false>
[#check(bTokenCondition) BNF_token_post_processing]?
|
[
=> insertText($getOutputLocation() 1$, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_token_repeating_a_token\">");
=> {@</a>@}
#continue BNF_sequence [ALTERNATION #continue BNF_sequence]*
=> {@<a class="instruction" href="@this.docURL@manual_The_scripting_language.html#BNF_token_repeating_a_token">@}
]
[multiplicity]?
=> {@</a>@}
[#check(bTokenCondition) BNF_token_post_processing]?
|
#
=> local iLocation = $getOutputLocation() 1$;
#continue
[
!
#continue
#readIdentifier:"ignore"
=> insertText(iLocation, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#_ignore\">");
=> {@</a>@}
|
#readIdentifier:sDirective
=> insertText(iLocation, "<a class=\"directive\" href=\"" + this.docURL + "manual_The_scripting_language.html#_" + sDirective + "\">");
=> {@</a>@}
BNF_directive<sDirective>:bTokenConditionAllowed
[
#check(bTokenCondition && bTokenConditionAllowed)
BNF_token_post_processing
]?
]
|
"=>"
=> insertText($getOutputLocation() 5$, "<a class=\"instruction\" href=\"" + this.docURL + "manual_The_scripting_language.html#BNF_operator__eq__amp_gt_\">");
=> {@</a>@}
#continue instruction
|
BNF_clause_call
[#check(bTokenCondition) BNF_token_post_processing]?
;
Generated by CodeWorker v3.2 from CWscript2HTML.gen.