< prev up next >

Request Processing

Each URL request is analyzed to extract information about the name of the requested resource and information about authentification and authorization. If the resource is placed in a directory configured to require special authorization, the authorization information is checked. Execution procedes to analyze instructions placed in the assosciated .icod file. 

A .icod file contains blocks of instructions. A block of instructions is a sequence of declarations and statements. Declarations are used to define variables to be used in statements. Every variable must be declared before being used in a statement, but otherwise declarations can be placed in front or between statements, in any order. Each declaration or statement must be semicolon terminated, and can span several lines.

These syntactic rules are concisely expressed in BNF form. The following rules are used to express .icod files syntax:

  • square brackets delimit optional parts,
  • curly braces delimit parts that can be repeated zero or more times, 
  • vertical bars separate alternate parts.
  • round parentheses group together several parts.

To avoid confusion with similar characters that may appear in the program, keywords and operators belonging to the language are represented in bold. Elements presented in italic are syntactic parts composed of several other parts.  

Operator ::= separate a syntactic name (in italic, on the left side) from its definition (on the right side). Definitions (syntactic rules) such as A ::= B [,A] mean that A can be B or B,B or ... B,B,B (a series of B parts separated by a comma). This is named a recursive definition. Sometimes simple recursive definitions can be rewriten as A ::= B { ,B } which is easier to understand.

Program ::= block

block ::= instruction ; [block]

instruction ::= declaration | statement

The next pages detail lexical conventionsvariable declarations, variable scope and executable statements URL processing and  Authentication and authorization is explained last, although this is taking place before actually starting the request processing, because it affects some of the global variables and they must be introduced first.

 

< prev up next >
Terms of Use Privacy Policy Disclaimer Copyright © Fast Web Technologies LLC
  Contents of:
Home Products Support Downloads About Us