/**
FIPA ACL Standard String Representation.
FIPA 2000 (http://www.fipa.org)
Copyright (C) 1998-2001 by Mariusz Nowostawski (mariusz@rakiura.org).
All rights reserved.
Please read README and LICENSE.
Version 1.0 $Revision: 1.1 $
*/
Package nzdis.lang.fipaacl;
Helpers
tab = 9;
cr = 13;
lf = 10;
eol = [[cr + lf] + [cr + lf]];
white = [[' ' + tab] + eol];
colon = ':';
left_bracket = '(';
right_bracket = ')';
letter = [['A'..'Z'] + ['a'..'z']];
digit = ['0'..'9'];
normal = [[digit + '_'] + letter];
character = [[0 .. 0xffff] - [':' + eol]];
string_character = [[0 .. 0xffff] - '"' ];
sidentifier = [[character - white] - ['(' + ')']] ;
identifier = [sidentifier + ':'] ;
/*****/
Tokens
white = white+;
colon = colon;
left_bracket = left_bracket;
right_bracket = right_bracket;
identifier = sidentifier+ ;
literal = sidentifier identifier* ;
string = '"' string_character* '"' ;
line_comment = '/' '/' [[0 .. 0xffff] - [cr + lf]]* eol |
'#' [[0 .. 0xffff] - [cr + lf]]* eol ;
multiline_comment = '/' '*' [[0 .. 0xffff] - ['*' + '/']]* '*' '/' ;
/*************/
Ignored Tokens
white, line_comment, multiline_comment;
/**********/
Productions
message =
left_bracket identifier parameter+ right_bracket ;
parameter =
colon identifier content ;
content =
{identifier} identifier |
{expr} literal |
{property} colon identifier |
{string} string |
{complex} left_bracket content* right_bracket ;
This site has been last updated by the web master
on 2007/6/24.