This document details an assignment for implementing semantics in a small programming language for blockchain applications. It outlines the requirements for validity checks on blockchain attributes, error handling during parsing, and the implementation of arithmetic expressions. Additionally, it includes definitions of tokens and constructs necessary for the language's lexical analysis and parsing.