chakokuのブログ(rev4)

日々のごった煮ブログです

2018-03-21から1日間の記事一覧

VTL(Very Tiny Language)を理解するためBNFを定義してソース自動生成してみた

VTLの言語仕様がいまいち理解できず、自分なりに理解すべくBNF風に文法を定義して、定義したBNFを使ってソース自動生成してみた。 #!/usr/bin/python import random import re VERB = False BNF = { '<SRC>' : ('<STMT>',), '<STMT>' : ('<ASSIGN>','<OUTPUT>','<INPUT>','<STMT>_SP_<STMT>'), '<ASSIGN>' : ('<VAR> = <TERM0>','<ARRAY> = <TERM0>')</term0></array></term0></var></assign></stmt></stmt></output></assign></stmt></stmt></src>…