Sha256: 27512b3bd4f8da7d3645ec04ba68ecb2aeec53e62b8f80ca012cad7aae673fc2

Contents?: true

Size: 1.18 KB

Versions: 2

Compression:

Stored size: 1.18 KB

Contents

Productions:
% grammar.productions.each do |k, v|
%  v.each do |prod|
  <%= k %> → <%= prod[:items].join(" ") %> <%= prod[:block] %>
%  end
% end

Productions, Again:
% constructor.productions.each do |production|
  <%= production.to_s(false) %>
% end

FOLLOW:
% constructor.instance_variable_get(:@follows).each do |k, v|
  <%= k %>: {<%= v.map(&:to_s).join(", ") %>}
% end

Precedence:
  --- highest
% grammar.precedence.each do |pr|
  <%= "%-8s" % pr.type %> <%= pr.level %>:
    {<%= pr.tokens.to_a.join(", ") %>}
% end
  --- lowest

Table:
% len = tableizer.table.flatten.map(&:keys).flatten.map(&:size).max
% tableizer.table.each_with_index do |v, i|
  State <%= i %>:
%   v.each do |token, action|
    <%= "%-#{len}s" % token %>: <%= action[0] %> (<%= action[1] %>)
%   end
% end
  <%# PP.pp(Hash[tableizer.table.each_with_index.to_a.map(&:reverse)], _erbout) %>

% grammar.states.each do |state|
State <%= state.id %>:
  rules:
%   state.rules.each do |rule|
    <%= rule %>
      {<%= rule.lookahead.to_a.join(", ") %>}
%   end

  transitions:
%   max = state.transitions.keys.map(&:length).max || 0
%   state.transitions.each do |on, to|
    <%= "%-#{max}s" % on %>: State <%= to.id %>
%   end

% end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
antelope-0.1.1 lib/antelope/generator/templates/output.erb
antelope-0.1.0 lib/antelope/generator/templates/output.erb