mirror of
https://github.com/irmen/prog8.git
synced 2024-10-18 16:24:26 +00:00
improve %zpreserved error messages
This commit is contained in:
parent
7dd2517f67
commit
fba98d03a5
@ -235,6 +235,7 @@ fun determineCompilationOptions(program: Program, compTarget: ICompilationTarget
|
|||||||
.asSequence()
|
.asSequence()
|
||||||
.filter { it is Directive && it.directive == "%zpreserved" }
|
.filter { it is Directive && it.directive == "%zpreserved" }
|
||||||
.map { (it as Directive).args }
|
.map { (it as Directive).args }
|
||||||
|
.filter { it.size==2 && it[0].int!=null && it[1].int!=null }
|
||||||
.map { it[0].int!!..it[1].int!! }
|
.map { it[0].int!!..it[1].int!! }
|
||||||
.toList()
|
.toList()
|
||||||
|
|
||||||
|
@ -676,6 +676,8 @@ internal class AstChecker(private val program: Program,
|
|||||||
err("this directive may only occur at module level")
|
err("this directive may only occur at module level")
|
||||||
if(directive.args.size!=2 || directive.args[0].int==null || directive.args[1].int==null)
|
if(directive.args.size!=2 || directive.args[0].int==null || directive.args[1].int==null)
|
||||||
err("requires two addresses (start, end)")
|
err("requires two addresses (start, end)")
|
||||||
|
if(directive.args[0].int!! > 255u || directive.args[1].int!! > 255u)
|
||||||
|
err("start and end addresss must be in Zeropage so 0..255")
|
||||||
}
|
}
|
||||||
"%address" -> {
|
"%address" -> {
|
||||||
if(directive.parent !is Module)
|
if(directive.parent !is Module)
|
||||||
|
Loading…
Reference in New Issue
Block a user