読者です 読者をやめる 読者になる 読者になる

言語のしくみを読む

例題の05filler.strmを実行してみる
オプションの-vをつけて実行してみると構文木を表示してくれる。

./streem -v ../examples/05filter.strm

05filter.strmの中身
    seq(100) | filter{x-> x % 2 == 0} | stdout
構文木を表示させたもの
    NODES:
    OP:
    op: |
    OP:
    op: |
    CALL:
    seq
    ARRAY:
    VALUE(NUMBER): 100
    CALL:
    filter
    ARRAY:
    LAMBDA:
    ARGS(1):
            x
    NODES:
            OP:
            op: ==
            OP:
            op: %
            IDENT: x
            VALUE(NUMBER): 2
            VALUE(NUMBER): 0
    IDENT: stdout