# PLATYPUS Language Specification
## 2. Lexical Specification (INCOMPLETE)
## NOTE: **This is incredibly incomplete and broken, I am simply writing this down and will fix it as I read along the informal language specification provided to me**
### 2.1 Input Elements and Tokens
```
->
ASCII characters but not SEOF
->
SEOF
->
|
->
| |
| | | |
```
### 2.2 White Space
```
->
ASCII SP character (space)
| ASCII HT character (horizontal tab)
| ASCII VT character (vertical tab)
| ASCII FF character (form feed)
|
->
CR | LF | CR LF
```
### 2.3 Comments
```
->
!<
->
|
->
but not
```
### 2.4 Variable Identifiers
```
->
|
->
->
|
-> one of
[a-z][A-Z]
-> one of
[a-z][A-Z][0-9]
->
#
```
### 2.5 Keywords
```
->
PLATYPUS | IF | THEN | ELSE | USING | REPEAT | INPUT | OUTPUT
```
### 2.6 Integer Literals
```
->
|
->
0 |
->
|
->
0 |
-> one of
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
->
0
->
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
->
|
```
### 2.7 Floating-point Literals
```
->
.
```
### 2.8 String Literals
```
->
""
->
|
```
### 2.9 Separators
```
->
( | ) | { | } | , | ; | " |.
```
### 2.10 Operators
```
->
|
| |
|
->
+ | - | * | /
->
<<
->
> | < | == | <>
->
.AND. | .OR.
->
=
```
## 3. The PLATYPUS Syntatic Specification
### 3.1 PLATYPUS Program
```
->
PLATYPUS {} SEOF
->
|
```
### 3.2 Statements
```
->
|
|
|
|