Hallo zusammen,
nach dem Lesen der (überaus dürftigen) Doku zu dem Thema und diversen Forenthread, habe ich versucht eine Grammatik für AutoIt zu erstellen. Das Ganze sieht bis jetzt so aus:
Code:
TAutoItSyn
tk
IdentStart '_', 'a'..'z', 'A'..'Z':: '_', '0'..'9', 'a'..'z', 'A'..'Z'::
TOKENTYPES
Variable
Identifier
Key
Comment
Space
String
IncFile
|><|
KEYS
ByRef
Const
ContinueCase
ContinueLoop
Default
Dim
Do
Until
Enum
Exit
ExitLoop
False
For
To
Step
Next
In
Func
Return
EndFunc
Global
If
Then
ElseIf
Else
EndIf
Local
ReDim
Select
Case
EndSelect
Static
Switch
EndSwitch
True
With
EndWith
While
WEnd
|><|
CHARS
'+','-','[',']','.',',','{','}','(',')','0'..'9':: Ident
BeginProc
fTokenID := IdentKind((fLine + Run));
inc(Run, fStringLen);
while IsIdentChar(fLine[Run]) do
Inc(Run);
EndProc
|><|
ENCLOSEDBY
IncFile,IncFile,<,>
Comment,MultilineCommentShort,#cs,#ce,MultiLine
Comment,LineComment,;,#13
String,String,","
|><|
Dabei schieße ich mir die
IDE regelmäßig (wahrscheinlich wegen einer Endlosschleife ab). Es wird außerdem viel zu viel als Identifier erkannt, meine Keywords nicht korrekt hervorgehoben und Variablen (beginnen mit einem $ gefolgt von einer Bezeichnung) kriege ich auch nicht hinein. Was ich außerdem nicht verstehe, ich das Stück Code was dort eingefügt werden muss.
Kann mir hier jemand weiterhelfen und auf mehr Doku verweisen oder mir hier direkt weiterhelfen?