Filtering out commets at the start of parsing. (#1)
All checks were successful
CI / build-and-test (push) Successful in 53s
All checks were successful
CI / build-and-test (push) Successful in 53s
This commit is contained in:
parent
713ebb1f89
commit
d78980316e
@ -1,5 +1,6 @@
|
||||
project('oak', ['cpp'],
|
||||
version: '0.1.0',
|
||||
default_options : ['cpp_std=c++20'],
|
||||
)
|
||||
|
||||
add_project_arguments('-fPIC', language: 'cpp')
|
||||
|
||||
@ -51,4 +51,6 @@ private:
|
||||
protected:
|
||||
};
|
||||
|
||||
typedef Lexer<FaustTokens>::Lexeme FaustLexeme;
|
||||
|
||||
} // namespace faust
|
||||
|
||||
@ -6,10 +6,11 @@
|
||||
#include <stdexcept>
|
||||
|
||||
#include "unicode/regex.h"
|
||||
#include "unicode/utypes.h"
|
||||
|
||||
|
||||
#include "faust-lib/common/core.h"
|
||||
#include "faust-lib/common/vector.h"
|
||||
#include "unicode/utypes.h"
|
||||
|
||||
namespace faust {
|
||||
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
#include "parser.h"
|
||||
|
||||
faust::Parser::Parser(String input) {
|
||||
// TODO: Implement
|
||||
faust::AstNodePtr faust::parseFaustProgram(const std::vector<faust::FaustLexeme> &tokens) {
|
||||
auto filteredTokens = tokens;
|
||||
std::erase_if(filteredTokens, [](const faust::FaustLexeme &lexeme) {
|
||||
return lexeme.token == faust::FaustTokens::TK_COMMENT || lexeme.token == faust::FaustTokens::TK_MULTILINE_COMMENT;
|
||||
});
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "faust-lib/common/string.h"
|
||||
#include <memory>
|
||||
|
||||
#include "faust-lib/common/core.h"
|
||||
#include "faust-lib/parser/faustLexer.h"
|
||||
|
||||
namespace faust {
|
||||
|
||||
class Parser {
|
||||
public:
|
||||
Parser(String input);
|
||||
class AstNode;
|
||||
typedef std::shared_ptr<AstNode> AstNodePtr;
|
||||
|
||||
private:
|
||||
protected:
|
||||
};
|
||||
AstNodePtr parseFaustProgram(const Vector<FaustLexeme> &tokens);
|
||||
|
||||
} // namespace faust
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user