[TYPO3-50-general] TypoScript 2.0 EBNF

Robert Lemke robert at typo3.org
Wed Jun 13 10:24:55 CEST 2007


Hi Christian,

Am 31.05.2007 um 17:53 schrieb Christian Welzel:

> Could you please rewrite the ebnf without the WhiteSpace?
> Whitespaces are normally handles by the lexer and therefore
> do not belong to the grammar. Its also better readable without
> that bunch of WhiteSpace in there.

Yes, but where do you define rules like ther must be no whitespace
between the dots in an object path?

> I showed your grammar to a friend of mine and he says:
>
>> BlockComment = "/*" { UnicodeCharacter} { LineBreak } "*/";
>> does not what he probably want. it produces:
>> /* many characters, many linebreaks after that, then */

That's true. Maybe this is right?

BlockComment = "/*" { UnicodeCharacter | LineBreak } "*/";

>> IncludeDeclaration = "include" {Whitespace} ":"  
>> "source" {Whitespace} "=" {Whitespace} DoubleQuote Resource  
>> DoubleQuote;
>> NamespaceDeclaration = "namespace" { Whitespace } ":"  
>> NamespaceIdentifier { Whitespace } "=" ComponentName
>
> Shouldn't there be WhiteSpaces between ":" and "source"/ 
> NamespaceIdentifier?

yes, I changed that.

>> ObjectPath = { "." } ObjectIdentifier { "." ObjectIdentifier }  
>> [ "." VariableName ];
>
> Is ObjectPath really meant to allow ......foo.bar ?
> Or do you mean [ "." ] ObjectIdentifier { "." ObjectIdentifier }  
> [ "." VariableName ]; ?

In the meantime I change this to:

ObjectPath = [ "." ] ObjectIdentifier { "." ObjectIdentifier }  
( [ "." VariableName ] | [ "." ArrayOffset ] );


Thank you for your hints!
robert
-- 
http://typo3.org/gimmefive




More information about the TYPO3-project-5_0-general mailing list