Page Menu
Home
Xreate
Search
Configure Global Search
Log In
Docs
Questions
Repository
Issues
Patches
Internal API
Files
F2718298
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Feb 15, 11:41 PM
Size
27 KB
Mime Type
text/x-diff
Expires
Tue, Feb 17, 11:41 PM (1 d, 17 h)
Engine
blob
Format
Raw Data
Handle
237839
Attached To
rXR Xreate
View Options
diff --git a/.gitignore b/.gitignore
index f27ef5d..b7c4cca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,72 +1,79 @@
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Compiled Dynamic libraries
*.so
*.so.*
*.dylib
*.dll
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Qt-es
/.qmake.cache
/.qmake.stash
*.pro.user
*.pro.user.*
*.moc
moc_*.cpp
qrc_*.cpp
ui_*.h
Makefile*
*-build-*
# QtCreator
*.autosave
coco/*.old
coco/*~
*~
cpp/build-*/*
cpp/xreate-debug/*
cpp/xreate-release/*
cpp/.idea
cpp/CMakeLists.txt.user*
hs/*
project/*
nb*.xml
.*
target/*
/tools/phabricator/xreate-frontend/nbproject/private/
documentation/trash4/
+trash/
CMakeFiles/
gen-cpp/
-gen-php
+generated-cpp/
+gen-php/
+generated-js/
+books/
+build/
+coco/Parser.*
+coco/Scanner.*
diff --git a/cpp/src/pass/environmenttestspass.cpp b/cpp/src/pass/environmenttestspass.cpp
deleted file mode 100644
index bac56b7..0000000
--- a/cpp/src/pass/environmenttestspass.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * environmenttestspass.cpp
- *
- * Created on: Nov 17, 2015
- * Author: pgess
- */
-
-#include <string>
-#include <list>
-
-void
-EnvironmentTestsPass::run(){
-
- list<string> arftefacts = solver->query("depends(env())");
-
- //check artifacts
- for (artefact: artifacts){
- Function funcProbe = findProberForArtefact(artefact);
-
- result = funcProbe->run();
- results->save(result);
- }
-
- for (artefact: artefacts){
- if (results->getResult(artefact)){
- Function funcProvider = findProviderForArtefact(artefact);
- funcProvider->run();
- }
- }
-}
diff --git a/cpp/src/pass/environmenttestspass.h b/cpp/src/pass/environmenttestspass.h
deleted file mode 100644
index 651acda..0000000
--- a/cpp/src/pass/environmenttestspass.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * environmenttestspass.h
- *
- * Created on: Nov 17, 2015
- * Author: pgess
- */
-
-#ifndef SRC_PASS_ENVIRONMENTTESTSPASS_H_
-#define SRC_PASS_ENVIRONMENTTESTSPASS_H_
-
-
-
-class EnvironmentTestsPass {
-
-}
-
-#endif /* SRC_PASS_ENVIRONMENTTESTSPASS_H_ */
diff --git a/cpp/src/query/ptrvalid.cpp b/cpp/src/query/ptrvalid.cpp
deleted file mode 100644
index ff31d76..0000000
--- a/cpp/src/query/ptrvalid.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * QueryPtrValid.cpp
- *
- * Created on: Jun 17, 2015
- * Author: pgess
- */
-
-#include <query/ptrvalid.h>
-
-using namespace xreate;
-
-bool
-QueryPtrValid::assertValidPtr(const Symbol& s) {
- return false;
-}
diff --git a/cpp/src/query/ptrvalid.h b/cpp/src/query/ptrvalid.h
deleted file mode 100644
index 02794c5..0000000
--- a/cpp/src/query/ptrvalid.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * QueryPtrValid.h
- *
- * Created on: Jun 17, 2015
- * Author: pgess
- */
-
-#ifndef SRC_QUERY_PTRVALID_H_
-#define SRC_QUERY_PTRVALID_H_
-
-#include <clasplayer.h>
-
-namespace xreate {
-
-class QueryPtrValid: public xreate::IQuery {
-public:
- QueryPtrValid();
- virtual void init(ClaspLayer* clasp);
-
- static bool assertValidPtr(const Symbol& s);
-};
-
-}
-#endif /* SRC_QUERY_PTRVALID_H_ */
diff --git a/cpp/tests/adhoc-skipdetection.cpp b/cpp/tests/adhoc-skipdetection.cpp
deleted file mode 100644
index 6dcb4f5..0000000
--- a/cpp/tests/adhoc-skipdetection.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * skipdetection.cpp
- *
- * Created on: Jul 10, 2015
- * Author: pgess
- */
-
-#include "passmanager.h"
-#include "clasplayer.h"
-#include "gtest/gtest.h"
-
-using namespace xreate;
-using namespace std;
-
-//TASK implement loop "skip" command
-TEST(Adhoc_Loop_SkipDetection, DISABLED_testNoneValueTagExists){
- PassManager* man = PassManager::prepareForCode
- ("test = function:: int; entry {\n"
- " data = [1..5]::[int].\n"
- " \n"
- " result = loop fold(data->i::int, 0->sum)::int{\n"
- " if (i==3)::bool {valNull = null. valNull} else {i+sum}\n"
- " }.\n"
- " \n"
- " result\n"
- "}");
-
- man->runWithoutCompilation();
- ClaspLayer::ModelFragment answer = man->clasp->query(Config::get("clasp.nonevalue"));
- int countNoneValue = 0;
- if (answer)
- countNoneValue = std::distance(answer->first, answer->second);
- EXPECT_EQ(1, countNoneValue);
-}
diff --git a/cpp/tests/diagnostic-messages.cpp b/cpp/tests/diagnostic-messages.cpp
deleted file mode 100644
index 66d2db1..0000000
--- a/cpp/tests/diagnostic-messages.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * diagnostic-messages.cpp
- *
- * Created on: Oct 27, 2015
- * Author: pgess
- */
-
-#include "passmanager.h"
-#include "pass/dfapass.h"
-
-#include "gtest/gtest.h"
-
-using namespace std;
-using namespace xreate;
-
-TEST(Diagnostic, DISABLED_DFA_recursion1){
-
- //TODO Error while processing recursion, There should be some diagnostic complaints here
- std::string code = \
- "test1 = function::[int] {\n"
- " varRecursion = loop map(varRecursion->el:: int)::[int]{\n"
- " el\n"
- " }.\n"
- " \n"
- " varRecursion\n"
- "}";
-
- PassManager* man = PassManager::prepareForCode(move(code));
- DFAPass* pass = new DFAPass(man);
- pass->run();
- pass->finish();
-}
diff --git a/cpp/tests/installation.cpp b/cpp/tests/installation.cpp
deleted file mode 100644
index 19c48b8..0000000
--- a/cpp/tests/installation.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * installation.cpp
- *
- * Created on: 26 Feb 2016
- * Author: pgess
- */
-
-#include "passmanager.h"
-#include "gtest/gtest.h"
-#include <stdio.h>
-using namespace std;
-using namespace xreate;
-
-//TODO replace string identifiers with Atoms in order to hold position, etc
-//TODO enable tests. Depends on context loop(test: Context.full_LoopContext)
-TEST(Sprint1, DISABLED_test1){
- const string filenameSource("scripts/testspass/sprint1-Installation1.xreate");
- FILE* fileSource;
- ASSERT_TRUE(fileSource = fopen(filenameSource.c_str(), "rb"));
-
- PassManager* man = PassManager::prepareForCode(fileSource);
- man->run();
-}
diff --git a/cpp/tests/pass-Logger.cpp b/cpp/tests/pass-Logger.cpp
deleted file mode 100644
index e74577b..0000000
--- a/cpp/tests/pass-Logger.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * testLogging.cpp
- *
- * Created on: Jun 23, 2015
- * Author: pgess
- */
-
-#include <pass/loggerpass.h>
-#include "gtest/gtest.h"
-#include "passmanager.h"
-#include "llvmlayer.h"
-#include "Parser.h"
-
-using namespace std;
-using namespace xreate;
-
-//TODO fix logger and enable tests.
-TEST(LoggerPass, DISABLED_simpleInjection){
- PassManager* man = PassManager::prepareForCode("test= function():: int; entry{x = 2+8::int. return x}");
-
- man->runWithoutCompilation();
- CompilePass* compiler = new CompilePass(man);
- compiler->run();
-
- compilation::FunctionUnit* fTest = compiler->getFunctionUnit(man->root->findFunction("test"));
- ASSERT_NE(fTest, nullptr);
- compilation::CodeScopeUnit* scopeUnitTest = fTest->getEntry();
- CodeScope* scopeTest = scopeUnitTest->scope;
- Symbol symbX = scopeTest->findSymbol("x");
- TypeAnnotation typX = CodeScope::findDeclaration(symbX).type;
-
- llvm::Value* retRaw = scopeUnitTest->compile();
- llvm::BasicBlock& blockTestRaw = fTest->raw->getEntryBlock();
-
- LLVMLayer* llvm = man->llvm;
- //llvm->builder.SetInsertPoint(&blockTestRaw);
- compilation::Context params{scopeUnitTest, fTest, compiler};
-
- LoggerPass l(man);
- l.inject(symbX, params);
-
-
- llvm->initJit();
- int (*f)() = (int(*)()) llvm->getFunctionPointer(fTest->raw);
- testing::internal::CaptureStdout();
- f();
- std::string&& output = testing::internal::GetCapturedStdout();
- EXPECT_STREQ("10\n", output.c_str());
-}
-
-TEST(LoggerPass, DISABLED_simpleInjection2){
- PassManager* man = PassManager::prepareForCode("test= function():: int; entry{x = 2+8::int; logging. x}");
-
- man->runWithoutCompilation();
- CompilePass* compiler= new CompilePass(man);
- compiler->run();
-
- LoggerPass* logger = new LoggerPass(man);
- logger->initDependencies(compiler);
- logger->run();
-
- man->llvm->initJit();
- man->llvm->print();
- int (*f)() = (int(*)()) man->llvm->getFunctionPointer(compiler->getEntryFunction());
- testing::internal::CaptureStdout();
- f();
- std::string&& output = testing::internal::GetCapturedStdout();
- EXPECT_STREQ("10\n", output.c_str());
-}
-
-TEST(LoggerPass, DISABLED_simpleInjection3){
- FILE* input = fopen("scripts/cases/log.xreate","r");
- assert(input);
-
- std::unique_ptr<PassManager> program(PassManager::prepareForCode(input));
- void* mainPtr = program->run();
- int (*main)() = (int (*)())(intptr_t)mainPtr;
-
- int answer = main();
-
- fclose(input);
-}
-
-
-
-
diff --git a/cpp/tests/pointers.cpp b/cpp/tests/pointers.cpp
deleted file mode 100644
index e2e05a9..0000000
--- a/cpp/tests/pointers.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "gtest/gtest.h"
-
-TEST(Pointers, DISABLED_validptr1){
-
-}
-
-TEST(Pointers, DISABLED_localscopeptr1){
-
-}
diff --git a/cpp/tests/safety.cpp b/cpp/tests/safety.cpp
deleted file mode 100644
index e69de29..0000000
diff --git a/cpp/tests/testClangAPI.cpp b/cpp/tests/testClangAPI.cpp
deleted file mode 100644
index a1d96ce..0000000
--- a/cpp/tests/testClangAPI.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-//
-// Created by pgess on 4/16/15.
-//
-
-#include "gtest/gtest.h"
-
-#include <llvm/IR/DerivedTypes.h>
-#include "clang/Driver/Options.h"
-#include "clang/AST/AST.h"
-#include "clang/AST/ASTContext.h"
-#include "clang/AST/ASTConsumer.h"
-#include "clang/AST/RecursiveASTVisitor.h"
-#include "clang/Frontend/ASTConsumers.h"
-#include "clang/Frontend/FrontendActions.h"
-#include "clang/Frontend/CompilerInstance.h"
-#include "clang/Tooling/CommonOptionsParser.h"
-#include "clang/Tooling/Tooling.h"
-#include "clang/Rewrite/Core/Rewriter.h"
-#include "clang/ASTMatchers/ASTMatchers.h"
-#include "clang/ASTMatchers/ASTMatchFinder.h"
-#include "clang/CodeGen/CodeGenAction.h"
-#include "clang/CodeGen/CodeGenABITypes.h"
-#include "llvm/IR/LLVMContext.h"
-#include "clang/Basic/TargetInfo.h"
-#include <boost/format.hpp>
-
-#include "../../vendors/clang-codegen-private-3.8/CodeGenModule.h"
-
-
-using namespace std;
-using namespace clang;
-using namespace clang::driver;
-using namespace clang::tooling;
-using namespace clang::ast_matchers;
-using namespace llvm;
-
-/*
-class PrintFunctionsConsumer : public ASTConsumer {
-public:
- bool HandleTopLevelDecl(DeclGroupRef DG) override {
- for (DeclGroupRef::iterator i = DG.begin(), e = DG.end(); i != e; ++i) {
- const Decl *D = *i;
- if (const NamedDecl *ND = dyn_cast<NamedDecl>(D))
- llvm::errs() << "top-level-decl: \"" << ND->getNameAsString() << "\"\n";
- }
-
- return true;
- }
-};
-
-class PFAction : public ASTFrontendAction {
-public:
- virtual std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI, StringRef file) {
- return llvm::make_unique<PrintFunctionsConsumer>();
- }
-};
-*/
-
-class PrinterType : public MatchFinder::MatchCallback {
-public :
- virtual void run(const MatchFinder::MatchResult &Result) {
- ASTContext* C = Result.Context;
- llvm::Module* M = new llvm::Module("module1", llvm::getGlobalContext());
- if (const TypedefDecl* decl = Result.Nodes.getNodeAs<clang::TypedefDecl>("typename")) {
- QualType Ty = decl->getUnderlyingType();
-
- llvm::errs() << "<" << Ty.getAsString() << ">" ;
-
- M->setDataLayout(C->getTargetInfo().getDataLayoutString());
- CodeGen::CodeGenModule *CGM = new CodeGen::CodeGenModule(
- *C,
- *(new HeaderSearchOptions()),
- *(new PreprocessorOptions()),
- *(new CodeGenOptions()),
- *M,
- C->getDiagnostics());
-
- llvm::Type *rawTy = CGM->getTypes().ConvertType(Ty);
-
- rawTy->dump();
- results.push_back(rawTy);
- }
- }
-
- std::vector<llvm::Type*> results;
-};
-
-class PrinterFunction: public MatchFinder::MatchCallback {
-public :
- virtual void run(const MatchFinder::MatchResult &Result) {
- if (const FunctionDecl* decl = Result.Nodes.getNodeAs<clang::FunctionDecl>("function")) {
- QualType Ty = decl->getType();
-
- llvm::errs() << "<" << Ty.getAsString() << ">" ;
- ASTContext* C = Result.Context;
- llvm::Module* M = new llvm::Module("module1", llvm::getGlobalContext());
-
- CodeGen::CodeGenModule *CGM = new CodeGen::CodeGenModule(
- *C,
- *(new HeaderSearchOptions()),
- *(new PreprocessorOptions()),
- *(new CodeGenOptions()),
- *M,
- C->getDiagnostics());
-
- llvm::Type *rawTy = CGM->getTypes().ConvertType(Ty);
-
- //const clang::FunctionType* Ty = decl->getType()->getAs<clang::FunctionType>();
- llvm::FunctionType* rawFuncTy = llvm::dyn_cast<llvm::FunctionType>(rawTy);
- rawFuncTy->dump();
- results.push_back(rawFuncTy);
-
- /*
- llvm::Function* fDeclaration = llvm::Function::Create(rawFuncTy, llvm::GlobalValue::ExternalLinkage, "xxxx", M);
- fDeclaration->dump();
- */
- }
- }
-
- std::vector<llvm::Type*> results;
-};
-
-//DEBT fix dependency on clasp/gcc version
-vector<string> argv = {
- "-I/usr/include/libxml2"
- ,"-I/usr/local/include"
- ,"-I/usr/lib/llvm-3.6/lib/clang/3.6.0/include"
- ,"-I/usr/include"
-};
-
-TEST(ClangAPI, testExternalType)
-{
-
- //,, "-I/usr/include/linux"
-// "-cc1", "-emit-pch", "-disable-free", "-disable-llvm-verifier", "-mrelocation-model", "static",
-// "-mthread-model", "posix", "-mdisable-fp-elim", "-fmath-errno", "-masm-verbose",
-// "-mconstructor-aliases", "-munwind-tables", "-fuse-init-array", "-target-cpu", "x86-64", "-target-linker-version", "2.25",
- //"-dwarf-column-info", "-resource-dir", "/usr/lib/llvm-3.7/bin/../lib/clang/3.7.0",
- //"clang", "--",
-
-
- /*
- int argc= argv.size();
-
- llvm::cl::OptionCategory cat("aaaa");
- LLVMInitializeNativeTarget();
- CommonOptionsParser op(argc, &*(argv.begin()), cat);
- ClangTool tool(op.getCompilations(), op.getSourcePathList());
- */
-
- auto matcherType =
- typedefDecl(hasName("xmlNodePtr")).bind("typename");
-
- MatchFinder finder;
- PrinterType printer;
- finder.addMatcher(matcherType, &printer);
-
- std::string code = (boost::format("#include \"%1%\"") % ("libxml/tree.h")).str();
- //runToolOnCodeWithArgs(newFrontendActionFactory(&finder).get()->create(), code, argv);
-
- std::unique_ptr<ASTUnit> ast = buildASTFromCodeWithArgs(code, argv);
- ASTContext & context = ast->getASTContext();
- finder.matchAST(context);
-
- string signatureExpected = "%struct._xmlNode*";
- ASSERT_EQ(1, printer.results.size());
-
- llvm::Type* tyActual = printer.results.at(0);
- string strActual;
- llvm::raw_string_ostream ss(strActual);
- tyActual->print(ss);
- ASSERT_EQ(signatureExpected, ss.str());
-
- //int x = tool.run(newFrontendActionFactory(&finder).get());
-}
-
-TEST(ClangAPI, testExternalFunction){
- auto matcherType = functionDecl(hasName("arc4random")).bind("function");
-
- MatchFinder finder;
- PrinterFunction printer;
- finder.addMatcher(matcherType, &printer);
-
- std::string code = (boost::format("#include \"%1%\"") % ("bsd/stdlib.h")).str();
- std::unique_ptr<ASTUnit> ast = buildASTFromCodeWithArgs(code, argv);
- ASTContext & context = ast->getASTContext();
- finder.matchAST(context);
-
- string signatureExpected = "i32 ()";
- ASSERT_EQ(1, printer.results.size());
-
- llvm::Type* tyActual = printer.results.at(0);
- string strActual;
- llvm::raw_string_ostream ss(strActual);
- tyActual->print(ss);
- ASSERT_EQ(signatureExpected, ss.str());
-}
diff --git a/cpp/tests/testExploitation.cpp b/cpp/tests/testExploitation.cpp
deleted file mode 100644
index 88cbc4d..0000000
--- a/cpp/tests/testExploitation.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
-
-#include "passmanager.h"
-
-#include "gtest/gtest.h"
-#include <boost/scoped_ptr.hpp>
-
-using namespace xreate;
-using namespace std;
-
-//TEST(Exploitation, append1){
-// std::string program =
-//R"CODE(
-//
-//test1 = function :: num; entry {
-// appendA() + appendB()
-//}
-//
-//appendA = function:: num {
-// append("a", "/tmp/test1.txt")
-//}
-//
-//appendB = function:: num {
-// append("b", "/tmp/test1.txt")
-//}
-//
-//append = function(msg::string, filename::string):: num
-//{
-// f = initialize(filename):: FILE.
-//
-// fprintf(f, msg)
-//}
-//
-//)CODE";
-//
-// boost::scoped_ptr<PassManager> man(PassManager::prepareForCode(move(program)));
-// man->runWithoutCompilation();
-//}
-
-#include <iostream>
-#include <gringo/scripts.hh>
-#include "clasplayer.h"
-
-TEST(Exploitation, clasp1){
-}
diff --git a/cpp/tests/testJson.cpp b/cpp/tests/testJson.cpp
deleted file mode 100644
index 18e59cb..0000000
--- a/cpp/tests/testJson.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "utils.h"
-#include "gtest/gtest.h"
-using namespace std;
-using namespace xreate;
-
-TEST(JSON, Test1){
- string key = Config::get("containers.id.implementations");
- EXPECT_EQ("impl_fulfill_cluster", key);
-}
diff --git a/cpp/tests/testLibXml2.cpp b/cpp/tests/testLibXml2.cpp
deleted file mode 100644
index a095373..0000000
--- a/cpp/tests/testLibXml2.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Created by pgess on 3/28/15.
-//
-#include <libxml/xmlmemory.h>
-#include <libxml/parser.h>
-#include <gtest/gtest.h>
-
-using namespace std;
-
-TEST(libxml2, ReadXML)
-{
- char* docname = "project/documentation.fodt";
- xmlDocPtr doc;
- xmlNodePtr cur;
- doc = xmlParseFile(docname);
- if (doc == NULL ) {
- fprintf(stderr,"Document not parsed successfully. \n");
- return;
- }
- cur = xmlDocGetRootElement(doc);
- if (cur == NULL) {
- fprintf(stderr,"empty document\n");
- xmlFreeDoc(doc);
- return;
- }
-
- cur = cur->xmlChildrenNode;
- int count =0;
- while (cur != NULL) {
- printf("child: %s\n", cur->name);
- cur = cur->next;
- count ++;
- }
-
- ASSERT_EQ(17, count);
-}
diff --git a/cpp/tests/upcoming.cpp b/cpp/tests/upcoming.cpp
deleted file mode 100644
index fc248d1..0000000
--- a/cpp/tests/upcoming.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "gtest/gtest.h"
-
-TEST(AST, DISABLED_functionModification){
- //x = find single (...), where single - is a modification sign of a base function 'find'
-}
diff --git a/cpp/tests/xml.cpp b/cpp/tests/xml.cpp
deleted file mode 100644
index 13b312a..0000000
--- a/cpp/tests/xml.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-#include "passmanager.h"
-#include "gtest/gtest.h"
-#include <stdio.h>
-
-using namespace xreate;
-
-TEST(Xml, DISABLED_Main){
- FILE* input = fopen("scripts/testspass/xml-test1.xreate", "r");
- assert(input);
-
- std::unique_ptr<PassManager> program(PassManager::prepareForCode(input));
-
- void* mainPtr = program->run();
- int (*main)() = (int (*)())(intptr_t)mainPtr;
-
- int answer = main();
-}
-
-TEST(Xml, DISABLED_AliasTuple){
-
-}
-
-TEST(Xml, DISABLED_FoldProtoEnhanced){
-
-}
-
-TEST(Xml, DISABLED_TransfucPropagation){
-
-}
diff --git a/documentation/Aspects/Security and safety/pointers_safety.remarkup b/documentation/Aspects/Security and safety/pointers_safety.remarkup
index 7d659c0..b601d91 100644
--- a/documentation/Aspects/Security and safety/pointers_safety.remarkup
+++ b/documentation/Aspects/Security and safety/pointers_safety.remarkup
@@ -1 +1,3 @@
-safety checks against invalid values (like validptr, etc)
\ No newline at end of file
+safety checks against invalid values (like validptr, etc)
+
+NOTE: there is unfinished query/ptrvalid.* in the file tree
\ No newline at end of file
diff --git a/documentation/Internal/todo.remarkup b/documentation/Internal/todo.remarkup
deleted file mode 100644
index 37344cf..0000000
--- a/documentation/Internal/todo.remarkup
+++ /dev/null
@@ -1,2 +0,0 @@
-* syntax/switch: mention about a case body scope is a subscope (or a child) of a case parameters scope
- (as of now expression resolution only, not for annotations resolution)
diff --git a/documentation/development/files.remarkup b/documentation/development/files.remarkup
index 40b54c5..7343513 100644
--- a/documentation/development/files.remarkup
+++ b/documentation/development/files.remarkup
@@ -1,116 +1,47 @@
|Filename|Description|Unittests|
| ___ | ___ | ___ |
-| analysis/cfagraph.*, /pass/cfapass.h | CFA | |
-| analysis/dfagraph.*, | DFA | |
-| analysis/DominatorsTreeAnalysisProvider.* | Dominators analysis ||
-| compilation/advanced.* | Additional constructions compilation
-| compilation/containers.h | Containers support
-
-
-
-
+| analysis/cfagraph.*, /pass/cfapass.* | CFA | tests/cfa.cpp |
+| analysis/DominatorsTreeAnalysisProvider.* | Dominators analysis | tests/cfa.cpp|
+| analysis/dfagraph.*, /pass/dfapass.* | DFA | tests/dfa.cpp |
+| compilation/advanced.* | Additional constructions compilation ||
+| compilation/containers.*, query/containers.* | Containers support | tests/containers.cpp|
+| query/context.* || CFA/Context support | tests/context.cpp |
+| compilation/latecontextcompiler2.*, serialization/expressionserializer* | Late context support | tests/context.cpp, tests/ExpressionSerializer.cpp |
+| pass/interpretationpass.*, compilation/targetinterpretation.* | DSL/Interpretation | tests/interpretation.cpp |
+| pass/adhocpass.*| "Adhocs" feature support |tests/adhoc.cpp|
+| src/ast.*, pass/compilepass.* | Main compilation routines | tests/compilation.cpp, tests/basic.cpp, tests/loops.cpp, tests/ast.cpp, tests/types.cpp|
+| pass/loggerpass.* | Logging support ||
+| pass/rulespass.* | logic rules support ||
+| src/contextrule.h | Context rules support ||
+| src/clasplayer.* | Logic inference support ||
+| src/llvmlayer.* | Low level byte code compilation
+| src/ExternLayer.* | Foreign Function Interface(FFI/C) support | tests/externc.cpp |
+| src/passmanager.* | Manages analysis and compilation passes
+
+
+====================================================================================================
analysis
file:///private/prg/code/xreate/cpp/src/analysis/aux.h
file:///private/prg/code/xreate/cpp/src/analysis/aux.cpp
-
compilation
- file:///private/prg/code/xreate/cpp/src/
- file:///private/prg/code/xreate/cpp/src/
- file:///private/prg/code/xreate/cpp/src/compilation/latecontextcompiler.h
- file:///private/prg/code/xreate/cpp/src/compilation/latecontextcompiler2.h
- file:///private/prg/code/xreate/cpp/src/compilation/targetinterpretation.h
file:///private/prg/code/xreate/cpp/src/compilation/targets.h
file:///private/prg/code/xreate/cpp/src/compilation/transformations.h
- file:///private/prg/code/xreate/cpp/src/compilation/advanced.cpp
- file:///private/prg/code/xreate/cpp/src/compilation/containers.cpp
- file:///private/prg/code/xreate/cpp/src/compilation/latecontextcompiler.cpp
- file:///private/prg/code/xreate/cpp/src/compilation/latecontextcompiler2.cpp
- file:///private/prg/code/xreate/cpp/src/compilation/targetinterpretation.cpp
file:///private/prg/code/xreate/cpp/src/compilation/transformations.cpp
pass/
file:///private/prg/code/xreate/cpp/src/pass/abstractpass.h
- file:///private/prg/code/xreate/cpp/src/pass/adhocpass.h
- file:///private/prg/code/xreate/cpp/src/pass/cfapass.h
- file:///private/prg/code/xreate/cpp/src/pass/compilepass.h
- file:///private/prg/code/xreate/cpp/src/pass/dfapass.h
- file:///private/prg/code/xreate/cpp/src/pass/environmenttestspass.h
- file:///private/prg/code/xreate/cpp/src/pass/interpretationpass.h
- file:///private/prg/code/xreate/cpp/src/pass/loggerpass.h
- file:///private/prg/code/xreate/cpp/src/pass/rulespass.h
file:///private/prg/code/xreate/cpp/src/pass/abstractpass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/adhocpass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/cfapass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/compilepass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/dfapass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/environmenttestspass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/interpretationpass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/loggerpass.cpp
- file:///private/prg/code/xreate/cpp/src/pass/rulespass.cpp
-
-query:
- file:///private/prg/code/xreate/cpp/src/query/containers.h
- file:///private/prg/code/xreate/cpp/src/query/context.h
- file:///private/prg/code/xreate/cpp/src/query/ptrvalid.h
- file:///private/prg/code/xreate/cpp/src/query/containers.cpp
- file:///private/prg/code/xreate/cpp/src/query/context.cpp
- file:///private/prg/code/xreate/cpp/src/query/ptrvalid.cpp
-serialization
- file:///private/prg/code/xreate/cpp/src/serialization/expressionserializer.h
- file:///private/prg/code/xreate/cpp/src/serialization/expressionserializer2.h
- file:///private/prg/code/xreate/cpp/src/serialization/expressionserializer.cpp
- file:///private/prg/code/xreate/cpp/src/serialization/expressionserializer2.cpp
-
+query:
src
- file:///private/prg/code/xreate/cpp/src/ast.h
- file:///private/prg/code/xreate/cpp/src/attachments.h
- file:///private/prg/code/xreate/cpp/src/clasplayer.h
- file:///private/prg/code/xreate/cpp/src/contextrule.h
- file:///private/prg/code/xreate/cpp/src/ExternLayer.h
- file:///private/prg/code/xreate/cpp/src/llvmlayer.h
- file:///private/prg/code/xreate/cpp/src/passmanager.h
+ src/attachments.*
file:///private/prg/code/xreate/cpp/src/serialization.h
file:///private/prg/code/xreate/cpp/src/utils.h
- file:///private/prg/code/xreate/cpp/src/ast.cpp
- file:///private/prg/code/xreate/cpp/src/attachments.cpp
- file:///private/prg/code/xreate/cpp/src/clasplayer.cpp
- file:///private/prg/code/xreate/cpp/src/contextrule.cpp
- file:///private/prg/code/xreate/cpp/src/ExternLayer.cpp
- file:///private/prg/code/xreate/cpp/src/llvmlayer.cpp
- file:///private/prg/code/xreate/cpp/src/passmanager.cpp
- file:///private/prg/code/xreate/cpp/src/utils.cpp
- file:///private/prg/code/xreate/cpp/src/CMakeLists.txt
tests
- file:///private/prg/code/xreate/cpp/tests/testClangAPI.h
- file:///private/prg/code/xreate/cpp/tests/adhoc-skipdetection.cpp
- file:///private/prg/code/xreate/cpp/tests/adhoc.cpp
- file:///private/prg/code/xreate/cpp/tests/ast.cpp
- file:///private/prg/code/xreate/cpp/tests/basic.cpp
- file:///private/prg/code/xreate/cpp/tests/cfa.cpp
- file:///private/prg/code/xreate/cpp/tests/compilation.cpp
- file:///private/prg/code/xreate/cpp/tests/containers.cpp
- file:///private/prg/code/xreate/cpp/tests/context.cpp
- file:///private/prg/code/xreate/cpp/tests/dfa.cpp
- file:///private/prg/code/xreate/cpp/tests/diagnostic-messages.cpp
- file:///private/prg/code/xreate/cpp/tests/ExpressionSerializer.cpp
- file:///private/prg/code/xreate/cpp/tests/externc.cpp
- file:///private/prg/code/xreate/cpp/tests/installation.cpp
- file:///private/prg/code/xreate/cpp/tests/interpretation.cpp
- file:///private/prg/code/xreate/cpp/tests/loops.cpp
- file:///private/prg/code/xreate/cpp/tests/main.cpp
- file:///private/prg/code/xreate/cpp/tests/pass-Logger.cpp
- file:///private/prg/code/xreate/cpp/tests/pointers.cpp
- file:///private/prg/code/xreate/cpp/tests/safety.cpp
file:///private/prg/code/xreate/cpp/tests/testClangAPI.cpp
- file:///private/prg/code/xreate/cpp/tests/testExploitation.cpp
file:///private/prg/code/xreate/cpp/tests/testJson.cpp
file:///private/prg/code/xreate/cpp/tests/testLibXml2.cpp
- file:///private/prg/code/xreate/cpp/tests/types.cpp
- file:///private/prg/code/xreate/cpp/tests/upcoming.cpp
- file:///private/prg/code/xreate/cpp/tests/xml.cpp
- file:///private/prg/code/xreate/cpp/tests/CMakeLists.txt
-
\ No newline at end of file
+
Event Timeline
Log In to Comment