整數以及浮點數的正則定義

定義

Digit=0123456789Digits=DigitDigitϵ=Signed=ϵ+Digit=0|1|2|3|4|5|6|7|8|9\\Digits=DigitDigit^*\\\epsilon=空串\\Signed=\epsilon|+|-

無符號整數(UnsignedInt)(UnsignedInt)

UnsignedIntDigitsDigitDigit(0123456789)(0123456789)UnsignedInt\\\rightarrow Digits\\\rightarrow DigitDigit^*\\\rightarrow (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*

有符號整數(SignedInt)(SignedInt)

SignedIntSignedUnsignedIntSignedDigitsSignedDigitDigit(ϵ+)(0123456789)(0123456789)SignedInt\\\rightarrow SignedUnsignedInt\\\rightarrow SignedDigits\\\rightarrow SignedDigitDigit^*\\\rightarrow(\epsilon|+|-)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*

無符號浮點數(UnsignedFloat)(UnsignedFloat)

如:2.5e10,3.333,4.5E72.5e10,3.333,4.5E-7
Fraction=.DigitsϵFraction=.Digits|\epsilon
Exponent=ϵ((eE)SignedInt)Exponent=\epsilon|((e|E)SignedInt)
UnsignedFloatDigitsFractionExponentDigits(.Digitsϵ)(ϵ((eE)SignedInt))(0123456789)(0123456789)(ϵ.(0123456789)(0123456789))(ϵ((eE)(ϵ+)(0123456789)(0123456789)))UnsignedFloat\\\rightarrow DigitsFractionExponent\\\rightarrow Digits(.Digits|\epsilon)(\epsilon|((e|E)SignedInt))\\\rightarrow \\(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*\\(\epsilon|.(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*)\\(\epsilon|((e|E)(\epsilon|+|-)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*))

有符號浮點數(SignedFloat)(SignedFloat)

SignedFloat=(Signed)(UnsignedFloat)(ϵ+)(0123456789)(0123456789)(ϵ.(0123456789)(0123456789))(ϵ((eE)(ϵ+)(0123456789)(0123456789)))SignedFloat=(Signed)(UnsignedFloat)\\\rightarrow \\(\epsilon|+|-)\\(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*\\(\epsilon|.(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*)\\(\epsilon|((e|E)(\epsilon|+|-)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)^*))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章