Skip to content

Conversation

@Doomsk
Copy link
Member

@Doomsk Doomsk commented Oct 12, 2025

This PR defines, implements and refactors code for function and cast structure, logic and overall expected behavior.

On the function side:

  • function definition
  • function call
  • function call resolution (executing instructions)
  • function table for retrieval
  • meta function definition
  • meta function for other types (functions with arguments as options, functions with arguments and with options in the body, functions with arguments and with body)
  • some basic built-in functions definition

on the cast side:

  • cast definition
  • cast call
  • cast call resolution (instruction execution)
  • cast workflow (quantum programs, low level quantum language translation, targeting quantum backend, quantum instructions execution, result interpretation and type casting)

pinging @q-inho

Doomsk and others added 30 commits May 13, 2025 23:02
* new start to match main and this branch

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* fix mkdocs ci

Signed-off-by: Doomsk <[email protected]>

* add more doc pages

Signed-off-by: Doomsk <[email protected]>

* add TODOs, docs introductions, mike versioning, codes fix here and there

Signed-off-by: Doomsk <[email protected]>

* add more docs

Signed-off-by: Doomsk <[email protected]>

* fix small typo

Signed-off-by: Doomsk <[email protected]>

---------

Signed-off-by: Doomsk <[email protected]>
* new start to match main and this branch

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* fix mkdocs ci

Signed-off-by: Doomsk <[email protected]>

* add more doc pages

Signed-off-by: Doomsk <[email protected]>

* add TODOs, docs introductions, mike versioning, codes fix here and there

Signed-off-by: Doomsk <[email protected]>

* add more docs

Signed-off-by: Doomsk <[email protected]>

* fix small typo

Signed-off-by: Doomsk <[email protected]>

* add docs build from main branch

Signed-off-by: Doomsk <[email protected]>

---------

Signed-off-by: Doomsk <[email protected]>
* new start to match main and this branch

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* fix mkdocs ci

Signed-off-by: Doomsk <[email protected]>

* add more doc pages

Signed-off-by: Doomsk <[email protected]>

* add TODOs, docs introductions, mike versioning, codes fix here and there

Signed-off-by: Doomsk <[email protected]>

* add more docs

Signed-off-by: Doomsk <[email protected]>

* fix small typo

Signed-off-by: Doomsk <[email protected]>

* add docs build from main branch

Signed-off-by: Doomsk <[email protected]>

* add more docs descriptions, pre-commit config
improve heap memory logic and Heather dialect grammar (in progress)

Signed-off-by: Doomsk <[email protected]>

---------

Signed-off-by: Doomsk <[email protected]>
* new start to match main and this branch

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* fix mkdocs ci

Signed-off-by: Doomsk <[email protected]>

* add more doc pages

Signed-off-by: Doomsk <[email protected]>

* add TODOs, docs introductions, mike versioning, codes fix here and there

Signed-off-by: Doomsk <[email protected]>

* add more docs

Signed-off-by: Doomsk <[email protected]>

* fix small typo

Signed-off-by: Doomsk <[email protected]>

* add docs build from main branch

Signed-off-by: Doomsk <[email protected]>

* add more docs descriptions, pre-commit config
improve heap memory logic and Heather dialect grammar (in progress)

Signed-off-by: Doomsk <[email protected]>

* add instructions docs
improve docs overall

Signed-off-by: Doomsk <[email protected]>

---------

Signed-off-by: Doomsk <[email protected]>
* add fresh new structure

* add memblock and tests

Signed-off-by: Doomsk <[email protected]>

* add more code

Signed-off-by: Doomsk <[email protected]>

* improve memory block logic and structure

Signed-off-by: Doomsk <[email protected]>

* improve test

Signed-off-by: Doomsk <[email protected]>

* include data and type container

Signed-off-by: Doomsk <[email protected]>

* include data and type container

Signed-off-by: Doomsk <[email protected]>

* new start to match main and this branch

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* add more documentation

Signed-off-by: Doomsk <[email protected]>

* fix mkdocs ci

Signed-off-by: Doomsk <[email protected]>

* add more doc pages

Signed-off-by: Doomsk <[email protected]>

* add TODOs, docs introductions, mike versioning, codes fix here and there

Signed-off-by: Doomsk <[email protected]>

* add more docs

Signed-off-by: Doomsk <[email protected]>

* fix small typo

Signed-off-by: Doomsk <[email protected]>

* add docs build from main branch

Signed-off-by: Doomsk <[email protected]>

* add more docs descriptions, pre-commit config
improve heap memory logic and Heather dialect grammar (in progress)

Signed-off-by: Doomsk <[email protected]>

* add instructions docs
improve docs overall

Signed-off-by: Doomsk <[email protected]>

* add logo and favicon

Signed-off-by: Doomsk <[email protected]>

* restart some rust codebase

Signed-off-by: Doomsk <[email protected]>

* restart some rust codebase

Signed-off-by: Doomsk <[email protected]>

* fix pre-commit

Signed-off-by: Doomsk <[email protected]>

* add github actions workflows for lint and tests

Signed-off-by: Doomsk <[email protected]>

* fix pre-commit and pytest

Signed-off-by: Doomsk <[email protected]>

* fix pre-commit and pytest

Signed-off-by: Doomsk <[email protected]>

* fix pre-commit location

Signed-off-by: Doomsk <[email protected]>

* remove netqasm for now

Signed-off-by: Doomsk <[email protected]>

* fix pre-commit and pytest actions

Signed-off-by: Doomsk <[email protected]>

