Metadata-Version: 2.4
Name: stdio-c
Version: 2.2.0
Summary: A collection of C compiler design programs (1-10) printable/runnable via 'py -m stdio <num>'
Author: Antigravity
License-Expression: MIT
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Dynamic: requires-python

# stdio-c (v2.2.0)

A custom Python library to view or run compiler design lab programs directly from your terminal:

```bash
py -m pip install stdio-c
py -m stdio <program_number>
```

## Available Programs (1 to 10)

| Program Number | Program Name | Description |
|---|---|---|
| **1** | Basic Lexical Analyzer | Tokenizer classifying keywords, identifiers, constants, operators |
| **2** | Symbol Table Lookup | Symbol table lookup for variables with data type & address |
| **3** | Lexical Counter & Comment Stripper | Counts length and strips C single-line comments (`//`) |
| **4** | Identifier Validator | Validates C identifier naming rules |
| **5** | FIRST & FOLLOW Computation | Demo of FIRST and FOLLOW set computations |
| **6** | Lexical Analyzer (Operator Validator) | Validates C operators (arithmetic, relational, bitwise, compound, etc.) |
| **7** | Shift Reduce Parser | Bottom-up shift-reduce syntax parser simulator |
| **8** | LALR Parser | LALR bottom-up parser simulator |
| **9** | SLR Parser | SLR state-table parser simulator |
| **10** | Three Address Code Generator | TAC intermediate code generator for expressions |

## Usage Examples

### 1. Display C Source Code (Default):
Running `py -m stdio <num>` displays the complete C source code for that program directly in your terminal:
```bash
py -m stdio 1
py -m stdio 6
py -m stdio 10
```

### 2. Run Program Interactively (`--run`):
If you want to execute the program interactively in your terminal:
```bash
py -m stdio 1 --run
py -m stdio 6 --run
```

### 3. Display Python Code (`--py`):
```bash
py -m stdio 1 --py
```

### 4. Interactive Menu:
```bash
py -m stdio
```


