36 lines
944 B
Nim
36 lines
944 B
Nim
|
# Copyright 2020 Mattia Giambirtone
|
||
|
#
|
||
|
# 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.
|
||
|
import meta/ast
|
||
|
import meta/errors
|
||
|
import meta/bytecode
|
||
|
|
||
|
|
||
|
import strformat
|
||
|
|
||
|
export ast
|
||
|
|
||
|
|
||
|
type
|
||
|
Serializer* = ref object
|
||
|
tree: seq[ASTNode]
|
||
|
file: string
|
||
|
chunk: Chunk
|
||
|
|
||
|
|
||
|
proc newSerializer*(tree: seq[ASTNode], file: string, chunk: Chunk): Serializer =
|
||
|
new(result)
|
||
|
result.file = file
|
||
|
result.tree = tree
|
||
|
result.chunk = chunk
|