- let 文の値を生成するので Expression とする
let x = valueProducingIdentifier;
などが一例
- Program, LetStatement, Identifier が定義できれば
let x = 5;
は AST で表現できる
- ParseProgram が最初にするのは、AST のルートノードを生成することだ。
- *ast.Program のインスタンスがそれだ
printWidth: 120 | |
tabWidth: 2 | |
semi: true | |
singleQuote: false | |
trailingComma: all | |
bracketSpacing: true | |
useTabs: false | |
.globl _start | |
_start: | |
/* $の後が数字なら数字、文字なら変数。%はレジスタ */ | |
movl $4,%eax /* write システムコール番号 */ | |
movl $1,%ebx /* 書き込み先 - 標準出力 */ | |
movl $msg,%ecx /* 書き込むメッセージ */ | |
movl $13,%edx /* メッセージの長さ */ | |
int $0x80 /* システムコール実行 割り込み実行 */ | |
movl $1,%eax /* システムコール終了番号 */ |
#include<unistd.h> | |
int main(){ | |
const void *string = "Hello,World!\n"; | |
write(1, string, 13); | |
return 0; | |
} |
{ | |
"meal_record_menus": [ | |
{ | |
"external_meal_record_menu": { | |
"calorie": 686, | |
"carbohydrate": 85.6, | |
"dietary_fiber": 5.8, | |
"id": "general_20883", | |
"lipid": 27.8, | |
"meal_type": "general", |
#!/bin/bash | |
set -Ceu | |
LATEST_GO_VERSION=$(curl -s 'https://go.dev/dl/?mode=json' | jq -r '[.[]][0].version') | |
echo "Latest go version is --- ${LATEST_GO_VERSION} ---" | |
GOGZ="${LATEST_GO_VERSION}.linux-amd64.tar.gz" |
#!/bin/bash | |
set -Ceu | |
CURRENT_GO_VERSION=$(go version | cut -f 3 -d " ") | |
LATEST_GO_VERSION=$(curl -s 'https://go.dev/dl/?mode=json' | jq -r '[.[]][0].version') | |
if [ "${CURRENT_GO_VERSION}" = "${LATEST_GO_VERSION}" ]; then | |
echo "latest version already installed. -- ${CURRENT_GO_VERSION}" | |
exit 0 |