Merhaba;
typescript ile dünyanın en işlevsiz programlama dilini yazdım 😃
Suanlık sadece matematik işlemlerini yapabiliyor.
Kaynak kodları incelemek isteyen varsa repo linki
10 - (200 - 194)
gibi bir kod olduğunu düşünün
bu kodu karakter karakter tarayıp şu şekilde tokenize ediyor
[
Token { type: 6, value: '10' },
Token { type: 11, value: '-' },
Token { type: 9, value: '(' },
Token { type: 6, value: '200' },
Token { type: 11, value: '-' },
Token { type: 6, value: '194' },
Token { type: 10, value: ')' },
Token { type: 21, value: '<EOF>' }
]
tokenlerdende ast çıkartıyor
Program {
kind: 'program',
body: [
BinaryExpression {
kind: 'binary_expression',
left: [NumericLiteral],
right: [BinaryExpression],
operator: '-'
}
]
}
en son ise astlardan değer oluşturuyor
NumberValue { value: 4, type: 'number' }