30 lines
867 B
Plaintext
30 lines
867 B
Plaintext
%Extension "cs"
|
||
%CaseSensitive
|
||
%Preprocessor Define="define" Undef="undef" IfDef="if" ElIf="elif" Else="else" End="endif"
|
||
|
||
Skip Begin "//"
|
||
Skip Begin "#" Preprocessor
|
||
Skip Begin "/*" End "*/"
|
||
Skip BeginEnd "'" EscapeSymbol "'"
|
||
Skip BeginEnd '\"' EscapeSymbol '\\'
|
||
Skip Begin '@\"' End '\"'
|
||
|
||
Token LetterDigits [[:IsLetterOrDigit:]_&]*
|
||
Token Sign [[:IsPunctuation:][:IsSymbol:]]
|
||
|
||
Rule tkClassNamespace : @"class" | @"namespace"
|
||
Rule @Block : "{" [Any | Block]* "}"
|
||
Rule Tk : @AnyExcept(tkClassNamespace, "{", "}", ";")
|
||
|
||
Rule Program : #ProgramNode*
|
||
Rule ProgramNode: #ClassOrNamespace
|
||
| #Field
|
||
| #Method
|
||
| #error
|
||
|
||
Rule ClassOrNamespace : @Tk* @tkClassNamespace @Tk* "{" #ProgramNode* "}"
|
||
Rule Field : @Tk* ";"
|
||
Rule Method : @Tk* Block
|
||
|
||
//<2F>à âñå ïðî âñå 20 ìèíóò
|
||
//<2F>à÷èíàß ñ ñîçäàíèß ïàïêè äëß ïðîåêòà, çàêàí÷èâàß ãîòîâûì è ðàáîòàþùèì ïàðñåðîì |