aboutsummaryrefslogtreecommitdiff
path: root/boot/parser.yy
diff options
context:
space:
mode:
Diffstat (limited to 'boot/parser.yy')
-rw-r--r--boot/parser.yy6
1 files changed, 6 insertions, 0 deletions
diff --git a/boot/parser.yy b/boot/parser.yy
index cc0a46c..f97d545 100644
--- a/boot/parser.yy
+++ b/boot/parser.yy
@@ -45,6 +45,8 @@ along with GCC; see the file COPYING3. If not see
{
public:
yy::location location;
+ /// Where the comment being scanned was opened.
+ yy::location comment_start;
lexer(std::istream& arg_yyin)
: yyFlexLexer(&arg_yyin)
@@ -167,12 +169,16 @@ along with GCC; see the file COPYING3. If not see
program:
import_part type_part variable_part procedure_part "end" "."
{
+ driver.finished = true;
+
boot::unit *tree = new boot::unit(boot::make_position(@$), $1, $2, $3, $4);
driver.tree.reset(tree);
}
| import_part type_part variable_part procedure_part
"program" "(" optional_identifiers ")" procedure_body "end" "."
{
+ driver.finished = true;
+
boot::unit *tree = new boot::unit(boot::make_position(@$), $1, $2, $3, $4,
std::move($7), boot::make_position(@5), std::move(*$9));
driver.tree.reset(tree);