Digit 0123456789 data Digit Digit0 Digit1 Digit2 Digit3 Slides: 28 Download presentation 文法:代数型による表現 語彙 〈Digit〉: : = 0|1|2|3|4|5|6|7|8|9 data Digit = Digit_0 | Digit_1 | Digit_2 | Digit_3 | Digit_4 | Digit_5 | Digit_6 | Digit_7 | Digit_8 | Digit_9 n 言語(language) n 〈Numeral〉: : =〈Digit〉| 〈Numeral〉〈Digit〉 data Numeral = Single Digit | Composite Numeral Digit 意味の記述 n 構成法に基づく場合分けによる関数定義 n 〈Numeral〉の場合: 数字列 x(n-1). . . x 1 x 0に 数x(n-1)× 10^(n-1)+. . . x 1× 10+x 0 を対応づける numval : : Numeral -> Int numval (Single d) = digval d numval (Composite n d) = numval n * 10 + digval d digval : : Digit -> Int digval Digit_0 = 0 digval Digit_1 = 1 … 代数型による構文の表現(続) 〈Expr> : : = … data Expr = Numeral | Pexpr Expr | Mexpr Expr data Numeral = Single Digit | Composite Numeral Digit data Digit = Digit_0 | Digit_1 | … 構文解析 n 記号列が構文規則で定まる言語の文であ ることを解析する n n 自動解析ツール: yacc (unix) 例: “ 291+31”の構文 Pexpr (Num (Composite (Simple Digit_2) Digit_9 ) Digit_1 ) ) (Num (Composite (Simple Digit_3) Digit_1 ) ) 構文主導型意味記述法:例 構文規則 〈Expr〉: : = 〈Numeral〉 | 〈Expr〉+〈Expr〉 |〈Expr〉-〈Expr〉 data Expr = Numeral | Pexpr Expr | Mexpr Expr expval : : Expr -> Int expval (Num n) = numval n expval (Pexpr e 1 e 2) = expval e 1 + expval e 2 expval (Mexpr e 1 e 2) = expval e 1 - expval e 2 構文解析 parse : : [Char] -> Prog > parse "291 +31" Pexpr (Num "291") (Num "31") > Digit0Materi sistem bilanganHow to multiply 3-digit numbers by 2-digit numbersHow to divide 3 digit numbers by 1 digit numbersAdd 3-digit number to 2-digit gamesMulti digit division word problemsFour digit divisionHow to multiply three digit numbersUncertain digit calculator10 digit number moneyDoubtful digitRounding decimals to the nearest hundredthRound 264 to the nearest tenNick has a 6 digit codeWrite the place value of the underlined digit10 digit number moneyTerminal digitHow to do long division 2 digitSingapore nric check formulaDividing by 1 digit divisorsDivide 3 digits by 1 digitWhat is number system in computerMod11 check digitSerial unit numbering systemTeeth numbering systemDigit substitution puzzleHow to read a random number tablePlace value of 5 digit numbersTerminal digit filing system