* fix pre-commit action

Signed-off-by: Doomsk <[email protected]>

* fix pytest action

Signed-off-by: Doomsk <[email protected]>

* fix pytest action

Signed-off-by: Doomsk <[email protected]>

* fix working directory for github actions

Signed-off-by: Doomsk <[email protected]>

* add qiskit-aer dependency

Signed-off-by: Doomsk <[email protected]>

---------

Signed-off-by: Doomsk <[email protected]>
Signed-off-by: Doomsk <[email protected]>

* fix ast code
add Heather AST parsing visitor

Signed-off-by: Doomsk <[email protected]>

* small fix

Signed-off-by: Doomsk <[email protected]>

* small fix

Signed-off-by: Doomsk <[email protected]>

---------

Signed-off-by: Doomsk <[email protected]>
Signed-off-by: Doomsk <[email protected]>
* Add QNez instruction and update LowLeveQLang for OpenQASM v2.0 support

* reformat for pre-commit

* fix mypy exit error

* Add QInstrFlag to manage instruction behavior and update QNez for argument generation

* Add skip_gen flag to conditionally generate arguments in gen_instrs method

* QNez: Update boolean handling for mask values in instruction processing

* Update argument in test for QNez instruction from '@redim' to '@Not'
# Conflicts:
#	python/src/hhat_lang/low_level/quantum_lang/openqasm/v2/qlang.py
#	python/tests/lowlevel/qlang/openqasm/v2/test_lowlevelqlang.py
add visitor ir
test visitor ir

Signed-off-by: Doomsk <[email protected]>
implement IR base classes to inherit from hhat_lang.core

Signed-off-by: Doomsk <[email protected]>
add function importer
improve variables, memory stack, heap, and symbol tables
finish IR parsing visitor
improve grammar
fix create new file on project

Signed-off-by: Doomsk <[email protected]>
improve IR logic with symbol tables and ref tables
add enum data structure
(wip) improve IR visitor

Signed-off-by: Doomsk <[email protected]>
(wip) improve IR visitor

Signed-off-by: Doomsk <[email protected]>
improve other codes to utilize IR graph logic
(wip) implement IR visitor with IR graph

Signed-off-by: Doomsk <[email protected]>
add PEG grammar in python for faster parsing
fix type and function imports, ref tables
fix IR visitor

Signed-off-by: Doomsk <[email protected]>
(wip) big cleanup, big refactor

Signed-off-by: Doomsk <[email protected]>
Doomsk added 15 commits August 25, 2025 16:57
big cleanup, big refactor

Signed-off-by: Doomsk <[email protected]>
Signed-off-by: Doomsk <[email protected]>
# Conflicts:
#	.github/workflows/ci.yml
#	README.md
#	docs/CNAME
#	docs/TODOs.md
#	docs/core/index.md
#	docs/dialects/creation.md
#	docs/dialects/heather/current_syntax.md
#	docs/dialects/heather/heather_syntax.md
#	docs/dialects/heather/index.md
#	docs/index.md
#	docs/python/python_guide.md
#	docs/running_hhat.md
#	docs/stylesheets/extra.css
#	docs/toolchain.md
#	mkdocs.yml
#	python/README.md
#	python/pyproject.toml
#	python/src/hhat_lang/core/code/instructions.py
#	python/src/hhat_lang/core/code/utils.py
#	python/src/hhat_lang/core/data/core.py
#	python/src/hhat_lang/core/data/utils.py
#	python/src/hhat_lang/core/data/variable.py
#	python/src/hhat_lang/core/error_handlers/errors.py
#	python/src/hhat_lang/core/execution/abstract_base.py
#	python/src/hhat_lang/core/execution/abstract_program.py
#	python/src/hhat_lang/core/lowlevel/abstract_qlang.py
#	python/src/hhat_lang/core/memory/core.py
#	python/src/hhat_lang/core/types/__init__.py
#	python/src/hhat_lang/core/types/abstract_base.py
#	python/src/hhat_lang/core/types/core.py
#	python/src/hhat_lang/core/types/resolve_sizes.py
#	python/src/hhat_lang/core/utils.py
#	python/src/hhat_lang/dialects/heather/grammar/grammar.peg
#	python/src/hhat_lang/low_level/quantum_lang/openqasm/v2/__init__.py
#	python/src/hhat_lang/low_level/quantum_lang/openqasm/v2/instructions.py
#	python/src/hhat_lang/low_level/quantum_lang/openqasm/v2/qlang.py
#	python/src/hhat_lang/low_level/target_backend/qiskit/openqasm/code_executor.py
#	python/src/hhat_lang/toolchain/project/new.py
#	python/tests/core/test_type_ds.py
#	python/tests/dialects/heather/parsing/ex_fn01.hat
#	python/tests/dialects/heather/parsing/ex_fn02.hat
#	python/tests/dialects/heather/parsing/ex_main02.hat
fix Heather's quantum program.py

Signed-off-by: Doomsk <[email protected]>
fix ci workflow

Signed-off-by: Doomsk <[email protected]>
Signed-off-by: Doomsk <[email protected]>
Signed-off-by: Doomsk <[email protected]>
(wip) add metafn grammar and functionality --new function constructors
(wip) add metamod grammar
fix and refactor memory, ir, ir visitor (wip), functions, types, symbol table (wip), ir builder (wip) to account for changes in the H-hat engine

Signed-off-by: Doomsk <[email protected]>
@Doomsk Doomsk self-assigned this Oct 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants