Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions DO_NOT_MERGE.SINGLE_COURSE
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fundamentals_of_ada/standard_course_4d.txt
17 changes: 15 additions & 2 deletions contrib/review_run_slides
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,18 @@ def run_watch(run_id, course):
return r == Artifact


def capitalize_words(s):
upper = True
r = ""
for c in s:
if upper:
r += c.upper()
else:
r += c.lower()
upper = c == " "
return r


def main():
ap = ArgumentParser(description=script_description)
ap.add_argument("course", nargs="?",
Expand Down Expand Up @@ -151,14 +163,15 @@ def main():
# option 4: we read the course as if it was provided from the command line
# falling back to option 1 or 2
with open(single, "rt") as f:
course = f.readlines()[0]
course = Path("courses") / f.read().splitlines()[0]

def artifact_to_downloaded_dir(artifact_name):
return OUT / artifact_name

def course_file_to_artifact(p : Path):
ext_name = capitalize_words(p.with_suffix("").name.replace("_", " "))
with open(p.parent / "course.toml", "rt") as f:
return toml.load(f)["name"]
return toml.load(f)["name"] + f" - {ext_name}"

def course_file_to_pdf_name(downloaded_dir : Path, p : Path):
return downloaded_dir / p.with_suffix(".pdf").name
Expand Down
20 changes: 20 additions & 0 deletions courses/fundamentals_of_ada/standard_course_4d.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
005_introduction.rst
010_overview.rst
020_declarations.rst
030_basic_types.rst
040_statements.rst
080_expressions.rst
050_array_types.rst
060_record_types.rst
070_subprograms.rst
090_overloading.rst
intro_170_tagged_derivation.rst
180_polymorphism.rst
100_packages.rst
110_private_types.rst
130_program_structure.rst
135_visibility.rst
140_access_types.rst
160_genericity.rst
240_tasking.rst
920_reference_material.rst