構文解析

構文解析!part 3.2

> >= Test: >>10 > 10 False >>10 >= 10 True >>10 < 10 False >>10 <= 10 True >>exit End... Source Code: def factor(begin): global SyntaxFlag global i val = 0 if begin[i] == "(": i+=1 val = expression(begin) i+=1 while begin[i].isdigit(): Syn…

構文解析!part 3.1

昨日は”==”だけでしたが、今日は”!=”機能も付け加えました。 結構この書き方に満足してます。 あと、とある東大生にclassで書いたほうがいいって言われたのでpart4.0にはclassで書きます。Source Code: def factor(begin): global SyntaxFlag global i v…

構文解析!part 3

新しく、True or False機能もつけました。 まだ”==”文しか対応してませんが、我ながらいい出来です。Source Code: def factor(begin): global SyntaxFlag global i val = 0 if begin[i] == "(": i+=1 val = expression(begin) i+=1 while begin[i].isdigit…

構文解析!part2.2

ポテチ先生に色々教えてもらいました。@ashigirl96 1個目:2**3**3が512に評価されるのはおかしい。 2個目:"it=quit"などでも終了してしまうので終了条件変えよう 3個目:iがglobal変数なのキモいので、iterator使うなどしよう 4個目:全体的に命名規則どう…

構文解析!part2.1

さきほどの構文解析ではあるミスが有りました。 2**3/2**3 が1にならないということです。 2**3/2**3 -> 8/2**3 -> 4**3 -> 64という感じです。だから、書き直しました。はい。 def number(begin): global i val = 0 if begin[i] == "(": i+=1 val = express…

構文解析!part 2

http://reonreon3reon.hatenablog.com/entry/2012/11/27/020832 ↑このときは構文解析じゃあありませんでした。愚直に実装したただの…うん。 (完成度は満足してるんだからいいだろ!いい加減にしろ!)それから月日は壱年経ちまして、最近「構文解析かけるよ…