home *** CD-ROM | disk | FTP | other *** search
-
-
- Listing 2 á
- TWS Lexical Grammar for Prolog
-
-
- scanner Prolog_text:
-
- Prolog_text -> (Pseudo | Separator)*;
- Pseudo áá-> Variable | String | Symbol | Number;
- Separator-> Punctuator | Spaces | Eol;
-
- Variable ááá-> Varhead (Letter | Digit)* áááááá=> '<VARIABLE>';
- Varhead á-> (Uppercase | Underscore);
- Letter áá-> Uppercase | Lowercase;
- Uppercase-> 'A' .. 'Z';
- Lowercase-> 'a' .. 'z';
- Digit ááá-> '0' .. '9';
- Underscore-> '_';
-
- String ááááá-> (Quote Chars Quote)+ ááááááááááá=> '<ATOM>';
- Quote ááá-> '''';
- Chars ááá-> (Any - Quote)*;
-
- Symbol ááááá-> Lowercase (Letter | Digit)* áááá=> '<ATOM>' ;
-
- Number ááááá-> '-'? Digit+ áááááááááááááááááááá=> '<NUMBER>';
-
- Punctuator á-> '(' | ')' | ',' | '[' | ']'
- | '.' | '|' | ':' '-' áááááááááá=> '<AS_IS>';
-
- Spaces ááááá-> Space+ ááááááááááááááááááááááááá=> '<DELETE>';è Space áááááá-> ' ' | Tab;
- Tab ááááá-> 'ht';
-
- end Prolog_text
-