-
Notifications
You must be signed in to change notification settings - Fork 319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add LLVM IR language module #1233
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good, just some small things.
languages/llvmir/src/main/java/de/jplag/llvmir/LLVMIRLanguage.java
Outdated
Show resolved
Hide resolved
languages/llvmir/src/test/java/de/jplag/llvmir/LLVMIRLanguageTest.java
Outdated
Show resolved
Hide resolved
languages/llvmir/src/test/java/de/jplag/llvmir/LLVMIRLanguageTest.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor issues.
languages/llvmir/src/main/java/de/jplag/llvmir/LLVMIRTokenType.java
Outdated
Show resolved
Hide resolved
[JPlag Plagiarism Detector] Kudos, SonarCloud Quality Gate passed! |
This PR adds a language module for the intermediate representation of LLVM.
The language module targets LLVM 15 and is based on the new language module structure.
The choice of tokens includes nesting tokens for functions and basic blocks and separate tokens for various elements. These include binary and bitwise instructions (like addition and or), memory operations (like load and store), terminator instructions (like branches), conversions, global variables, type definitions, constants and others.