Antlr'de, 18 bitlik bir gösterimde 32 bit tanıyan bir salt sözcük grameri tanımlamaya çalışıyorum. ŞimdilikBir düzenin bir kuralının nasıl tanımlanacağı, belirli bir sayı ile antlr saf lexer dilbilgisi kullanılarak tekrarlanır
Ben:
lexer grammar Grammar;
WS : [ \r\t\n]+ -> skip;
fragment HexDigit : ([0-9]|[A-f]|[a-f]);
fragment HexDigitNoZero : ([1-9]|[A-f]|[a-f]);
fragment HexNumber : (HexDigitNoZero)(HexDigit)*;
fragment Eight : HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit HexDigit;
Hex :'0x'Eight;
Ben saf lexer dilbilgisi bir dizi 8 tanımlamak için gidecekseniz eğer herhangi bir şekilde öğrenmek istiyorum. Flex, 'a' {8} ile çalışır.
Thx kullanır: Ben Hex kullandı: {gettext() .length() == 8}? '0x' (HexDigitNoZero) (HexDigit) *; ve mükemmel çalıştı. –
Rica ederim. Cevabı kabul ederseniz, bu iyi olurdu. :) – cantSleepNow