以下は、16 進整数の小さな文法です。
Numbers . Numbers ::= [HexInt];
separator HexInt " " ;
token HexDigit ["0123456789abcdefABCDEF"] ;
rules HexInt ::= "0x" [HexDigit] ;
separator HexDigit "" ;
ただし、レクサーは「ff」を単一のトークンとして扱うため、「0xff」の解析に失敗します。どうすれば修正できますか?
以下は、16 進整数の小さな文法です。
Numbers . Numbers ::= [HexInt];
separator HexInt " " ;
token HexDigit ["0123456789abcdefABCDEF"] ;
rules HexInt ::= "0x" [HexDigit] ;
separator HexDigit "" ;
ただし、レクサーは「ff」を単一のトークンとして扱うため、「0xff」の解析に失敗します。どうすれば修正できますか?