# X3 Basic Syntax

#### Print Program:

```x3
# Function definition for printing numbers
FUN printNumbers(start, end)
    # Loop from start to end
    FOR i = start TO end THEN
        # Print the value of i
        PRINT(i)
    END
END

# Main program
# Call the printNumbers function to print numbers from 1 to 10
printNumbers(1, 10)
```

#### Explanation:

1. **Identifiers**:
   * `printNumbers`: Function name.
   * `start`, `end`, `i`: Variable names.
2. **Reserved Words**:
   * `FUN`: Used to define a function.
   * `FOR`, `TO`, `THEN`, `END`: Keywords used for loop control.
   * `PRINT`: Keyword for outputting a value.
3. **Lines and Indentation**:
   * Each line represents a statement or a block of code.
   * Indentation is used to denote blocks of code within functions or loops.
4. **Comments**:
   * Comments are preceded by the `#` symbol.
   * They provide explanations or documentation for the code.

#### Explanation of the Code:

* The code defines a function named `printNumbers` that takes two parameters: `start` and `end`.
* Inside the function, there's a `FOR` loop that iterates from `start` to `end`, printing each value of `i`.
* The main program calls the `printNumbers` function with arguments `1` and `10`, causing it to print numbers from 1 to 10.

#### Additional Notes:

* **Data Types**: The provided pseudocode doesn't explicitly mention data types. In X3, you would need to define the data types for variables and function parameters.
* **Execution**: In X3, after defining the function and the main program, the code would be executed sequentially, starting from the main program's entry point.

This breakdown should give you a clearer understanding of how the given pseudocode translates into a print program in your X3 programming language.
