# Writing a C Compiler

**URL:** <https://forum.ada-lang.io/t/writing-a-c-compiler/1024>\
**Category:** General\
**Created:** [July 27, 2024, 3:23am UTC](https://forum.ada-lang.io/t/writing-a-c-compiler/1024 "2024-07-27T03:23:12Z")\
**Posts on this page:** 2\
**Page:** 3

<div class="post-metadata">

**Author:** ![Shuihuzhuan](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/s/c6cbf5/32.png) [@Shuihuzhuan](https://forum.ada-lang.io/u/Shuihuzhuan)\
**Post date:** [March 27, 2026, 2:32pm UTC](https://forum.ada-lang.io/t/writing-a-c-compiler/1024/42 "2026-03-27T14:32:29Z")

</div>

> The way it indicates an optional value is by wrapping it in a Vector from Ada.Containers, and add a pre-condition that there can only be 0 or 1 element in that vector.

Why a `Vector` and not just a `Holder`? That would avoid the need for a pre-condition.

---

<div class="post-metadata">

**Author:** ![bjorn-lundin](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/bjorn-lundin/32/106_2.png) [@bjorn-lundin](https://forum.ada-lang.io/u/bjorn-lundin)\
**Post date:** [March 28, 2026, 12:25pm UTC](https://forum.ada-lang.io/t/writing-a-c-compiler/1024/43 "2026-03-28T12:25:29Z")

</div>

I don’t know - I just use it

[Previous page](https://forum.ada-lang.io/t/writing-a-c-compiler/1024.md?page=2)
