xvm/compile/wabt/src/wast-lexer.h
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*
* Copyright 2016 WebAssembly Community Group participants
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef WABT_WAST_LEXER_H_
#define WABT_WAST_LEXER_H_
#include <cstddef>
#include <cstdio>
#include <memory>
#include "src/common.h"
#include "src/lexer-source-line-finder.h"
#include "src/literal.h"
#include "src/make-unique.h"
#include "src/opcode.h"
#include "src/token.h"
namespace wabt {
class ErrorHandler;
class LexerSource;
class WastParser;
class WastLexer {
public:
WABT_DISALLOW_COPY_AND_ASSIGN(WastLexer);
WastLexer(std::unique_ptr<LexerSource> source, string_view filename);
~WastLexer();
// Convenience functions.
static std::unique_ptr<WastLexer> CreateBufferLexer(string_view filename,
const void* data,
size_t size);
Token GetToken(WastParser* parser);
Result Fill(size_t need);
// TODO(binji): Move this out of the lexer.
std::unique_ptr<LexerSourceLineFinder> MakeLineFinder() {
return MakeUnique<LexerSourceLineFinder>(source_->Clone());
}
private:
Location GetLocation();
Literal MakeLiteral(LiteralType);
std::string GetText(size_t at = 0);
后面还有 21 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
