Introduction, Background and Motivation

Hi everyone, im aman and im really excited to introduce myself..

GSoC motivation:
Instead of other internships i chose gsoc this year, because, open source and its ethos just fascinates me.

Intresting thing about the multi step configuration project:
Idea of untangling parsing and object creation, multi stage ast, sounds massively satisfying. It is the kind of system level design i want to dive into. Also i’ve had my fill of SaaS/CRUD apps in general.

Other commitments:
I have uni, but highly manageable.

Experience:
Im dual booting arch and fedora, so i have a little bit of experience in handling linux dependencies, ive built a local vector database tool in cpp for neovim that feeds codebase context to ai agents(still needs some work), it shares a little architechtural dna as of this project, built a alert system for system and api metrics in golang, i enjoy working on low level, high performance systems.

Gituhb:
I use github for my all the projects, not quite experienced in ci/cd, but planning on shipping github releases for the alert system agent.

Entry test and thoughts:
I’ve completed the entry test and opened a Draft PR here: GSoC entry test draft pr by Amanyd · Pull Request #2455 · precice/precice · GitHub

I built precice from source, ran the 1d tutorial, modified the config file to trigger an error, tracked down the error message and added tag.getFullName() (available for XMLTag), so the error now returns full xml context,
This can be applied to other config files as well. but, since we need an ast layer, it would just be overwritten during the refactor anyway,

Looking forward to getting to know the codebase and the community..

1 Like

Welcome, @amanyd, and thanks for the PRs! Looks like one already got merged, more are under review:

https://github.com/precice/precice/pulls?q=is%3Apr+author%3AAmanyd+

See the recently published guidelines for the proposal submission: Next steps in GSoC

1 Like

Hey everyone, so i’ve been playing around on the config parsing side of things for the multi-step configuration project locally.

I modified the XML parser so each parsed tag now knows its line and column number in the config file. I added a (SourceLocation) to each parsed node, and wrote a quick transformer that converts the raw XML tags into proper typed structs (DataDecl, MeshDecl, M2NDecl) that the raw tag tree gets converted into, so the config data lives in proper fields instead of string maps.

Here’s what it looks like running on the elastic-tube tutorial:

1 Like