#![cfg_attr(coverage_nightly, coverage(off))]
use super::ast::{
AssignmentOp, MakefileAst, MakefileNode, MakefileNodeKind, NodeData, RecipeLine,
RecipePrefixes, SourceSpan,
};
#[derive(Debug)]
pub struct MakefileParser<'src> {
input: &'src str,
cursor: usize,
line: usize,
column: usize,
errors: Vec<ParseError>,
}
#[derive(Debug, Clone)]
pub enum ParseError {
UnexpectedEof,
InvalidSyntax(String),
InvalidTarget(String),
InvalidVariable(String),
}
enum LineType {
Assignment(usize, AssignmentOp),
Rule(usize, bool), }
include!("parser_core.rs");
include!("parser_nodes.rs");
include!("parser_scanner.rs");
include!("parser_cursor.rs");
include!("parser_tests.rs");