# Συμβατότητα & Τεχνικές προδιαγραφές

Canonical source: https://maguyva.ai/el/docs/compatibility

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Παρακάτω βλέπετε τους αριθμούς δυνατοτήτων που τροφοδοτούν τη δομική αναζήτηση, την αναζήτηση συμβόλων, την ανάλυση με επίγνωση του γράφου και τη βασική ευρετηρίαση.

Αυτές οι ενδείξεις δείχνουν τις ενεργοποιημένες δυνατότητες στην τρέχουσα διαμόρφωση γλωσσών, όχι βαθμολογίες ποιότητας ολόκληρης της διαδικασίας. Η διαθεσιμότητα γράφου απαιτεί ενεργοποιημένο αναλυτή, εξαγωγή συμβόλων και εξαγωγή γράφου. Οι υποστηριζόμενοι τύποι σχέσεων και το βάθος εξαγωγής διαφέρουν ανά γλώσσα.

- Κάλυψη ευρετηρίασης: **285**. Κάθε γλώσσα στη λίστα είναι ευρετηριασμένη για πλαίσιο αρχείου, κειμένου και αποθετηρίου.
- Δομική αναζήτηση AST: **247**. Γλώσσες με δομή βασισμένη σε αναλυτή για ροές εργασίας AST και δομικής αναζήτησης.
- Εξαγωγή συμβόλων: **282**. Γλώσσες με μεταδεδομένα συμβόλων για ορισμούς και αναζήτηση.
- Σχέσεις γράφου: **151**. Γλώσσες με λειτουργική εξαγωγή σχέσεων για αναζήτηση με επίγνωση του γράφου. Το βάθος του γράφου διαφέρει ανά γλώσσα και τύπο σχέσης.

- `ast_structural=false`: Ευρετηρίαση με προτεραιότητα στο κείμενο, με πιο ελαφριά δομική επίγνωση.
- `symbol_extraction=false`: Η εξαγωγή συμβόλων είναι περιορισμένη, οπότε η πλοήγηση βασίζεται περισσότερο στο πλαίσιο αρχείου και δομής.
- `relationship_extraction=false`: Η γλώσσα αυτή ευρετηριάζεται για αναζήτηση, αλλά προς το παρόν δεν αποθηκεύεται μόνιμα στον γράφο κώδικα.

