Perl苦手で自動化失敗
オープンソースのプログラムのうち、goto文を使っているソースコードをPolySpaceVerifierで動的検査をする際に、先に進むgoto文でないと検査ができず、戻るgoto文は、先に進むgoto文に書き換えるソフトウェアを書こうとした。
Code Complete:goto論争の終焉
当時は、まだPerlが流行っており、Perlで例題を作ってもらった。
先に進むgoto文にも、種類がいろいろあり、前後の構成、などの構造が少し違うと、 perlのプログラムで全対応できず、結果として、手作業で修正するものもできた。
失敗の要因
Perlに馴染んでいない
Basicではプログラムジェネレータジェネレータを書いたことがあり、 抽象的なデータ構造をどう作れば、インタプリタとして有用な自動生成コードが作成できるかは習得していた。
pascalで書かれたコンパイラをc言語に書き換えたり、c言語で書かれたコンパイラの改良をしていた。
C言語でも自動生成ソフトは書いていた。
その経験が邪魔をしたのか、Perlで作られた原型の変形がうまくできない。
心理学の本を読むよりはコンパイラ書いた方がよくね。仮説(34)
全類型を最初に分析していなかった
一番多い累計用のものを作り、それを変形するという方針で臨んでいた。基本設計方針がだめだった。
元に戻るgotoは不必要。
ほんの数バイトの節約、ほんの数クロックの節約のため、危険を犯す必要はなく、元に戻るgoto文を書く必要がなかったと思う。
全部手で先に進むgoto文に直せば終わり。自動で書き換えて試験をするという方針がださい。
CountDown Calendar 2022
今年企画した6つのCountDown Calendarと、それぞれの記事一つをご紹介します。
AUTOSAR CountDown Calendar 2022
AUTOSAR References to ISO, IEC, ITU, IEEE, RFC and SEA etc.
Automotive Handbook CountDown Calendar 2022
Basic principles, ボッシュ自動車handbook(英語)11版まとめ<2>
2022 いいねをいただいた記事ランキング(O.K.版) CountDown Calendar 2022
2022年1月下旬 いいねをいただいた記事 16
AdCale(O.K.) CountDown Calendar 2022
「会議は15分未満」に。小耳にはさんだ話。
CountDown Calendar 2022 報告
誤差の評価が苦手(専門分野以外)
<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
文書履歴(document history)
ver. 0.01 初稿 20221225
ver. 0.02 ありがとう追記 20230625
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.