invalid instruction mnemonic 'movzb'
I encountered this error in trying to implement comparative operator in my compiler. The error was solved by replacing "movzb" with "movzx".
Generative Grammer
program: stmt program
program: ε
stmt: "return" assign ";"
stmt: assign ";"
assign: equality
assign: equality "=" assign
equality: relational
equality: equality "==" relational
equality: equality "!=" relational
relational: add
relational: relational "<" add
relational: relational "<=" add
relational: relational ">" add
relational: relational ">=" add
add: mul
add: add "+" mul
add: add "-" mul
mul: unary
mul: mul "*" unary
mul: mul "/" unary
unary: term
unary: "+" term
unary: "-" term
term: num
term: ident
term: "(" assign ")"
Union-Find Tree
#include<vector> struct Unionfind { vector<int> par, rank, size; Unionfind(int n) : par(n), rank(n), size(n){ for(int i=0;i<n;i++){ par[i] = i; rank[i] = 0; size[i] = 1; } } int find(int x){ if(par[x] == x){ return x; } return par[x] = find(par[x]); } void unite(int x, int y){ x = find(x); y = find(y); if(x == y) return; if(rank[x] < rank[y]){ par[x] = par[y]; size[y] += size[x]; }else{ par[y] = par[x]; size[x] += size[y]; if(par[x] == par[y]) rank[x]++; } } int get_size(int x) { return size[find(x)]; } bool same(int x, int y){ return find(x) == find(y); } };
Pagination on GAE python with webapp
I don't know how to deal with session with webapp. So I just add all past stacks as a string with delimiter /, and pass it to the template.
test.py
cursors = self.request.get('cursors') if cursors: list_cursors = cursors.split('/') query.with_cursor(list_cursors[-1]) list_cursors.pop() result['previous_cursors'] = '/'.join(list_cursors) result['has_search_result'] = True result['query_results'] = [m for m in query.run(limit=LIST_LIMIT)] result['next_cursors'] = cursors + '/' + query.cursor() query.with_cursor(query.cursor()) has_next = False for m in query.run(limit=1): has_next = True result['has_next'] = has_next
test.html
{% if previous_cursors != None %} <form action="/admin/expenses" method="get" role="form"> <input name="email" class="form-control" type="hidden" value={{email}}> <input name="cursors" class="form-control" type="hidden" value={{previous_cursors}}> <button type="submit" class="btn btn-success ml-2">Previous</button> </form> {% endif %} {% if has_next %} <form action="/admin/expenses" method="get" role="form"> <input name="email" class="form-control" type="hidden" value={{email}}> <input name="cursors" class="form-control" type="hidden" value={{next_cursors}}> <button type="submit" class="btn btn-success ml-2">Next</button> </form> {% endif %}
ifdef & ifndef in C++
link (in Japanese) ifndef
pickle: save & load file
from pickle import dump # save with open('sample.pickle', mode='wb') as f: pickle.dump('Hello, World!', f) #load with open('sample.pickle', mode='rb') as f: pickle.load(f)
Thanks to this blog (in Japanese)