35 lines
884 B
Factor
35 lines
884 B
Factor
USING: help.markup help.syntax literals multiline sequences splitting ;
|
|
IN: compiler.cfg.instructions.syntax
|
|
|
|
<<
|
|
STRING: parse-insn-slot-specs-code
|
|
USING: compiler.cfg.instructions.syntax prettyprint splitting ;
|
|
"use: src/int-rep temp: temp/int-rep" " " split parse-insn-slot-specs .
|
|
;
|
|
|
|
STRING: parse-insn-slot-specs-result
|
|
{
|
|
T{ insn-slot-spec
|
|
{ type use }
|
|
{ name "src" }
|
|
{ rep int-rep }
|
|
}
|
|
T{ insn-slot-spec
|
|
{ type temp }
|
|
{ name "temp" }
|
|
{ rep int-rep }
|
|
}
|
|
}
|
|
;
|
|
>>
|
|
|
|
HELP: parse-insn-slot-specs
|
|
{ $values
|
|
{ "seq" "a " { $link sequence } " of tokens" }
|
|
{ "specs" "a " { $link sequence } " of " { $link insn-slot-spec } " items." }
|
|
}
|
|
{ $description "Parses a sequence of tokens into a sequence of instruction slot specifiers." }
|
|
{ $examples
|
|
{ $example $[ parse-insn-slot-specs-code parse-insn-slot-specs-result ] }
|
|
} ;
|