In the current (Gregorian and ISO 8601) calendar, Day-of-Week, Day-of-Month, Month-of-Year, Week-Number, etc., are all regular or near-regular cycles. Leap Days occur, are omitted, and are restored in regular cycles.
Therefore, one can develop the calendar day-by-day just by keeping track of the cycles.
For both Dionysian (Julian) and Gregorian Easter :-
The EFM cycle differs slightly between Julian and Gregorian.
Therefore, one can generate the full Calendar by starting on a fixed date, at a known phase of each of the Cycles, and iterating.