Arthur is a semantic language-agnostic UAST (universal abstract syntax tree) schema generator which uses source code as input and outputs unilingual and omnilingual ontologies derived from those language(s). Arthur parses source code using Babelfish and constructs the observed schema for use in a Grakn knowledge graph.
Languages | Segments |
---|---|
Bash, C++, C#, Go, Java, JavaScript, PHP, Python, Ruby | Arthur_Omnilingual_Base_Structure.gql Arthur_Omnilingual_Semantic_Roles.gql |
- If/ElseIf/Else
- Switch/SwitchCase
- Try/Catch/Finally
- ForLoop
- ForEachLoop
- WhileLoop
- DoWhileLoop
- AndOperator
- OrOperator
- TernaryOperator
- RelationalOperator
- IsEqualOperator/IsNotEqualOperator
- IsEqualTypeOperator/IsNotEqualTypeOperator
- DeclareVariableOperator
- InitializeVariableOperator
- Child
- Function
- InternalRole
- Language
- Literal
- Multi
- Name
- Role
- Token
- Type
- Wildcard