| language | indexed | ast_structural | symbol_extraction | relationship_extraction |
| --- | --- | --- | --- | --- |
| ABAP (`abap`) | true | true | true | true |
| ActionScript (`actionscript`) | true | true | true | true |
| Ada (`ada`) | true | true | true | true |
| Agda (`agda`) | true | true | true | true |
| AL (`al`) | true | false | true | true |
| Angular (`angular`) | true | true | true | true |
| Apache Avro IDL (`avro`) | true | true | true | false |
| Apex (`apex`) | true | true | true | true |
| Arduino (`arduino`) | true | true | true | true |
| AsciiDoc (`asciidoc`) | true | true | true | false |
| Assembly (`asm`) | true | true | true | false |
| Astro (`astro`) | true | true | true | true |
| AWK (`awk`) | true | true | true | true |
| Bash/Shell (`bash`) | true | true | true | true |
| Bass (`bass`) | true | false | true | true |
| Batch (`batch`) | true | false | true | true |
| Beancount (`beancount`) | true | true | true | false |
| BibTeX (`bibtex`) | true | true | true | false |
| Bicep (`bicep`) | true | true | true | false |
| BitBake (`bitbake`) | true | true | true | false |
| Blade (`blade`) | true | true | true | true |
| BrightScript (`brightscript`) | true | false | true | true |
| BSL (1C:Enterprise Script) (`bsl`) | true | true | true | true |
| C (`c`) | true | true | true | true |
| C# (`csharp`) | true | true | true | true |
| C++ (`cpp`) | true | true | true | true |
| C3 (`c3`) | true | true | true | true |
| Caddyfile (`caddy`) | true | false | true | false |
| Cairo (`cairo`) | true | true | true | true |
| Cap'n Proto (`capnp`) | true | true | true | false |
| Cedar (`cedar`) | true | false | true | false |
| Cedar Schema (`cedarschema`) | true | false | true | false |
| CFML (`cfml`) | true | true | true | true |
| Chatito (`chatito`) | true | true | true | false |
| Circom (`circom`) | true | true | true | false |
| Clarity (`clarity`) | true | true | true | true |
| Clojure (`clojure`) | true | true | true | true |
| CMake (`cmake`) | true | true | true | false |
| COBOL (`cobol`) | true | true | true | true |
| CodeQL (`ql`) | true | true | true | true |
| Comments (`comment`) | true | true | true | false |
| Common Lisp (`commonlisp`) | true | true | true | true |
| Cooklang (`cooklang`) | true | false | true | false |
| Corn (`corn`) | true | true | true | false |
| CPON (`cpon`) | true | true | true | false |
| Crystal (`crystal`) | true | true | true | true |
| CSS (`css`) | true | true | true | true |
| CSV (`csv`) | true | true | true | false |
| CUDA (`cuda`) | true | true | true | true |
| CUE (`cue`) | true | true | true | false |
| Cylc (`cylc`) | true | true | true | false |
| Cython (`cython`) | true | true | true | true |
| D (`d`) | true | true | true | true |
| D2 (`d2`) | true | true | true | false |
| Dart (`dart`) | true | true | true | true |
| Desktop Entry (`desktop`) | true | false | true | false |
| Device Tree (`devicetree`) | true | true | true | false |
| Dhall (`dhall`) | true | true | true | false |
| Diff (`diff`) | true | false | true | false |
| Django HTML (`htmldjango`) | true | true | true | true |
| Djot (`djot`) | true | true | true | false |
| Dockerfile (`dockerfile`) | true | true | true | false |
| DOT (`dot`) | true | true | true | false |
| Doxygen (`doxygen`) | true | true | true | false |
| DTD (`dtd`) | true | true | true | false |
| Earthfile (`earthfile`) | true | false | true | false |
| EBNF (`ebnf`) | true | false | true | false |
| EditorConfig (`editorconfig`) | true | false | true | false |
| EDS (`eds`) | true | false | true | false |
| EEx (`eex`) | true | true | true | true |
| Elixir (`elixir`) | true | true | true | true |
| Elm (`elm`) | true | true | true | true |
| Elsa (`elsa`) | true | false | true | false |
| Elvish (`elvish`) | true | true | true | true |
| Emacs Lisp (`elisp`) | true | true | true | true |
| Embedded Template (`embeddedtemplate`) | true | true | true | true |
| Enforce (`enforce`) | true | false | true | true |
| Erlang (`erlang`) | true | true | true | true |
| F# (`fsharp`) | true | true | true | true |
| F# Signature (`fsharp_signature`) | true | true | true | true |
| Facility (`facility`) | true | false | true | false |
| Faust (`faust`) | true | false | true | true |
| Fennel (`fennel`) | true | true | true | true |
| FIDL (`fidl`) | true | false | true | false |
| FIRRTL (`firrtl`) | true | true | true | false |
| Fish Shell (`fish`) | true | true | true | true |
| Forth (`forth`) | true | true | true | true |
| Fortran (`fortran`) | true | true | true | true |
| Func (`func`) | true | true | true | true |
| GDScript (`gdscript`) | true | true | true | true |
| Git Attributes (`gitattributes`) | true | true | true | false |
| Git Commit (`gitcommit`) | true | true | true | false |
| Git Config (`git_config`) | true | false | true | false |
| Git Ignore (`gitignore`) | true | true | true | false |
| Git Rebase (`git_rebase`) | true | false | true | false |
| Gleam (`gleam`) | true | true | true | true |
| Glimmer (`glimmer`) | true | true | true | true |
| GLSL (`glsl`) | true | true | true | false |
| GN (`gn`) | true | true | true | false |
| Go (`go`) | true | true | true | true |
| Go Module (`gomod`) | true | true | true | false |
| Go Sum (`gosum`) | true | true | true | false |
| Go Template (`gotmpl`) | true | true | true | true |
| Godot Resource (`godot_resource`) | true | false | true | false |
| GraphQL (`graphql`) | true | true | true | true |
| Groovy (`groovy`) | true | true | true | true |
| GStreamer Launch (`gstlaunch`) | true | true | true | false |
| Hack (`hack`) | true | true | true | true |
| Hare (`hare`) | true | true | true | true |
| Haskell (`haskell`) | true | true | true | true |
| Haxe (`haxe`) | true | true | true | true |
| HCL (`hcl`) | true | true | true | false |
| HEEx (`heex`) | true | true | true | true |
| HLSL (`hlsl`) | true | true | true | true |
| Hoon (`hoon`) | true | true | true | true |
| HTML (`html`) | true | true | true | true |
| HTTP (`http`) | true | true | true | false |
| Hurl (`hurl`) | true | true | true | false |
| Hyprlang (`hyprlang`) | true | true | true | false |
| Idris (`idris`) | true | true | true | true |
| INI (`ini`) | true | true | true | false |
| Inko (`inko`) | true | true | true | true |
| ISPC (`ispc`) | true | true | true | true |
| Janet (`janet`) | true | true | true | true |
| Java (`java`) | true | true | true | true |
| JavaScript (`javascript`) | true | true | true | true |
| Jinja2 (`jinja2`) | true | false | true | true |
| jq (`jq`) | true | true | true | true |
| JSDoc (`jsdoc`) | true | true | true | false |
| JSON (`json`) | true | true | true | false |
| Jsonnet (`jsonnet`) | true | true | true | false |
| JSX (`jsx`) | true | true | true | true |
| Julia (`julia`) | true | true | true | true |
| Just (`just`) | true | true | true | false |
| Kconfig (`kconfig`) | true | true | true | false |
| KDL (`kdl`) | true | true | true | false |
| Kotlin (`kotlin`) | true | true | true | true |
| LaTeX (`latex`) | true | true | true | false |
| Lean 4 (`lean`) | true | true | true | true |
| Ledger (`ledger`) | true | true | true | false |
| Less (`less`) | true | false | true | true |
| Linker Script (`linkerscript`) | true | true | true | false |
| Liquid (`liquid`) | true | true | true | true |
| LLVM IR (`llvm`) | true | true | true | false |
| Logtalk (`logtalk`) | true | true | true | true |
| Lua (`lua`) | true | true | true | true |
| Lua Patterns (`luap`) | true | true | true | false |
| LuaDoc (`luadoc`) | true | true | true | false |
| Luau (`luau`) | true | true | true | true |
| Magik (`magik`) | true | true | true | true |
| Makefile (`make`) | true | true | true | false |
| Markdown (`markdown`) | true | true | true | false |
| Markdown Inline (`markdown_inline`) | true | true | true | false |
| MATLAB (`matlab`) | true | true | true | false |
| Mermaid (`mermaid`) | true | true | true | false |
| Meson (`meson`) | true | true | true | false |
| Mojo (`mojo`) | true | true | true | true |
| Move (`move`) | true | true | true | true |
| NASM (`nasm`) | true | true | true | true |
| NetLinx (`netlinx`) | true | true | true | false |
| Nginx (`nginx`) | true | false | true | false |
| Nickel (`nickel`) | true | true | true | false |
| Nim (`nim`) | true | true | true | true |
| Ninja (`ninja`) | true | true | true | false |
| Nix (`nix`) | true | true | true | false |
| Norg (`norg`) | true | true | true | false |
| NQC (`nqc`) | true | true | true | false |
| Nushell (`nushell`) | true | true | true | true |
| Nushell (`nu`) | true | true | true | true |
| Objective-C (`objective_c`) | true | true | true | true |
| Objective-C (alias) (`objc`) | true | true | true | true |
| Objective-C++ (`objective_cpp`) | true | true | true | true |
| OCaml (`ocaml`) | true | true | true | true |
| OCaml Interface (`ocaml_interface`) | true | true | true | true |
| Odin (`odin`) | true | true | true | true |
| OpenAPI (`openapi`) | true | true | true | false |
| OpenFOAM (`foam`) | true | false | true | false |
| Org Mode (`org`) | true | true | true | false |
| Pascal (`pascal`) | true | true | true | true |
| PEM Certificate (`pem`) | true | false | false | false |
| Perl (`perl`) | true | true | true | true |
| PGN (`pgn`) | true | true | true | false |
| PHP (`php`) | true | true | true | true |
| Pkl (`pkl`) | true | true | true | false |
| Plain Text (`text`) | true | false | false | false |
| PlantUML (`plantuml`) | true | true | true | false |
| PO (`po`) | true | true | true | false |
| Pony (`pony`) | true | true | true | true |
| PostScript (`postscript`) | true | false | true | true |
| PowerShell (`powershell`) | true | true | true | true |
| Printf (`printf`) | true | true | true | false |
| Prisma (`prisma`) | true | true | true | false |
| Prolog (`prolog`) | true | true | true | true |
| PromQL (`promql`) | true | true | true | false |
| Properties (`properties`) | true | true | true | false |
| Protocol Buffers (`protobuf`) | true | false | true | false |
| Protocol Buffers (Parser) (`proto`) | true | true | true | false |
| PSV (`psv`) | true | true | true | false |
| Pug (`pug`) | true | true | true | true |
| Puppet (`puppet`) | true | true | true | false |
| PureScript (`purescript`) | true | true | true | true |
| Python (`python`) | true | true | true | true |
| Python Manifest (`pymanifest`) | true | true | true | false |
| QML Directory (`qmldir`) | true | true | true | false |
| QML/JS (`qmljs`) | true | true | true | true |
| R (`r`) | true | true | true | true |
| Racket (`racket`) | true | true | true | true |
| Razor (`razor`) | true | true | true | true |
| RBS (`rbs`) | true | true | true | true |
| re2c (`re2c`) | true | true | true | false |
| Readline (`readline`) | true | true | true | false |
| Rego (`rego`) | true | true | true | true |
| Requirements (`requirements`) | true | true | true | false |
| ReScript (`rescript`) | true | true | true | true |
| reStructuredText (`restructuredtext`) | true | true | true | false |
| reStructuredText (rst) (`rst`) | true | false | true | false |
| Robot Framework (`robot`) | true | true | true | false |
| Roc (`roc`) | true | true | true | true |
| RON (`ron`) | true | true | true | false |
| Ruby (`ruby`) | true | true | true | true |
| Rust (`rust`) | true | true | true | true |
| SAS (`sas`) | true | true | true | true |
| Scala (`scala`) | true | true | true | true |
| Scheme (`scheme`) | true | true | true | true |
| SCSS (`scss`) | true | true | true | true |
| Slang (`slang`) | true | true | true | true |
| Smali (`smali`) | true | true | true | true |
| Smithy (`smithy`) | true | true | true | false |
| Snakemake (`snakemake`) | true | true | true | true |
| Solidity (`solidity`) | true | true | true | false |
| SourcePawn (`sourcepawn`) | true | true | true | true |
| SPARQL (`sparql`) | true | true | true | true |
| SQL (`sql`) | true | true | true | false |
| Squirrel (`squirrel`) | true | true | true | true |
| SSH Config (`ssh_config`) | true | true | true | false |
| Starlark (`starlark`) | true | true | true | true |
| SuperCollider (`supercollider`) | true | true | true | true |
| Svelte (`svelte`) | true | true | true | true |
| Sway (`sway`) | true | true | true | true |
| Swift (`swift`) | true | true | true | true |
| TableGen (`tablegen`) | true | true | true | false |
| Tact (`tact`) | true | true | true | false |
| Tcl (`tcl`) | true | true | true | true |
| Teal (`teal`) | true | true | true | true |
| Templ (`templ`) | true | true | true | true |
| Tera (`tera`) | true | true | true | true |
| Terraform (`terraform`) | true | true | true | false |
| Test (`test`) | true | true | true | false |
| Text Proto (`textproto`) | true | false | true | false |
| Thrift (`thrift`) | true | true | true | false |
| TLA+ (`tlaplus`) | true | true | true | false |
| Tmux (`tmux`) | true | false | true | false |
| Todo.txt (`todotxt`) | true | false | true | false |
| TOML (`toml`) | true | true | true | false |
| Tree-sitter Query (`query`) | true | true | true | true |
| TSV (`tsv`) | true | true | true | false |
| TSX (`tsx`) | true | true | true | true |
| Turtle (`turtle`) | true | false | true | false |
| Twig (`twig`) | true | true | true | true |
| TypeScript (`typescript`) | true | true | true | true |
| Typst (`typst`) | true | true | true | false |
| udev (`udev`) | true | true | true | false |
| Ungrammar (`ungrammar`) | true | true | true | false |
| Uxntal (`uxntal`) | true | true | true | true |
| V (`v`) | true | true | true | true |
| Vala (`vala`) | true | true | true | true |
| VB.NET (`vb_net`) | true | true | true | true |
| VBScript (`vbscript`) | true | false | false | false |
| Verilog (`verilog`) | true | true | true | false |
| VHDL (`vhdl`) | true | true | true | false |
| Vim Script (`vim`) | true | true | true | true |
| Vimdoc (`vimdoc`) | true | false | true | false |
| Visual Basic (`vb`) | true | false | true | true |
| Vue (`vue`) | true | true | true | true |
| WebAssembly Script (`wast`) | true | true | true | true |
| WebAssembly Text (`wat`) | true | true | true | true |
| WGSL (`wgsl`) | true | true | true | true |
| WIT (`wit`) | true | true | true | false |
| Wolfram Language (`wolfram`) | true | true | true | true |
| XCompose (`xcompose`) | true | true | true | false |
| XML (`xml`) | true | true | true | false |
| YAML (`yaml`) | true | true | true | false |
| Yuck (`yuck`) | true | true | true | false |
| Zig (`zig`) | true | true | true | true |
| Zsh (`zsh`) | true | true | true | true |

Σήμερα, 247 γλώσσες διαθέτουν δομική αναζήτηση βασισμένη σε AST. Κάθε γλώσσα της λίστας μπορεί να ευρετηριαστεί· η διαθεσιμότητα AST, συμβόλων και γράφου εμφανίζεται ξεχωριστά παρακάτω.
