栈机器和FORTH
查看栈型机器VM的执行语句(Python为例)
>>> import dis
>>> dis.dis(lambda x, y, z : (x + y) * z)
2 0 LOAD_FAST 0 (x)
3 LOAD_FAST 1 (y)
6 BINARY_ADD
7 LOAD_FAST 2 (z)
10 BINARY_MULTIPLY
11 RETURN_VALUE
语法树和LISP
>>> import ast
>>> ast.dump(ast.parse("1 + 2"))
‘Module(
body=[Expr(
value=BinOp(
left=Num(n=1),
op=Add(),
right=Num(n=2)
)
)
]
)‘
>>> ast.dump(ast.parse("(1 + 2) * 3"))
‘Module(
body=[
Expr(
value=BinOp(
left=BinOp(
left=Num(n=1),
op=Add(),
right=Num(n=2)
),
op=Mult(),
right=Num(n=3)
)
)
]
)‘
语法规则的竞争(IN CPP)
//OK
vector<vector<int> > x;
//NG
vector<vector<int>> y;