Short trick method to find First of any grammar- Compiler Design

Short trick method to find First of any grammar- Compiler Design

play-rounded-fill play-rounded-outline play-sharp-fill play-sharp-outline
pause-sharp-outline pause-sharp-fill pause-rounded-outline pause-rounded-fill
00:00

✅ Short Trick to Find FIRST of Any Grammar (Compiler Design)

In Compiler Design, computing the FIRST set is essential for parsing table construction in LL(1) parsers. Here’s a short trick method with rules to find the FIRST set quickly and accurately.




🧠 What is FIRST?

The FIRST(X) set is the set of terminals that begin the strings derivable from symbol X (where X can be a terminal, non-terminal, or ε).


🔍 Short Trick Rules to Find FIRST

🟠 Rule 1: For terminals

If X is a terminal, then:

bash
FIRST(X) = { X }

🟠 Rule 2: For ε (epsilon)

bash
FIRST(ε) = { ε }

🟠 Rule 3: For non-terminals (A → α1 α2 α3…)

To find FIRST(A):

  • Go left to right in production A → α1 α2 α3…

  • Add FIRST(α1) to FIRST(A)

  • If FIRST(α1) contains ε, then check α2, then α3, etc.

  • Continue until a symbol does NOT have ε in its FIRST set.

  • If all symbols derive ε, then ε ∈ FIRST(A)


✨ Shortcut Flow (for A → α):

α is… FIRST(A) contains…
Terminal a a
ε ε
Non-terminal B FIRST(B), and if ε ∈ FIRST(B), check next symbol
Sequence B C D... FIRST(B), and if ε ∈ FIRST(B), add FIRST(C), and so on

🔢 Example 1:

less
SA B
Aa | ε
Bb

Step-by-step:

  • FIRST(A) = { a, ε }

  • FIRST(B) = { b }

  • FIRST(S):

    • From S → A B

    • FIRST(A) = { a, ε }, so check next

    • FIRST(B) = { b }

    • So FIRST(S) = { a, b }


🔢 Example 2:

css
S → A B
A → ε
B → ε

Then:

  • FIRST(A) = { ε }

  • FIRST(B) = { ε }

  • FIRST(S) = { ε } ✅ (since all parts can derive ε)


🔢 Example 3:

less
SA b
Ac | ε
  • FIRST(A) = { c, ε }

  • FIRST(S) = { c, b }
    (Because A can be ε, so next terminal b is also considered)


📝 Tips & Tricks Recap:

✅ Go left to right in RHS
✅ If you see a terminal, add it and stop
✅ If you see ε, skip and check next
✅ If all symbols can derive ε, then add ε to FIRST
✅ Don’t forget to union all FIRSTs if multiple rules exist


Want a short PDF chart, video link, or practice problems with solutions? Let me know!

Short trick method to find First of any grammar- Compiler Design

LECTURE NOTES ON COMPILER DESIGN

compiler design lecture notes



Leave a Reply

Your email address will not be published. Required fields are marked *

error: