Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fileName = "";
- const fs = require('fs');
- function readFormula(fileName) {
- let text = fs.readFileSync(fileName, 'utf8').split("\n")// an array containing lines of text extracted from the file.
- let qtVariables = 0;
- let qtClauses = 0;
- let lineOfClauses = "";
- for (let i = 0; i < text.length; i++) {
- let firstChar = text[i].charAt(0);
- if (firstChar == "c"){
- //does NOTHING
- } else if(firstChar == "p") {
- // coloca cada elemento da linha em pos.
- let pos = text[i].split(" ");
- // determina como inteiro a quantidade de variaveis e clausulas.
- qtVariables = parseInt(pos[2]);
- qtClauses = parseInt(pos[3]);
- } else {
- lineOfClauses = lineOfClauses.concat(" ", text[i]);
- };
- let clauseLine = lineOfClauses.split("0");
- };
- let clauses = readClauses(clauseLine)
- let variables = readVariables(clauses)
- // In the following line, text is passed as an argument so that the function
- // is able to extract the problem specification.
- let specOk = checkProblemSpecification(text, clauses, variables)
- let result = { 'clauses': [], 'variables': [] }
- if (specOk) {
- result.clauses = clauses
- result.variables = variables
- }
- return result
- }
- function readClauses (clauseLine){
- let clauses = [];
- for (let i = 0; i < clauseLine.length; i++) {
- let eachVariable = clauseLine[i].split(" ");
- for (let j = 0; j < eachVariable.length; j++){
- if (eachVariable[j] != ""){
- eachVariable.push(parseInt(eachVariable[j], 10));
- };
- };
- clauses.push(eachVariable);
- };
- return clauses;
- }
- function readVariables(qntVariables){
- let allZeros = [];
- for (let i = 0; i < qntVariables; i++){
- allZeros.push("0");
- };
- return allZeros;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement