By Orphoros and SarenDev
- Contains the Language.md file that describes the Arc language
- Example Arc codes
- Example1.arc - First 10 Fibonacci numbers
- Example2.arc - Check if a number is prime or not
- Example3.arc - Functions as parameters
- Example4.arc - User input
- Example5.arc - Print the first 10 prime numbers
- Example bad Arc codes that won't compile
- EdgeCaseExample1.arc - Call function that is not yet initialized
- EdgeCaseExample2.arc - If statement on the return value of a function that does not return a boolean value
- EdgeCaseExample3.arc - Too big integer literal
- EdgeCaseExample4.arc - Try to reach a variable from a function that is in its outer scope
- EdgeCaseExample5.arc - Pass a function to an other function that expects an other type of function
- Compiler package: Holds the TypeChecker and the CodeGenerator
- Exceptions package: Holds Arc Lang's custom CompilerException
- Jasmin package: Holds the DataType enum (used to check the expression types) and the MathInstr enum. These enums hold jasmin specific instructions
- typing package: Holds the SymbolTable and the models of the various symbols in the symbols package
The CompilerTest java class holds all of our black box unit tests. These tests contain bad weather and good weather unit tests and tests for the example Arc files found in the docs folder.
A TestReport file can be found in the test folder that shows the result of our tests.
Arc Lang's Antlr grammer file can be located in ArcLang.g4 file.
The util folder holds the files for a custom VS Code extension that aims to give syntax highlighting for ArcLang.
The Language.md in the docs folder shows structural examples of constructing various ArcLang statements. The docs folder holds more concrete examples in the .arc
files. Code comments are used there to explain how different actions were used.